Skip to content

Comment on AGI-64 Brings Sierra Adventures to the Commodore 64parent

Comments

I think the first instance of games being separated from the "engine" so that you could make the game and it would run on all platforms that the engine ran out without porting was Infocom's Z-machine. http://maher.filfre.net/if-book/if-4.htm

There was an interesting article which I read a long time. It's linked to from the post above called "How to Fit a Large Program into a Small Machine" published in 1980.

AGI, SCI, Scumm etc. were all larger and more capable versions of this.

Also, a micro Inform6 compiler+library:

https://github.com/johanberntsson/PunyInform

Tristam Island as an example:

https://github.com/hlabrand/tristam-island

Also, ozmoo, a z-machine interpreter for the C64 (+other 8-bit machines) with several qualify of life improvements.

https://github.com/johanberntsson/ozmoo

https://ozmoo.online/

Z-Machine is also useful to point out because it's one of the clearest lines to draw from it to the modern JVM and .NET CLR. Whereas AGI/SCI/SCUMM all have very game specific virtual machines, Infocom's was Lisp influenced and even built it with business/enterprise apps in mind, though Infocom's one attempt at doing exactly that with their database app Cornerstone was a market flop. (It's heavily enhanced fork of the Z-Machine was also only released for a fraction of the machines the game Z-Machine supported.)

I still think it's an interesting question if Infocom had not tried to keep the Z-Machine proprietary "secret sauce" if it would have been a larger platform of general computing for much longer and broader than Infocom's own lifespan and primarily games focus. If Infocom had taken a Sun-like stance on the Z-Machine being a JVM ahead of its time and building a broader compatibility ecosystem "write once, run everywhere" might have been an earlier part of computing.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.