other high-level languages like C or C++
How times have changed...
other high-level languages like C or C++
How times have changed...
I know the OpenTTD folks have been trying to deflect any ire from being directed at Atari, but man... fuck Atari for forcing them off of Steam and GOG. I really don't think they have any legal leg to stand on and are just saber rattling to scare the OpenTTD folks into submission.
Running OpenRCT2 on a Raspberry Pi is probably one of my favorite pastimes. It’s such an incredibly well-crafted game that it will run on nearly anything.
I've been playing the Android port of OpenTTD, on an old and slow tablet. Input is a bit clunky, but tolerable.
Although, strictly speaking, the performance of OpenTTD and OpenRCT2 doesn't follow from the original being so streamlined — seeing as they're both reimplementations in C/C++.
I've been playing it on my potato tablet that I revived with Linux recently. It's basically the only game that runs on it. Well, only thing better than Solitaire or Mahjongg. It's really impressive, takes me back to my Compaq LTE 5300 and playing RCT when it was new.
I seem to remember some chess game that was written that accounted for the memory drum hardware that used it which i would think would be the gold standard... might be this one https://en.wikipedia.org/wiki/1K_ZX_Chess
Drum memory predates the Sinclair by quite a while. But there is an often repeated story involving an impossibly-optimised Blackjack program for a drum memory computer called "The Story of Mel, a Real Programmer".
Sorry for nitpicking, but the notion of Sinclair ZX81 ever using drum memory is rather comical — seeing as the latter is quite a humongous hunk of junk.
Btw the optimization for random walking of park guests makes for kinda shitty gameplay. Parks aren't designed at all like real parks, and transportation rides are almost useless. It's impressive for its time, yes, but the park simulation only visually looks good enough, it's not really good enough.
If you play it like a model building game (not a theme park simulator) then it's almost perfect.
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.
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
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...
Link without the pp (ie tracking): https://youtube.com/watch?v=lC4YLMLar5I
I dunno, I'm sort of underwhelmed.
This is all fairly basic stuff I would hope any game dev would be aware of.
"Allow them to phase through each other" and this is why our IRL simulation has ghosts
This is all fairly basic stuff I would hope any game dev would be aware of.
The article was written for people who aren't game devs.
Programmer friend years ago broke it down for me like this. Yes, he did it in assembly, but similar to all computer things; he used large chunks of copy pasta. In no way does it diminish the achievement. But for layman, hearing that it was all written in machine code conjured images of vacuum tubes and Margaret Hamilton standing next to a literal person sized stack of typed pages. He moved mountains efficiently and intelligently with clever acumen. A real feat!
Now if you will excuse me, a handyman is drowning.
Is assembly code really comparable to vacuum tubes? Maybe it's because I work with video, but usage of assembly is still a thing in performance critical Codec code.
P.S. I think machine code is a step below assembly. I could be wrong though.
Assembly is the 'human-readable' version. It has mnemonic values for the opcodes, so you can write eg. RET to return from a subroutine rather than the machine code 0xC3 / 195. It also lets you write named labels for offsets in the code which are substituted for their number values during assembly, which saves a lot of tedious counting, and macros, which are expanded into a longer list of instructions, saving lots of copy-paste.
So yeah, machine code is a step down. Not a big step down, there's pretty much a 1:1 conversion between either form, but assembly has a couple of niceties that make it much easier for humans to work with.
no comments (yet)