Notifications
Article
Making a game in 1993
Published 2 years ago
87
1
Part 1
The Amiga 500 system was a perfect breeding ground for young aspiring game developers. It was accesible, relatively cheap, powerful for its time and had a very active following. This was especially true in northern Europe where many companies you know of today sprung from this era, including Dice.
Gathering a team
Starting out with passion for games, an idea and some sketches; me and my friend who was also an artist put up a note on the billboard at school. The note said something like this: "We're looking to make an Amiga game and need coders. Are you in?" Or something like that, but in Swedish.
After two guys called and joined us we put ourselves in my old boys room after we've checked out relatives garages and outhouses. Both of which seemed too cold come winter.
No internet!
Today it’s hard to imagine game development without the mighty web. No one had even heard the word internet at the time. With the absence of YouTube’s tutorial videos, the learning curve for mastering a program was quite steep. And off course there was no forums to participate in so we’re developing our game “1993 Space Machine” more or less in isolation. The input we had were the games we played and the magazines we read. We were even unable to take any screenshots to examine graphics that inspired us. And with the old CRT monitorsit was hard to look at details because of the bleed those screens had.
Since there was no email either we had to send floppy disks or VHS tapes to our publisher to show them what we were doing. Needless to say it was a slow process.
Get a publisher
This was the holy grail to wanna be game studios. Could you get a publisher interested in your game you’d come a far way. The best way to do that, if you lacked the business connections like we did, was to attend to “copy parties” which was the equivalent to todays LAN parties. The bigger events were often frequented by game studios and publishers looking for talent and promising projects. So we were travelling the nordic countries in the hopes to meet up with the guys in suits. Eventually we managed to get a publisher hooked from the UK who'd seen our demo at one of these parties.
Technical limitations
During game play the Amiga 500 allowed a palette of 32 colours. These 32 colours were taken from a total palette of 4096 colours. (One of these colours had to be the transparency colour.)
For the player, bonus and explosion graphics you needed to lock down colours that were used by these elements. That is; these colours could never change. If they did the player would look different. So we locked the left half of the palette to accommodate for explosions, ships and bonus items. The right half we were able to change, even during game play, to make more varied scenery and backgrounds.
As you can see in the image above we have a nice gradient for the sky. This could be accomplished using the Amiga’s “copper” chip. Basically you fill just one colour in the image/graphic with this function and then generate a gradient of choice. This gradient could also be animated. As you might notice the score panel in the screen shot above is using a different colour range than the game itself. This was possible since you could split the screen horizontally. As long as nothing moved across this split you could use a different palette in that new area.
Art
Typically you’d start off with creating a palette of 32 colour slots - if you began on the design of a new level or scene. This meant planning ahead a bit and working out what colours was most efficient and worked well together. If you for instance had a brown range of colours then the orange explosion colours could be combined with that so you had more colours in that spectrum at your disposal.
Then it was important to keep in mind that the art needed to conform to a grid that was the power of 2 (8,16,32,64,128...). With that setup it’s just a matter of placing pixels one by one. Click click click...
Every graphic created on the Amiga, except very simple primitives, had to be manually anti-aliased. That is; all edges on an object had to be smoothed out in regards to its main background colour. This was especially important then when the resolution was so limited as it was. (Most games ran at 320x240 pixel resolution.)
As the Amiga only had solid or transparent and no in between (like a gif) the edges could not be blended at run time against its background. So you needed to estimate what background was the most common and do your anti-aliasing against that colour. (The unwanted effect of this limitation can be seen on the rear of the second shot in the image above.)
Tools
As you can imagine the tools of the time were, by today’s standard, very rudimentary. The main graphics package was a program called “De Luxe Paint IV” by no other than Electronic Arts. With its animation features it was a solid graphics package.
Unlike today where we have tools like Game Maker and Unity, there was nothing like it back then. The coders had to write everything from scratch. This included disk drive routines, memory routines, input handling and so on. Obviously it took quite a long time to get things up and running.
Although pixelating with the mouse was the standard route to take for making graphics, there was an alternative. I had a Genius tablet that could be used for drawing. I remember being so excited to start making graphics with that. It turned out to be horrible though. It had no pressure sensitivity, but worst of all was the cord that was stuck to the back of the pen which was really annoying.
3D was starting to appear on the Amiga with programs like Sculpt4D, Lightwave and Real 3D. At the time it was referred to as “Ray tracing”. (And just to be clear, we’re not talking about real time 3D. This was pre rendered stuff.) Real 3D v1.4on an ordinary Amiga 500 was painfully slow. I actually turned off the wireframe update, made about ten operations and then called for an update manually to see if things were the way I liked it to be. That’s how crude the technology were.
A few elements in 1993 are ray traced, foremost asteroids that would’ve been almost impossible to animate by hand in the way we wanted. These were very inspired by the game “Stardust” who had done this very successfully. The real trick was to get the output to conform to the palette of the game as the renderer actually wrote true color TGA images that had to be down sampled in order to be used.
Audio
The music was composed in “Pro Tracker” which was a very popular public domain project. There were a whole bunch of these trackers that were called Star Tracker, Noise Tracker, Sound Tracker etc.
For the audio the Amiga 500 offered 4 channels 8bits and a sample rate of maximum 28KHz.
Controllers
Joysticks! No one knows what it is today anymore. It was the major input device for games and it had only one action button - at least on the Amiga. This posed a limitation on how and what you could control in your game. Some games used the space bar as a secondary button. For shooters it was often the activation of a “smart bomb”, that would clear the screen of foes.
The Amiga had two com ports which would fit joysticks. On 1993 we had an adapter designed and constructed, by my dad who's an engineer, that could plug into the serial port giving us two more com ports for additional joysticks. To my knowledge this hadn’t been done before or since.
All in all
The competition at the time was less fierce because it was harder to develop games. With the current powerful tools, game forums and communities to get questions answered and the possibilities of digital distribution the market has been flooded. Nowadays it's easier to make games but harder to be seen. On the other hand, the market is so much larger today...
So, what happened?
We came pretty far - had a few demos, were featured in the major magazines of the time and had a publisher deal. Then things went south...
KK
Krister Karlsson
2
Comments
PM
Philip Merwarth
8 months ago
Cool article. I'm actually looking at developing a small game on the Amiga again. Just bought a 1200. Nice details in the process there.Did you code in C. I was only Blitz Basic 2 level of coding back then but made some pretty cool stuff. Wish I still had copies of my programs!
0