Our new Indie Games subforum is now open for business in G&T. Go and check it out, you might land a code for a free game. If you're developing an indie game and want to post about it,
follow these directions. If you don't, he'll break your legs! Hahaha! Seriously though.
Our rules have been updated and given
their own forum. Go and look at them! They are nice, and there may be new ones that you didn't know about! Hooray for rules! Hooray for The System! Hooray for Conforming!
Does anyone know any good books or websites or the like where I can look at some of the source code for old pulbic domain games? Or perhaps just know enough about it to discuss the topic?
Or perhaps anything about the history of game programming.
I'm mostly curious because I've been playing a lot of Sega Genesis and I'm rather amazed by the rapid and steady progression of things like frame rates and graphics over the course of the systems lifespan.
0 •
Posts
If you are interested in Mega Man's main code, here's the website:
http://bisqwit.iki.fi/jutut/megamansource
Sorry I can't be of more help. It's not really my forte, but looking into Z80 chip programming would be a good start (since that's the gameboy/NES'/MSX's main processor). Here's the wiki to the Z80: http://en.wikipedia.org/wiki/Zilog_Z80
If I can find the site with tile/sprite explanations, I'll post it here.
Of course I'd be getting more out of this if I was proficient in things other than BASIC, C++, and Java.
When did game coding move past assembly language?
Just search some Atari and Sonic The Hedgehog game code. It'll color it well for you. A lot of it is available online.
I believe Atari 2600 games were limited to something like 4kB and ran on a processor clocked at something like 1MHz. They were written in assembly because anything else was too inefficient to provide performant games. They also didn't have engines at that point. I imagine there was a fair amount of code re-use by SNES games, and probably on NES for companies that put out several similar titles, but Atari games had to be so tightly coded that you simply couldn't use boilerplate engine code.
If you skip ahead to the Playstation era, games were primarily written in higher-level languages. You're going to find a lot of assembly and not much else throughout the Atari, NES, and SNES eras. Even by the time that the Playstation rolled around, most 3d games had graphics engines either written in assembly from the ground up or else written in some higher level language, compiled to assembly, and then hand-optimized to enhance performance. Nowadays consoles are beefy enough and rendering engines so complicated that it is just not worth the effort to optimize at that scale.
A lot of this was developers really pushing things down to the metal as they learned more tricks about the architecture. In addition, cartridge-based games started getting special chips included in the cart for even fancier stuff.