• 0 Posts
  • 26 Comments
Joined 2 years ago
cake
Cake day: July 5th, 2023

help-circle
rss
  • Yeah, I wasn’t a fan of the visual scripting, but I do consider composing nodes in the editor, connecting signals, modifying field values with sliders, having global variables in a separate editor, visual curve editors, file managers, etc. to be a form of visual scripting by a different name, and I do quite like that.

    I’ve been curious how this sort of editor would work for non-game code, like making a CLI in C, C++, Kotlin, etc. Where you primarily interact with nodes and inspectors for data organization and scripts for behaviour implementation. I need to go back to Smalltalk to see some of the ideas there for alternative code organization structures.


  • Maybe I’m an old fogey, but I usually hear more pushback against visual languages as being too finicky to actually create anything with and I usually advocate for a blending of them, like working in Godot and having nodes to organize behaviour but written scripts to implement it.

    I really appreciate the talks from Bret Victor, like Inventing on Principle (https://youtu.be/PUv66718DII), where he makes some great points about what sorts of things our tooling, in addition to the language, could do to offload some of the cognitive load while coding. I think it’s a great direction to be thinking, where it’s feasible anyways.

    Also, one reason folks new to programming at least struggle with text code is that they don’t have the patterns built up. When you’re experienced and look at a block of code, you usually don’t see each keyword, you see the concept. You see a list comprehension in Python and instantly go “Oh it’s a filter”, or you see a nested loop and go “Oh it’s doing a row/column traversal of a 2d matrix”. A newbie just sees symbols and keywords and pieces each one together individually.



  • I can appreciate that. Arguably these folks might be more likely to vote because they aren’t stuck in the mud of nuance, answers they see are more clear and obvious and the other ones may as well not exist. Not contemplation of what they don’t know, in a way.

    But - on the other hand, as mentioned we can’t really pick who votes without opening Pandora’s Box - and the best thing we can do is not to punish, but to rehabilitate. To model stronger behaviours, to identify why they behave in this way, and to try to help them build stronger critical thinking skills. Punishment is polarizing.

    Fun, maybe related note: I’ve researched some more classical AI approaches and took classes with some greats in the field whom are now my colleagues. One of which has many children who are absurdly successful globally, every one of them. He mathematically proved that (at least this form of AI) when you reward good behaviour and punish bad behaviour (correct responses, incorrect responses), the AI takes much longer to learn and spends a long time stuck on certain correct points and fails to, or takes a long time to, develop a varied strategy. If you just reward correct responses and don’t punish incorrect responses, the AI builds a much stronger model for answering a variety of questions. He said he applied that thinking to his kids, too, to what he considered a great success.

    I think there’s something to that, and I’ve seen it in my own teaching, but the difficulty now has been getting students with this mindset to even try to get something correct or incorrect in the first place, so they just… Give up, or only kick into action after it’s too late and they don’t know how to handle it at that stage because they didn’t learn. Inaction is often the worst action, as it kills any hope of learning or building the skills of learning.


  • Yeah, this point about really needing time is pretty real. I recently came to the conclusion that some folks really just need to retake the core courses multiple times (and seeing if we can change this pattern) because it just takes them a long time to unlearn helplessness in the field and adapt.

    And absolutely, as you’ve said, I find those who do adapt go from someone taking our most basic course three times to becoming a top student. Those who don’t adapt fall to cheating and/or dropping out. I usually have about 500-800 students per term, and with about 20-30% falling into this category with more each year, one-on-one interventions are rare and you usually only catch them on their second time around once they finally heed our requests to come talk to us.

    I’d be curious what other fields work with this so I could go read some papers or other materials on these mindsets, it sounds like there is quite an overlap to what we’ve been experiencing, I appreciate these insights!

    Edit: Oh, and adding that I’ve spoken to some researchers in trauma informed education and I imagine the overlap here is high in terms of approach - recognizing how different behaviours can be linked to trauma and considering the approaches that can be taken to ease them back into stronger academic habits. It’s been a while since my talks, but this could spark some more, as I hadn’t quite connected the rote memorizes to this. Seems quite feasible for at least a subset.


  • Yeah, you can feel it pretty quickly in an interaction. I like how the other comment put it, where it seems like they are stuck in rote memory mode. Having a list of facts in their head but no connections between them, no big picture capability. I recently had a student who seemingly refused to read the six bullet points describing a problem, and couldn’t comprehend that they described requirements, not step-by-step instructions. Without step-by-step instructions, this group flounders, and what should be insignificant details stand out as blockades they can’t get past because they can’t distinguish the roles of the details.

    Reasoning blindness is an interesting term for it. Bloom’s taxonomy of learning, which has its controversies, stands out to me here; it’s like they are stuck at recall problems, maybe moving up to understanding a little bit but unable to get into using knowledge in new circumstances, connecting them, or being able to argue points. It works well for certain testing, it’s a great skill to be particularly astute in for many lines of work, but it really is a critical thinking nightmare.



  • I was once teaching a student introductory programming when I was in my undergrad.

    The problem was to draw two circles on the screen of different colours and detect when the mouse is inside of one.

    I said, “So our goal is simple: Let’s draw a circle somewhere on the screen. Consider what you’d tell me as a human - I’ve got the pencil, and you want to tell me to draw a circle of a certain size somewhere on this paper. We have three functions. Calling a function will draw a shape. Each function draws a different shape. We have rect(), circle(), and line(). Which of these sounds like the one we want to use? Which would get me to draw the correct shape?”

    “… Rect?” “Why?” “It draws a shape.” “What shape would rect draw?” “I don’t know.” “Guess.” “A circle?” “Why do you think that?” “We need to draw a circle.” “If I said that rect draws a rectangle, which of the three functions would we want to use then, to draw our picture?” “Rect?”

    I’ve now been teaching for many years, and those situations still come up a lot. When I put up a poll in class, with the answer still written on the board, about 25% of people in a 100+ student class will get it wrong - of people who were not only admitted to a competitive university program, but have passed multiple prerequisite courses to be here.

    Not only is it unknown gaps in knowledge, there is just a thought process I haven’t been able to crack through that some people really can’t see what is immediately before them.


  • Yeah, that’s definitely the way to see it, and as that I think it’s great. I think it might overload the term dark patterns a bit too much, and would have liked to have seen a different name used (as a game design academic), but I absolutely agree with and appreciate the approach otherwise.

    Edit to include, I guess why I have that hesitation with an example - I couldn’t link this in a class I’m teaching without loads of caveats because suddenly 80% of the curriculum gets seen as abusive when it’s really just experience design and explain the grey (which we do, so this is quite helpful for that particular purpose), and I would need to caveat that when they see the term out in the wild it will be used differently.


  • All I’m commenting on, as a game design researched and professor, is that it’s an established term in a discipline which means something else to those actually within the discipline. These are still patterns, and they can absolutely be harmful patterns, but the terminology is being overloaded and there is some interesting nuance within it.

    Also, just to comment on the last quip there, and yes - to those I’ve spoken to, they are okay with those because they (being actively involved in the industry) know more than most people to educate and supervise and ensure that playing games with these patterns doesn’t turn into harmful behaviours. They also call them out for what they are - often, very bad design.

    I guess that’s really the line they drew - these patterns are more gray than the examples they presented. Most are good sometimes and terrible other times depending on how it is used. The term “dark patterns” as used professionally refers to always bad, always deceptive, always harmful. I do like having that line, even if it means the dark side is a much smaller subset of the greater space, then you can easily say, “If this uses a single dark pattern, it’s out. If it uses a lot of ‘grey’ patterns, be cautious. If it’s nothing but grey patterns, it’s purely abusive trash.”


  • Interesting. I was chatting with a lot of big name AAA designers and indie designers discussing dark patterns, and they’ve got a very different opinion on what constitutes a dark pattern. To them, largely, it needs to be more technical deception - like having a fake “X” button, or immediately popping up an ad over where a button was to trick you into clicking it, or bait-and-switching pricing before the user notices.

    I tried to raise these kinds of patterns as problematic, and it was a mixed bag. The general vibe from them was that they’d only call it a dark pattern if it deceives the player to get more money than they were prepared to spend (or similar for ads). If the player knows what they’re getting into, and they are presented with a choice to stop or continue, it’s on them.

    And I’ll admit, while I don’t go that far (and there were designers in both camps), I can at least understand how all game design is manipulation, in the same way that teaching and storytelling is manipulation, and drawing the lines can be very hard. Your job is to convince the player that they are having fun and want to keep playing. Resources in a game have no real value, only valued by the scarcity and utility of them, which the designer intentionally assigns to convince the player it’s more or less valuable.

    Curiously, the examples listed in the OP were exactly the patterns I see designers discuss, but don’t seem to be the patterns on the website (like “illusion of control”, artificial scarcity, which is like, game designs while thing).

    Either way, nice to have this as a resource because honestly a lot of these elements are what I’d put in the “bad / abusive design” category rather than purely dark patterns, but still great to highlight, but I can agree that we should probably be careful blanket calling these dark patterns; examples: It mentions illusion of control being separating you into shards of leader boards so that you can be in the top 500 of a shard rather than top 200,000 world ranking or whatever, or claw machines choosing whether you successfully grab an item rather than relying on skill. How does this compare to Uncharted not letting enemies successfully shoot you in the first few seconds of an action sequence to give you time to ground yourself, or Resident Evil spawning different loot and enemies based on how good/bad you play?

    I’d say, is it to extract money from you in the short term, but it’s more grey than a non-designer might read into from lists like these.


  • Not to fully argue against your point, but I do want to push back on the citations bit. Given the way an LLM is trained, it’s not really close to equivalent to me citing papers researched for a paper. That would be more akin to asking me to cite every piece of written or verbal media I’ve ever encountered as they all contributed in some small way to way that the words were formulated here.

    Now, if specific data were injected into the prompt, or maybe if it was fine-tuned on a small subset of highly specific data, I would agree those should be cited as they are being accessed more verbatim. The whole “magic” of LLMs was that it needed to cross a threshold of data, combined with the attentional mechanism, and then the network was pretty suddenly able to maintain coherent sentences structure. It was only with loads of varied data from many different sources that this really emerged.




  • My two cents, after years of Markdown (and md to PDF solutions) and LaTeX and a full two years of trying to commit to bashing my head against Word for work purposes, I’m really enjoying Typst. It didn’t take long to convert my themes, having docs I can import which are basically just variables to share across documents in a folder has been really helpful. Haven’t gone too deep into it but I’m excited to give it a deeper test run over the next little bit.


  • Lots of immediate hate for AI, but I’m all for local AI if they keep that direction. Small models are getting really impressive, and if they have smaller, fine-tuned, specific-purpose AI over the “general purpose” LLMs, they’d be much more efficient at their jobs. I’ve been rocking local LLMs for a while and they’ve been great as a small compliment to language processing tasks in my coding.

    Good text-to-speech, page summarization, contextual content blocking, translation, bias/sentiment detection, click bait detection, article re-titling, I’m sure there’s many great use cases. And purely speculation,but many traditional non-llm techniques might be able to included here that were overlooked because nobody cared about AI features, that could be super lightweight and still helpful.

    If it goes fully remote AI, it loses a lot of privacy cred, and positions itself really similarly to where everyone else is. From a financial perspective, bandwagoning on AI in the browser but “we won’t send your data anywhere” seems like a trendy, but potentially helpful and effective way to bring in a demographic interested in it without sacrificing principles.

    But there’s a lot of speculation in this comment. Mozilla’s done a lot for FOSS, and I get they need monetization outside of Google, but hopefully it doesn’t lead things astray too hard.


  • I get both sides of the argument here. I think we need to have this big reaction because companies have held so much power over employees for so long - I’ll avoid ranting about worker-owned cooperatives here - but the past few years I’ve surprised myself by moving into a bit of a “slippery slope” camp with these things. Not to say it shouldn’t happen, but that we need to be prepared for the follow-up.

    Hopefully related example, in education: There were some really big push backs recently where I am over bad treatment of the students in highschool, all legit. The school board ignored it for a long time, it got bad, they finally took it seriously. Then they overcorrected and stopped believing teachers at all and started jumping straight to firing at almost any complaint. Then students started weaponizing complaints, and now teachers are getting fired for trying to enforce deadlines and for giving low marks because students are complaining about how deadlines, grades, and meeting grading requirements are detrimental to mental health and well-being, and now there are a bunch of these students from this board in my university classes failing hard and filing complaints about courses being too difficult and other things despite them having glowing reviews just a few years prior.

    I guess what I’m getting at: I think it’s fair for someone to choose not to hire people like this because it’s possible that the people willing to stand up and make an important fuss over these things might not know where the line stands between a worthwhile complaint and a non-worthwhile one, and might make a company look badexternally even though it’s doing good internally, just not to someone new to the workforce’s expectations.

    I also think it’s fair to go the opposite direction, because ultimately we need major change in the way companies/everything are structured that lead to these nasty layoffs and poor conditions and if someone does raise issues where there aren’t, hopefully we are prepared enough and in the right enough to take it seriously, but weather it and act in everyone’s best interests.