It’s somewhat amusing that coincidence, serendipity, fortuity, good luck, or whatever you want to call it plays a strong part into how certain aspects of one’s life turns out. One minute it’s 1996 (that’s twenty five years ago for those playing at home) and the home console scene was still a little bit wild west yet moving toward an increasingly present corporate big-money component. Now it’s mostly just big money and we reminisce about the simpler times of the glut of licensed cartoon platformers. Anyway, it was almost exactly a quarter of a century ago and I was neck deep into finishing a research degree in biotechnology and writing my thesis, but I was mostly more easily distracted by the emerging fifth generation of video game consoles. By this point in time I’d already purchased an imported Atari Jaguar, and it was obvious that it wasn’t going to have the games, the cool factor, nor the big-company-cash-reserves to make any dent in the market that was already primarily occupied by the Sega Saturn, Nintendo 64, and the all-conquering Sony PlayStation.
Still, there were a number of games trickling out for the flailing Jag. One of a handful of titles I had my eye on was Slam Racer, an overhead racing/kart style game that looked rather fun. With a small-development team and 16-bit computer/console roots, I was hoping that this underdog title would see the light of day. Alas, it was never completed and we all moved on. Cut to a couple of decades later, and I met Lawrence Staveley, one of the game’s developers who had by chance moved to Adelaide. Over the last decade, Lawrence has released dozens of original titles and ports for the Jag, making the little-console-that-couldn’t during its commercial lifespan the home to one of the most prolific and vibrant retro gaming console homebrew scenes over the last dozen or more years. I recently had a chat to Lawrence about his programming history, his game development philosophies, and Gravitic Mines – an upcoming title that is sure to demonstrate just how professionally produced homebrew titles can be. Today we bring you Part 1 of our interview – enjoy! We’ll follow up with Part 2 where he and Ander Lex, the game’s visual artist, delve into what is shaping up to be a fun and deep game.
Disclaimer: I created the menu music for the Jeff Minter Classics release, and I edit the promo videos for many of Reboot’s AtariAge releases. Like I said – coincidence, serendipity, fortuity, and good luck. No bias or nepotism is intended in this article, beyond my own personal and professional interest in the local and worldwide homebrew scene for retro consoles. This is a retro gaming site after all!
Tell us a little about your programming history and how you got involved with programming for the Jaguar?
It all started one fantastic Christmas morning with an Atari 800. No games, no tape drive, and no disk drive meant that all I could do was start typing things in and running them. You do that often enough and some of the knowledge is bound to get into your head via osmosis.
My first job, fresh out of university, was with Sinister Developments working on their Jaguar game Slam Racer. I’d known Gordon (Gibson) for a few years at this point and he was putting together a team. With nothing else on the horizon and the prospects of becoming a game developer on offer, accepting it was a no brainer.
I slapped together a rather unplayable version of Jetpac; as a way of learning the system it seemed like a good idea. You can find the horrors of that experiment here. Following that, I worked on Slam Racer (you can check it out here) until Atari canned it and we all went our separate ways.
Over the next two decades I really didn’t touch the Jaguar, but did release quite a few hard disk installable / Atari Falcon fixed versions of Atari ST games, along with the source code for the system I used to do this. If anyone would like to read a document about how we did this (something called ULS), albeit full of errors and typing mistakes , you can find it here.
Around 2008 or so, fellow AtariAge user and friend (remowilliams) loaned me a new device called a Skunkboard. This allowed homebrew code to be uploaded to the Jaguar. I started playing around and created a very basic Tapper game called Tapperesque. I can’t remember if we released this or not. In any case, following this a group of us got together and formed a homebrew collective call Reboot. We started working on the fateful Project One or, as I refer to it now “Project How Not To Ever Attempt To Make A Game” wasn’t a complete failure – what was learned in the “don’t do this” department proved invaluable for future projects.
And following that, we’re up to Reboot-Games. The rest of the story is on our website!
What are the pros and cons of coding for the Jaguar? What do you enjoy and simultaneously dislike about the console’s architecture? What keeps you coming back?
I’m often asked “Why Jaguar?” and the answer is always the same. The community really appreciates new, quality releases. It’s great to make something and know people will play it and hopefully enjoy it. I have friends who have released games on other mainstream platforms such as Android or iOS and when they speak of downloads and player feedback it is usually in very low numbers. I guess you are one of a billion apps all trying to bubble to the surface and get attention. With the Jaguar community, there is a ‘hunger’ for new games.
The system is extremely flexible. It can be a bit stubborn when you start to learn it, but that ‘con’ made me develop my own API, which is now a huge ‘pro’ as it means all the grunt work is done and I can get on with writing my games.
I have never understood the “Jaguar is hard to program for” comments. It’s just a super Amiga/ST with two fast RISC chips for added oomph and can shove 2D graphics to the screen like nothing else in its generation. Anyone familiar with coding for the ST/Amiga/MegaDrive should be able to pick it up really quickly, and with my API it is really easy to go from idea to prototype to game. I guess that is the serious attraction for me.
You’ve programmed a number of original games for the Jaguar, including a number of notable shooters. What draws you toward the broad shooter genre, both as a programmer and gamer?
Who doesn’t like blowing things up?
I have always enjoyed shoot-em-ups. From putting coins into Space Invaders coin-ops and standing on crates to see the screen, right up to more ‘modern’ shooters like Blazing Star on the NeoGeo. Playing shooters has just been a full-time staple of my gaming life, so I guess it was natural to want to make some.
From a coding perspective, someone who has never made a full game might think “hey, this will be easy” but it very soon becomes apparent that a lot of design has to go into these games to make people want to keep coming back. There is also a lot of diversity in different types of shooters. My games Rebooteroids, Biopede, Last Strike and Rocketeer all have basic shooting elements at their heart, but are all play quite differently. I think these differences keep it interesting from both sides; both as a programmer and a player. It’s also a genre where you can play for scores, gradually increasing the difficulty, which makes them challenging and compelling to play multiple times, rather that a title that has an ‘end’ and is then over.
You’ve ported dozens of 16-bit titles to the Jag. Tell us a little bit about porting games from 16-bit computers to the Jaguar? What is easy, what is challenging, and what do you add to the titles that people keep clamouring for? What are you favourite ports, and are there going to be more?
Haha! Yes! The Jaguar library is (was?) small. There’s no getting away from that. Multiple genres were either under represented, entirely missing, or represented so badly you wished they were missing. Porting existing games to the system is a great way of filling out the gaps, so to speak.
Making a large game (Rebooteroids, Last Strike, Gravitic Mines) from the ground up is, frankly, exhausting. Imagine if someone else has already done all the music, artwork, level design, coding, play testing, etc for you? The basic job then is to ‘simply’ make it all appear on the screen so it can be enjoyed and played.
While some games are much more challenging to bring over than others I wouldn’t go so far as to say any of them are by any means ‘easy’. There’s no source code available for these games, so they all have to be done from the raw binaries, and a deep understanding of the source and destination hardware is quite handy to have.
I like to move some of the slower code over to the GPU if possible to give some added speed, and also use better music. For example in the Dizzy games, the music is from the Amiga versions. For Treasure Island Dizzy I added a save state/load state after consulting with the Oliver Twins to ‘fix’ the problem of only having a single life. Controls can also be improved, as the Jaguar controller has slightly more than a single fire button, allowing the dreaded up-for-jump mechanism to be changed. Defender of the Crown has the music taken from the orchestral soundtrack, which is much nicer than the music on either the ST or Amiga versions. Of course, because none of the games are reading from floppy disk, load times are almost totally removed, allowing much more seamless gameplay and all round better player experience.
My favourite ports? That would have to be the Jeff Minter Classics collection – Llamatron and Gridrunner are absolute classic games, but I am also a bit partial to some Speedball II. As you say, however, there are a few – so something for everyone…. with some more coming soon, as we recently announced Gods and The Chaos Engine from the Bitmap Brothers. Will there be more after these? Let’s just say, its a good time to be a Jaguar fan!
We hope you enjoyed reading the first part of our interview. Be sure to check in again on Monday evening (Australian time) for an exclusive chat focusing on Reboot’s upcoming Grav/Thrus-a-like, Gravitic Mines.