Diary of a Game
Uridium 2 Part 1
Andrew Braybrook, famed for such Amiga classics as Paradroid 90, Rainbow Islands and Fire & Ice, has recently started work on his latest project - Uridium 2. A sequel to his blockbusting Commodore 64 blaster, Uridium 2 looks set to be his best Amiga work yet. This month The One exclusively begins serialising his no-holds-barred development diary.
Month by month and in his own words, Andrew will take you through every step of the game's development, from conception this month to completion - hopefully - at the end of the year. As the work progresses, you'll be privy to the latest screenshots, along with Andrew's most intimate thoughts, feelings and programming tricks. You thought the Princess Di serialisation was big? You just haven't seen anything yet! Take it away, Andrew...
Part One - The story so far
The initial foundations for Uridium 2 were laid down in early 1991 during Fire & Ice's development. Having got a smooth-scrolling system working, which allowed easy background animation and didn't take up too much time per frame, it seemed a good idea to save a copy of the basic system to another project directory. I could then carry on adding routines specific to Fire & Ice's needs and not have to remove them later for Uridium 2. This, as it turned out much later, was nearly a good idea.
The idea of doing Uridium 2 on the Amiga had been around since 1987 when I bought my first Amiga, an Amiga 1000, from Gary Liddon, erstwhile journalist and programmer extraordinaire (at least that's what he tells me). My first naive dabbles with DPaint resulted in some fairly crude mock-ups of what the game might look like on the Amiga. Since then Graftgold has expanded from a two-man outfit to an eight-man one, and my graphics ability pales into insignificance against the expectations of Amiga owners today. I shall thus refrain from doing too many pixels for this game but any that I do 'lay down' I will sign personally.
I spent a few evenings changing the playing window size and testing out the 32-colour sprite plotting routines. I try to write all routines to be as flexible as possible so I can just tell the assembler how many bit-planes, i.e. colours, I want to display and the routines will still work. I really do want to use 32-colour backgrounds in this game and, without going into too much detail about why all Amiga games aren't in at least 32 colours, I'll probably be cursing that decision later.
All work totally ceased on Uridium 2 a short while afterwards when we decided that our choice of publisher for this game was limited by the publishing rights to the original Uridium being in the hands of an administrative receiver. This has since been resolved and Graftgold now has all publishing rights to future variants of Uridium. It has taken another six months to actually restart the project as the pace on Fire & Ice hotted up (excuse the pun) and all my time was taken up finishing that off.
It also seemed appropriate to start the project proper on a sensible PC rather than the heap of scrap metal that my old 8088-based PC has become these days. Let's be honest here, it's down tools brothers until we get some realistic tools to work with - I'm fed up with emptying the lake with a teaspoon! When it takes about four minutes to change one line of code and try it out, you've forgotten what it was that you wanted to test. Coding these days involves very, very large programs and you need professional tools and high-speed computers to deal with it all.
Take Fire & Ice. The actual game code, excluding our operating system, must run to about 60,000 lines of code (and I don't mean the inflated figure that the assembler spits out after expanding all the macros). Just 60,000 lines of handwritten code would take about a whole box of 1000 sheets of fan-fed paper to print out, if the printer lived that long!
Anyway, the story has a happy middle at least as I'm typing this on a 486DX turbo-nutter machine with a 100Mb hard disk whose only desire in life is to do my bidding but yesterday, instead of making an appointment for a week's time. The old machine sits under another desk in shame, full up, burnt out and redundant. Graftgold is dragged kicking and screaming back into reality from its little world of slow motion.
Work has continued now at a cracking pace, and the first thing that happened was a total rewrite of the scrolling system so carefully removed from Fire & Ice at the beginning. I said it was only nearly a good idea, That system was good for Fire & Ice because I wanted lots of background animations using 16 by 16 pixel super-characters, Uridium 2, as I see it, requires little or no background animation - no boiling porridge, rippling sea, rising bubbles, waterfalls or spinning pick-ups you see.
Instead I want to be able to reflect background characters and have alternate palettes on individual 8 by pixel characters. This is more akin to the C64 and certain other newer computer-type machines that are best left unmentioned. The scrolling rewrite took about two days and did everything that I wanted and it was good BUT it was a little on the frame-time expensive side when scrolling at high speed, and Uridium needs high speed like Nigel Mansell does.
It's one thing scrolling at a couple of pixels a frame; you can build up newly scrolled data over the next 'n' frames before you cross a 16-pixel boundary, which is the resolution that the Amiga coarse scrolls by. This beast requires scrolling at up to 8 pixels per frame, leaving only two frames to build a stripe of new characters on the leading edge of the scroll.
The upshot of all this is that 16 bit computers don't much like working in bytes; it's no quicker than working in words (that's two bytes nailed together), so I'm back to working in 16 by 16 pixel lumps which I can reflect or change colours of. This reduces the scrolling overhead so that I can run a sensible number of sprites around on the screen. So what do we actually have on the screen?
Well, graphics work actually commenced at the beginning of June 1992 with some background blocks. I haven't put any into the game yet as I don't have a suitable mapping program that can do what I need, and I don't want to spend two months writing one on the Amiga. Steve (Turner), Graftgold's boss-man, has promised to write a generalised mega super mapper on the PC, so I'll wait for that. I don't need backgrounds just yet.
So what's actually on the screen, then? Well, I've got a couple of rough Manta frames done on DPaint and a load of numbers where all the frames of animation should be so I can check whether the program is working, and I've got a few test background blocks, again with numbers on so I can see if they're working. Oh, and I've done a score panel with the game name on... 'Uridium 2' in large friendly letters! As from tomorrow I'll log things a bit more formally so we don't get sued by the Equal Rights for Diaries brigade. I've already got the dates done, all I have to do is fill in the rest...
For those of you not familiar with the original Uridium, here's the deal:
There are these fifteen giant alien 'super-dreadnoughts' lumbering towards the solar system, sucking the mineral resources from planetary cores as they go. You've been dispatched in a Manta-class space fighter to put a stop to all the nastiness. Basically what this entails is super-low flying across the horizontally-scrolling tops of the cruisers (each one is so big it's a level in its own right), weaving through the metallic superstructure and doing battle with dreadnought's squadrons of drone fighters. Once you've landed on the runway at the other end of the ship and set the self-destruct sequence, you must escape back the way you came as the ship explodes around you. It's super-fast, super-frenetic - and super-difficult.
When released in 1986, Uridium pretty much swept the awards board, picking up Best Arcade-Style Game, runner-up Game of the Year and Programmer of the Year for Andrew at the Golden Joystick Awards. Andrew also scooped Programmer of the Year and Best Shoot-'Em-Up at the Newsfield Awards. Oh yes, and it got to the top of the charts as well. Hardly surprising he's doing a sequel, is it?
The pace hots up as the Uridium 2 super-diary begins in earnest.
You may enjoy these articles...
If you look inside many Amiga games, secret messages have been hidden by the programmers. Richard Aplin was the king of hiding messages in the startup-sequence file, and his Line of Fire and Final Fight startup-sequences have become legendary! The Sensible Software team were also prolific at hiding messages in their games.
A collection of technical interviews with Amiga programmers that worked on commercial software in the glory days of the Amiga (late 1980s to early 1990s!)
The Ultimate Amiga Graphics, Level and Map Ripper!
A random assortment of rants relating to the Amiga!
An explanation of how many famous Amiga games utilised sprites in weird and interesting ways