top | item 47077366

(no title)

solarisos | 10 days ago

There is something incredibly refreshing about looking at C64 optimizations. Today we throw gigabytes of RAM at simple CRUD apps, while these developers were counting every single cycle and byte. It’s a good reminder that 'efficiency' used to be a core requirement, not an afterthought.

discuss

order

dwd|10 days ago

Chris Wild who ported the Lords of Midnight to the PC, and then later worked with Mike Singleton to create versions for Android/iOS that were unfortunately only published after Mike's passing away, put together this series of articles about the optimisations Singleton used to squeeze so much into the limited memory of the ZX Spectrum and C64.

If I remember correctly Chris ported from the Spectrum. The data structures are particularly interesting using tokens/lookup tables to compress the data as much as possible.

https://www.icemark.com/tower/index.html

Also some notes on Doomdark's Revenge where Singleton managed to create a bigger map and feature more characters.

https://www.icemark.com/gate/index.html

stronglikedan|10 days ago

There was no such thing as premature optimization back then.

solarisos|10 days ago

Exactly. When your total memory is 64KB, all optimization is mature optimization.

It's a fascinating contrast to the modern 'move fast and break things' approach. Back then, if your routine was 3 cycles too slow, the sprite didn't just 'lag'—the entire raster effect collapsed. There was a level of deterministic discipline that we've largely abstracted away in favor of developer velocity.

publicdebates|10 days ago

And starting fires or making coats used to be forms of art, now we just buy a Zippo and a London Fog and call it an afternoon. Jobs evolve to specialize. I call that progress.

kleiba|10 days ago

And yet there's a difference between a cheaply made coat from an Asian sweat shop and one made with quality materials by a skilled tailor.