all 18 comments

sorted by: hot top controversial new old
[–] 44 points 4 months ago (1 child)

Interesting article! You should cross-post to some retro gaming communities, I'm sure they'd love it. I still never okayed this game as it came out when there was too much heat in Sims in the 90s, but probably would have enjoyed it more than some of the sim games I did play.

  • source
  • hideshow 1 child comment
  • [–] 30 points 4 months ago* (2 children)

    If you are into game optimization tricks you might like this video: https://m.youtube.com/watch?v=lC4YLMLar5I&pp=ygUhdGhlIGdhbWUgdGhhdCBjb3VsZG4ndCBiZSB3cml0dGVu

    It's about the original Elite, and all tricks needed to create a full virtual galaxy on 8 bit computers

  • source
  • hideshow 2 child comments
  • [–] 5 points 4 months ago

    That looks indeed awesome. I didn't know Elite was developed for the BBC Micro... 22 kB for a 3D open-world fighting/trading/mining flight simulator using only 8-bit integer addition operations. I had no idea...

  • source
  • parent
  • [–] 28 points 4 months ago (3 children)

    It is actually very interesting to see what your code actually causes on the CPU. Nowadays you have quite large instruction sets which help you with many operations what were manual in the past. But even then, you at this point you start counting CPU cycles. Back then, a multiplication by 4, written in C, probably resulted in using 4 CPU cycles of additions, instead of just shifting the bits 2 places left in one cycle. So you just saved 3 cycles. Sounds like nothing, but with only one core at 33MHz and hundreds of such calculations, it will have a much larger impact.

  • source
  • hideshow 3 child comments
  • [–] 6 points 4 months ago

    I started studying "technical IT" for two years before changing to a less technical version that I ended up enjoying more (physics is fun to learn, but I don't wanna calculate that shit).

    One of the most valuable things to come out of it is one class where we worked our way up all the way from logic gates to the functions of an ALU and a rough look at CPUs and memory architecture. Probably would have gone deeper in a follow-up class I never ended up taking.
    Point of the course was that one of the focus options for that course featured micro-controllers and embedded systems, including low-level optimisation (the typical memory constraints might be getting more lax, but learning it isn't a bad idea).

    I don't remember most of the details, I'm afraid, but it was an interesting insight into the things I take for granted when working in higher level languages.

  • source
  • parent
  • [–] 4 points 4 months ago (1 child)

    Citation needed! Processors have had multiplication in silicon since forever, and compiler writers aren't stupid. You can even check on https://godbolt.org/ with old versions. I bet you can't find a compiler from 1999 that won't optimize an unsigned integer multiply to a bit shift without turning off optimisations.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 5 points 4 months ago

    C existed for almost a decade, before they added this specific optimization to compilers in late 1970

    I was not referencing particularly RCT and was just trying to explain, what optimizations mean on that level, be it automatic or manual.

  • source
  • parent
  • [–] 24 points 4 months ago (3 children)

    I dunno, I'm sort of underwhelmed.

    • use the smallest data type you need for a given purpose (which you don't really need to worry about on modern hardware for integer types)
    • use bitwise arithmetic when possible
    • use fake pathfinding when possible (in this case random walk), and when not possible, limit search depth
    • don't do collision detection on thousands of guests; allow them to phase through each other

    This is all fairly basic stuff I would hope any game dev would be aware of.

  • source
  • hideshow 3 child comments
  • [–] 5 points 4 months ago*

    I want to optimize MR BONES WILD RIDE

  • source
  • RCT made my night classes in 2003 tolerable.

  • source
  • [+] 3 points 4 months ago (2 children)