• 0 Posts
  • 17 Comments
Joined 2 months ago
cake
Cake day: August 31st, 2025

help-circle


  • What on earth did you run on a DS and windows? I’m curious!

    A homebrew game, of course! Well, more like a game engine demo. Making game engines is more fun than making games.

    I’m not sure why you find it so hard to believe, as it’s pretty straight-forward to build a game on top of APIs like

    void DrawRectangle(...);
    void DrawSprite(...);
    

    Then implement them differently on each target platform.

    BTW we used hard coded in memory structures, not serialising stuff, you’d have a hard time doing that perfectly well on the DS IMO.

    You mean embedded binary data? That’s still serialization, except you’re using the compiler as your serializer. Modern serialization frameworks usually have a DSL that mimics C struct declarations, and it’s not a coincidence. Look up any zero-copy serialization tool and you’ll find that they’re all basically trying to accomplish the same thing: load a binary blob directly into a native C struct, but do it portably (which embedded binary data is not)

    As for understanding your data, you need to know the size of the int on your system to set up the infamous INT32 to begin with!

    Nah, that’s what int32_t is for. The people who built the toolchain did that for me.



  • I think the general path to enlightenment looks like this (in order of experience):

    1. Learn about patterns and try to apply all of them all the time
    2. Don’t use any patterns ever, and just go with a “lightweight architecture”
    3. Realize that both extremes are wrong, and focus on finding appropriate middle ground in each situation using your past experiences (aka, be an engineer rather than a code monkey)

    Eventually, you’ll end up “rediscovering” some parts of SOLID on your own, applying them appropriately, and not even realize it.

    Generally, the larger the code base and/or team (which are usually correlated), the more that strict patterns and “best practices” can have a positive impact. Sometimes you need them because those patterns help wrangle complexity, other times it’s because they help limit the amount of damage incompetent teammates can do.

    But regardless, I want to point something out:

    the more these doubts are increasing and leading me to believe that most of it is just dogma that has gone far beyond its initial motivations and goals and is now just a mindless OOP circlejerk.

    This attitude is a problem. It’s an attitude of ignorance, and it’s an easy hole to fall into, but difficult to get out of. Nobody is “circlejerking OOP”. You’re making up a strawman to disregard something you failed at (eg successful application of SOLID principles). Instead, perform some introspection and try to analyze why you didn’t like it without emotional language. Imagine you’re writing a postmortem for an audience of colleagues.

    I’m not saying to use SOLID principles, but drop that attitude. You don’t want to end up like those annoying guys who discovered their first native programming language, followed a Vulkan tutorial, and now act like they’re on the forefront of human endeavor because they imported a GLTF model into their “game engine” using assimp…

    A better attitude will make you a better engineer in the long run :)



  • Take away his other toys lol

    Idk what got me into it, but I do remember that I would frequently play around with MS Paint at my mom’s workplace when I was very young. I don’t remember how frequent my trips to her job were, but obviously I didn’t have anything else to do while there. So when we finally got our own computer at home, I immediately knew what I wanted to do on it. From that point I would start learning more and more.

    I don’t have kids, but lots of young children in my family. I’ve tried getting them into computers too, but they also seem scared of them. I think where I went wrong was trying to show off all the cool things it can do too quickly, as they might have gotten intimidated by the arcane rituals I did to make them happen.

    Regarding games, idk. My first exposure to games was on consoles, and I didn’t play any PC games until we got internet at home and I stumbled across flash sites. I remember spending WAY more time looking for funny videos/animations than games.

    So… I have no real suggestions, just a few personal anecdotes.




  • Most light themes I’ve encountered don’t seem to grasp the concept of ‘contrast’. I bet if you were to survey light theme users, you’d find that most of them have nonstandard/weird settings on their monitors. Chrome dev tools, Xcode, and Visual Studio’s light themes are all great though, as they have proper contrast and don’t look like rainbow vomit.

    But one other issue with light themes is that for some people (myself included), it makes ‘eye floaters’ stand out more. I’m fortunate that my case isn’t terrible, but I can see it being a serious problem for some people, especially older developers.




  • While they do not leak memory like crazy, they hog a lot and people accept it.

    They do not leak memory at all. Using a lot of memory is not the same as leaking memory. And from a practical perspective, it doesn’t really matter if a calculator app on iOS uses a gigabyte or three of RAM, as the amount of multi-tasking a user can do on a phone is severely limited, and the operating system kills background apps when it needs to reclaim memory for the foreground.

    The bigger problem are many “smol” programs are written without performance in mind at all

    Do you have specific examples of this? The iOS calculator sucks, but it does not have performance problems. People who think every piece of software needs to be hyper-optimized are either unemployed (or should be) as they don’t get any work done, or they just don’t practice what they preach. IME, it’s usually beginners/novices who discovered what a “native” language is, like C++ or Rust, and are going through a phase. None of those people know how to actually optimize a program, haven’t even heard of Compiler Explorer, think “MESI” is a soccer player, and probably know more about TUI frameworks than profiling ones.


  • American Big Tech is the world leader because they employee and train the best engineers in the world

    OR

    American Big Tech is the world leader because they employee illegal anti-competitive business practices and bribe/lobby US officials to not stop them

    It’s obvious which is correct. All of big tech has been leaking competence for a long time, and this AI frenzy is only accelerating it. The solution to these problems is to enforce the law and break them up, as smaller companies can’t survive by being incompetent, and can’t afford to compensate engineers with ridiculous salaries/inflated stock just to prevent them from joining/launching a competitor (or in the case of big tech, using illegal agreements to not poach from each other).

    The worst part is that even if this problem reaches its apex, and some/all of these companies start to fail, the market won’t correct itself. I can already see the government bailing them out so they can keep doing the same shit.