• 0 Posts
  • 13 Comments
Joined 1 year ago
cake
Cake day: July 5th, 2023

help-circle
  • 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.


  • I think he’s basically saying that it’s racist to “artificially” integrate communities, because (I think he’s saying) if they need to be integrated, then that’s the same as saying that black folks are necessarily inferior. I don’t think he’s trying to say they’re inferior, but that laws forcing integration are based on that assumption. So he can be well educated and successful because he isn’t inherently inferior, therefore there is no need for forced integration.

    … Which is such a weird stretch of naturalism in a direction I wasn’t ready for. Naturalist BS is usually, “X deserves fewer rights because they are naturally inferior”, whereas this is “We should ignore historical circumstances because X is not naturally inferior”.

    Start a game of monopoly after three other players have already gone around the board 10 times and created lots of rules explicitly preventing you from playing how they did and see how much the argument of “well, to give you any kind of advantage here would just be stating you’re inferior, and we can’t do that.”

    Man probably got angry at his golf handicap making him feel inferior and took things too far. Among other things.



  • 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 sit somewhere tangential on this - I think Bret Victor’s thoughts are valid here, or my interpretation of them - that we need to start revisiting our tooling. Our IDEs should be doing a lot more heavy lifting to suit our needs and reduce the amount of cognitive load that’s better suited for the computer anyways. I get it’s not as valid here as other use cases, but there’s some room for improvements.

    Having it in separate functions is more testable and maintainable and more readable when we’re thinking about control flow. Sometimes we want to look at a function and understand the nuts and bolts and sometimes we just want to know the overall flow. Why can’t we swap between views and inline the functions in our IDE when we want to see the full flow? In fact, why can’t we see the function inline but with the parameter variables replaced by passed values to get a feel for how the function will flow and compute what can be easily computed (assuming no global state)?

    I could be completely off base, but more and more recently - especially after years of teaching introductory programming - I’m leaning more toward the idea that our IDEs should be doubling down on taking advantage of language features, live computation, and co-operating with our coding style… and not just OOP. I’d love to hear some places that I might be overlooking. Maybe this is all a moot point, but I think code design and tooling should go hand in hand.


  • It depends what “From Scratch” means to you, as I don’t know your level of programming or interests, because you could be talking about making a game from beginning to end, and you could be talking about…

    • Using a general purpose game engine (Unity, Godot, Unreal) and pre-made assets (e.g., Unity Asset Store, Epic Marketplace)?
    • Using a general purpose game engine almost purely as a rendering+input engine with a nice user interface and building your own engine overtop of that
    • Using frameworks for user input and rendering images, but not necessarily ones built for games, so they’re more general purpose and you’ll need to write a lot of game code to put it all together into your own engine before you even starting “Making the game”, but offer extreme control over every piece so that you can make something very strange and experimental, but lots of technical overhead before you get started
    • Writing your own frameworks for handling user input and rendering images… that same as previous, but you’ll spend 99% of your time trying to rewrite the wheel and get it to go as fast as any off the shelf replacement

    If you’re new to programming and just want to make a game, consider Godot with GDScript - here’s a guide created in Godot to learn GDScript interactively with no programming experience. GDScript is like Python, a very widely used language outside of games, but it is exclusive to Godot so you’ll need to transfer it. You can also use C# in Godot, but it’s a bigger learning curve, though it is very general and used in a lot of games.

    I’m a big Godot fan, but Unity and Unreal Engine are solid. Unreal might have a steeper learning curve, Godot is a free and open-source project with a nice community but it doesn’t have the extensive userbase and forum repository of Unity and Unreal, Unity is so widely used there’s lots of info out there.

    If you did want to go really from scratch, you can try using something like Pygame in Python or Processing in Java, which are entirely code-created (no user interface) but offer lots of helpful functionality for making games purely from code. Very flexible. That said, they’ll often run slow, they’ll take more time to get started on a project, and you’ll very quickly hit a ceiling for how much you can realistically do in them before anything practical.

    If you want to go a bit lower, C++ with SDL2, learning OpenGL, and learning about how games are rendered and all that is great - it will be fast, and you’ll learn the skills to modify Godot, Unreal, etc. to do anything you’d like, but similar caveats to previous; there’s likely a low ceiling for the quality you’ll be able to put out and high overhead to get started on a project.



  • Yeah, I think framing it similar to the old days might help, but I could be wrong. Like, you aren’t signing up for (just to web-equivalent) PHP Fusion or something, you’re signing up for your gaming clan’s forum, or your roleplay group, or your Canadian phreak BB. The difference with Lemmy is just that you also indirectly sign up to receive content from a lot of other places using the same protocol.

    IMO, I think the framing/abstraction will make or break the future of the paradigm for mainstream consumption. Not to get into another repeat of the EEE discussion, but assuming nothing nefarious from something like Threads, that would mean people start an account there and then find a niche group with their friends to go hang out on instead.

    I also have to push back against the pushback against the paradigm going mainstream, because again IMO a move back toward decentralized platforms is really important for the future of the internet and quite frankly the global economy.

    Just editing to expand, but I think maybe there’s a problem in framing Lemmy or Mastodon as communities in themselves, because it really conflicts with the model of instancing and email that is being used to describe them.