Project One

ROM
Source Code

Project One was our first real attempt at a game for the Jaguar. Development began in mid-2009 and ceased around 3 months later, mainly due to exhaustion and external pressures on members of the team.

THE PLAN

The plan? There was no plan. Planning is everything and the reason why simple ports of games are so much more simple than new, original content. OK, there was no plan to create a shmup. Project One actually began life as a title screen effect for another game. What started out as a tiled picture display effect for the Tapperesque game, ended up becoming a tile scroller for a vertically scrolling shmup… as you will see, building on unsound footings is never a good idea!

THE VIDEO

Early work on the project led to the bare bones of the game being up and running within a matter of weeks. A little later and the game was already in a state where it could be shown – that’s when the preview video was created. This was well received on the whole and provided enough feedback to encourage the team to continue working.

THE NEW STUFF

The early video preview contained many elements that were to change over the following couple of months. One of the simplest & most required alterations was made to the bullets. Single-pixel shots were out in favour of more colourful, larger (and thus easier to see) projectiles, with new firing spreads. Other additions included new weaponry and collectable power-ups such as shields and explosives.

All the placeholder graphics from the previously shown version were replaced and many new tiles and sprites created – literally millions of hand-painted pixels. The map was resized and boss-type characters were added.

More sections of code were offloaded onto the GPU to allow for more features & rock-solid 60Hz gameplay (rare slowdown problems you might encounter are due to unoptimised level data, not game engine flaws).

Some more subtle alterations were also made, for instance, the player ship was originally 32×32 and very late on changed to 24×24 as the scale in the previous versions made for a difficult game. This created a feeling of a greater play area & made the player harder to hit. 8 pixels might not seem much, but the ship was now only just over half the original size in area. Do The Math.

SOUND

505/Checkpoint very kindly allowed use of his fantastic module music he had originally written for another Jaguar shooter (Probably Native, as he’s the musician for the Dreamcast game Sturmwind).

Sound FX were sourced & also recorded from such bizarre sources as CJ’s incredible sneezing dog (the lazer shot).

THOUGHTS

The project was getting larger all the time. We hadn’t intended so much when we began and hacking in additional functionality was getting harder and harder. If the game had been written from scratch with all the required features planned from the beginning it would have been much simpler to achieve. We considered a total rewrite of the engine to gain more performance & simplify things but quickly discounted that idea – this was a learning process & we were learning all the time, we wanted to get the game done & move on to the next one. We weren’t setting out to make the best shmup ever, we were making our shmup in our way, what we learned here would go into project 2, not into endless refinements of an unreleased Project One.

THE BETA RELEASE

Early in September 2009 everything was dropped. Enough was enough. The code was compiled for the last time & we gave it away in a very unfinished state. It just didn’t seem worth the effort anymore, we’d had all the fun of what we were doing sucked right out of us.

THE WAITING

Having added all the features and FX to Project One resulted in the game coming in at just under 4Mb of data. Our target for the final ROM was 4Mb with 4 levels. Pack-Ice, the famous Atari ST util by Axe of Superior, was used to compress game segments, bringing the image file size down by over half. The side-effect of this was large wait times for depacking after loading. It was planned to switch to another compression method that would have had much shorter depack times with the possibility of using the GPU to do some of the donkey work, but that never came to be an issue.

THE PAUSE MODE

Press Pause & not only do you pause the game, but you are treated to another! Bad Moodies is the pause mode game that can directly help out your in-game efforts by spawning a power-up, but only if you are successful in mastering each of the mini retro games.

THE AFTERMATH

There have been occasional discussions about what to do with Project One since September 2009. We considered giving it to someone who wants to work on it or maybe use parts of it, but nothing good will come from that.

Since we made this game, RAPTOR has been born, RMotion stands by its side, as does the U-235 Sound Engine… we learned how not to make games with Project One – that’s as valuable a lesson as anyone can learn…

Churning out a crap game and not learning from it – that where the problems come from!

As you’ll see over the coming years, we’ve all got a little bit better at what we do and will never go about things in such a crazy way again, but we’d also like to point out that we wouldn’t change a minute of it as it was quite a wild ride into the unknown!

TRIVIA

It takes over 7 minutes to scroll through the map @ 50fps, equating to around 10 minutes to play through the level if you don’t die & kill the bosses reasonably quickly.

The total size of all .s files for Project One is 1,103k, including 3,965 lines of commented code for the loader, 4,131 for the titles and 13,144 for the game engine.

There are 9240 tiles on the level equating to almost 9.5 million pixels of map data.

The total size of source graphics is over 2Mb.

Several alternative sets of samples were recorded. Mrs CJ chose the final set.