• 0 Posts
  • 48 Comments
Joined 1 year ago
cake
Cake day: July 3rd, 2023

help-circle
  • It’s not exactly the same, but Slay the Spire scratched some of the same itch for me. It’s got the same meta-structure as FTL, but the fights use a deck-builder format. It’s really well done.

    One Step From Eden seemed like it should be even better for me, since it borrows the positional strategy stuff from the Mega Man Battle Network games, but I couldn’t get into it. Mostly I remember it being just way too fast. I really wanted to like it, but basically didn’t.

    And yeah, as someone else mentioned, Advance Wars is good, too. The thing that Into the Breach did that Advance Wars didn’t, for me, was that Advance Wars basically depended on the AI being a bit crap so that you could overcome an initial disadvantage and work up to victory. Into the Breach gets around that by making the enemy wholly predictable instead, which is arguably more fun. The only other game I know of that worked that way was an Android game called Auro, but I don’t think that’s playable anymore and I believe the dev has abandoned it. It’s a shame, as it was really well made.

    Other than that… you could try learning Go (aka igo, baduk, or weiqi). It’s a board game with very simple rules, but very deep strategy that emerges from those rules. The main disadvantage is that it’s multiplayer only, but there are puzzles, problems, and AIs you can use to turn it into a solo time killer.


  • In addition to “format shifting,” which is a well-recognized use case, and game preservation, which is a huge and under-recognized public interest in emulator development, emulators are also used for the development of homebrew software. E.g., there’s a port of Moonlight for the Switch, which lets you play Steam games streamed from a PC using your Switch, letting it serve many of the purposes of a Steam Deck. That’s huge! It would be way less practical to develop this kind of software if you could only test on real hardware. Testing on real hardware is also essential, of course, but testing on an emulator is vastly faster for rapid iteration.





  • I kind of disagree about AI, I guess.

    I do think it’s a valuable tool, but honestly there’s not a ton that it does that you couldn’t already do with an asset store. And there’s a fair amount of risk associated with using AI in the near term. Folks already have a lot of qualms about the ethics of how those AIs were trained. And the first games that come out that rely heavily on AI are likely to be really janky–there are devs who will have tried to entirely replace a role on the team with AI, and the quality will suffer as a result. So I think in the near term there’s going to be a pretty severe backlash against AI-generated stuff in games. Folks will say it all feels generic and low-effort; it’ll be the new “asset flip.”

    Long-term, I think it will have a place in the workflow for sure, the same way that store-bought assets do; you’ll just need to adapt them to fit in with the feeling you’re going for in your game, and hand-revise some things. But near-term, I think there will be a lot of folks who lose interest in a game if they find out there’s AI involved. And that goes triple for AI voice acting. A bad human voice actor can at least be interesting, but AI has that uncanny valley quality that really turns people off once they notice it.


  • I think it’s going to get even better in the next few years, too. The tools for 3d modeling are poised to improve in a way that makes it dramatically easier to create very high quality graphics. Nanite is one component of this, reducing the need for multiple levels of detail in polygon-based rendering. But 3d reality capture is improving too, both thanks to hardware like depth sensors and software like Gaussian splatting and NeRFs.

    Indie games are just going to keep getting better, basically. As will AA games. I think the days of the AAA blockbuster may be numbered.



  • I had a similar issue on my Pixel 6, where I’m using Nova launcher. (I know they changed hands and are not great now, but it’s still more usable than the Pixel Launcher.) There the solution was to go into the Apps settings, find Pixel Launcher, and choose force stop, then clear cache, then clear settings. Apparently there was some bug in Android 14 causing both launchers to try to intercept the “recent apps” press, and it caused it to hang like that.

    Obviously that’s not going to be exactly the same issue on your phone, since presumably Pixel Launcher isn’t on there, but maybe doing the “force stop, clear cache, clear storage” on the default launcher on your phone would help?



  • You know that the other two words also exist though, right? Like, you can effect change in an organization, and there can be something strange in the affect of a psychopath. So there’s a verb “to effect” and a noun “affect” (although here the pronunciation is different–the accent is on the first syllable). It’s true that the most common usages follow the rules you’re laying out, but it genuinely is an oversimplification.


  • It looks to me like they did it this way so that it could have natural-language names in many languages. So, the function Z10096 is called “is palindrome” in English, but if you’re coding in Japanese you can call it “回文の判定”. I don’t think the idea is for people to refer primarily to the alphanumeric soup version; I think that’s just the unique identifier for the database.

    It does look like it’s leading to some issues, though. E.g., someone added a test for the “is palindrome” function which uses a somewhat common example: “Straw? No, too stupid. I put soot on warts.” Now, a human would probably say that this is a palindrome, because it’s got the same letters forwards and backwards, but most of the implementations disagree, because they consider the spaces, capitalization, and punctuation to be part of the string; that is, they test whether the input string and its reverse are equal. So someone (possibly the same person) has added a second python implementation which ignores spaces, capitalization, and punctuation, and mentions that in its name on the page.

    Fundamentally this function is solving a different problem than the others (as demonstrated by the differing results on the relevant test), so should it get its own number and page? should there be a “palindrome disambiguation” page? This seems like something the site will have to figure out how to handle.



  • Turbo Pascal was the first language in which I had serious classes (I had tutoring in Applesoft Basic earlier on, but that language has a lot of limitations), and I used it for years afterwards. You could write auxiliary functions in Turbo Assembler and link them in; I used that to write a library that allowed access to the 320x200 256-color VGA mode (the built-in graphics only did EGA and were super slow), and other libraries for mouse and joystick control. I tried to control the soundblaster for FM synthesis, but it was too complicated for me to figure out how to do anything useful without better access to documentation (this was before the world wide web). The experience also taught me a lot about assembly language basics, function calling conventions for C and Pascal, stack manipulation, and so forth, which gave me a huge head start in my compilers courses at university.

    On the whole I would still recommend C over Pascal as an early language–it gives you much better insight into memory layout and so forth, where Pascal kind of obfuscates such things, and C just generally kind of acts like both Pascal and Assembler rolled together. But Turbo Pascal definitely gave me a good foundation.