Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)MP
magic_lobster_party @ magic_lobster_party @kbin.run
Posts
1
Comments
624
Joined
1 yr. ago

  • Faster compilation is probably nice, but making a new language with all its tooling from scratch is a huge endeavor. Props to him for actually doing it.

    The problem is that all this work takes away time from the actual game development. I’m not sure about the scope of his next game, but from what I’ve seen I don’t really understand why his Sokoban adventure game can’t be made in Unity. I don’t think he’s pushing any hardware limits with it.

    Unity also got hot reloading nowadays, which is about as fast iteration you can get.

    I’m just armchair guessing, but I believe he would’ve been done with his game by now if he just used Unity.

  • Or just test the damn thing before shipping it to customers. That’s standard practice in the software industry.

    If they had just installed it on one of their own Windows machines, none of this would’ve happened.

  • Risks are normally outside the reasonable control of the company. For example, sales not hitting the target. They can’t just press a button and up goes the sales.

    This was entirely within the company’s control. That risk shouldn’t ever be there at all. They could’ve avoided the entire situation if they chose not to ship the faulty software.

  • I believe it was a desperate attempt to get a new source of revenue. His upcoming Sokoban game is taking forever to make, so it’s not going to bring them any new revenue anytime soon. In large part because he made the arcane decision to create a new programming language for it (as a replacement for C++), because apparently Sokoban is the type of game where you really need that high performance.

  • Haven’t properly watched the videos, but I don’t think OOP is that bad. I even think encapsulation is one of the core strengths of OOP.

    I’ve worked with systems where no thought was put into encapsulation, and those are often incredibly difficult to work with because everything is heavily interconnected. Can’t make a change in a small thing without risking breaking something else at the other side of the program.

    I like to see encapsulation as a workspace. It defines the tools we have direct access to. Changing one thing in a workspace shouldn’t affect anything on the other side of the program. Makes it much easier to collaborate in large teams. Minimizes the risk of interfering each other’s work.

  • I think applying design patterns blindly without understanding what problems they’re supposed to solve is often more harmful than not using them. It can lead to difficult to manage code bases because the program is over engineered for problems that don’t exist.

    My general rule of thumb is to write code that can be easily adapted to unexpected changes in requirements. Avoid writing code that paints yourself into a corner. Simple solutions are often easier to work with than complex solutions. If what you’re doing adds a lot of complexity, take a step back and seek other options. Maybe you’re overlooking an obviously simple solution to the problem?

    I think inheritance almost always has this “painting yourself into the corner” tendency. Once the design is set, it’s often difficult to break free from it. Composition along with interfaces is generally the better choice. Often not even interfaces are needed.

    This comes with experience. You learn what works, and what doesn’t. Often you do it the hard way.

    Databases are tricky. I have no good advice for that.