Home/BOING/BOING #4/Interview of John Girvin Last update: 2024-02-258
page Facebook page Twitter

About / News / Store / Contact us

Here is an interview with John Girvin (Nivrig games), the author of Turbo Tomato!. You can get more details about his products here.

The interview was done by Mahen and published in our (French) Amiga magazine BOING, issue #4 (July, 2022). Thanks to our partner amiga-news.de, it's also available in German.

The Turbo Tomato (TT) project dates back to 1993. What development environment / language did you make use of ? Did you start over / migrate to a new one when restarting the project ? Was it difficult to get back to the code... decades later ? If you could start from scratch, what would you do differently ?

John Girvin

TT started on an A1200 using Devpac 3, with supporting tools used to convert source graphics, maps, sounds and so on written in Blitz Basic 2. DPaint was used for the artwork.

One of the first things I did when restarting the project in 2020 was to move it to modern tools on my laptop, namely Visual Studio Code with the VASM assembler and running the game on FS-UAE. I rewrote the supporting tools in Python. Tiled, Grafx2 and Audacity were used for asset editing.

As good as the Amiga programs were for the time, the modern environment is simply much easier to use. And using an emulator of course means no work can be lost when the game code crashes!

I was expecting to struggle getting back to working in 68000 assembler again as it had been perhaps 10 years since I'd done any Amiga work (I'd spent a long time working on WHDLoad patches, up until 2009), but it came back very quickly! Also, 1990's me had also left copious comments in the source code, so much of it was easy to understand after a short time. Although I'll admit that, even now the game is released, there are parts of the source that aren't entirely clear and I'm slightly afraid to change. Here be dragons, as they say.

The hardest part of restarting was that I had somehow managed to lose some of the source along the way. I spent a long time trawling through old emails, dumping old hard disks and reaching out to old contacts to try and recover the missing files, with no luck. In the end I had to resort to reverse-assembling the missing parts of code from a binary I'd made in 1997! Fortunately, it turned out there wasn't actually very much missing and I was able to get a version of the source I could assemble into a working game.

If I was starting TT today, there are probably a thousand small things I would do differently in terms of code style, planning and organisation! You never stop learning. However, the main thing I'd do differently would be to write it largely in C instead of pure assembler. Using C (or another higher level language) would be much more productive and the C compilers available today - and that can only run on modern machines - produce code that is very close in performance to hand-written assembler. Good performance on Amiga is generally more about good algorithms and efficient use of the hardware rather than pure processing speed, but assembler could still be used to optimise critical sections in any case.

There have been a number of Amiga games released in 2021 that have used C with good results. Writing the game in C also opens the door to easier porting to other platforms, as can be seen with the upcoming (fantastic!) Metro Siege. Future games I make on Amiga would follow this path.

Also, what triggered the idea of bringing this project back to life and what is the motivation of writing games for retro platform instead of writing retro-styled games for current platforms ?

Turbo Tomato! box

In late 1997 I had made public release of Turbo Tomato in an unfinished state, because I was "done" with it at that point. About 20 years later, I pulled that demo binary out and just left it running on my laptop at an Amiga Ireland event. Even in that unfinished, broken state it still attracted some attention and positive feedback, and I think it was then that the seed of the idea of finishing it one day was planted. A few years later still, in March of 2020, I had just finished a solitaire game for mobile and desktop and was looking around for my next project. I had an idea in mind, but after more positive feedback at Amiga Ireland 2020 (and a great time running the Amiga Dodgy Rocks port tournament!), and some initial contact with Bitmap Soft, I realised I already had a project that was ripe for finishing and already mostly done. Of course "mostly done" turned out to mean "needs a year of work to finish", but that's another story.

I've nothing against writing retro-styled games for modern platforms - I've done that! Some of the popular modern game engines make it tricky to do 2D pixel graphics is the only thing that put me off, but then I discovered Godot Engine that made it a lot simpler, and was also free and open-source. I'd love to port Turbo Tomato to a modern platform too, somehow, but that's 45000 lines of very Amiga-specific 68000 assembler so it would be quite a bit of work.

We are witnessing a kind of new "golden era" in the classic Amiga scene, with impressive engines we would have loved to have decades back, a constant flow of new games & demos... What is your take on this phenomenon ?

I honestly don't know! But it's great to see. The phenomenon isn't restricted to Amiga either, it's across all retro platforms as far as I can see. There have always been new releases for retro platforms coming out, but it seems to have really taken off in terms of both quality and quantity in the past few years. Some of the games coming out today would have won awards in the platforms' heydays! Perhaps the development tooling has taken a leap forward with game engines like MPAGD or Scorpion, new toolchains and languages like TurboRascal or Bartman-GCC, perhaps more old-school developers now have more time and/or money to pursue hobbies, perhaps it's because reaching communities and spreading the word about new releases is easier than ever. It's also got much, much harder for individual developers to make a mark on modern platforms, whereas one person can relatively easily make an 8 or 16 bit game and get it noticed. Probably it's a combination of many factors. The meteoric success of the Spectrum Next and Mega65 crowdfunding campaigns, and the success of the various mini-consoles that have been released shows there's demand from consumers retro platforms as well.

Is there a major technical hurdle preventing TT from running on KickStart (KS) 1.3 ?

Not really. Turbo Tomato is written in quite a system-friendly way as this was the way things were heading in 1993 when the project was started. As a result, I've used a few KS2 features for convenience, but I don't think there's anything that couldn't be rewritten to use KS1.3. However, the game unavoidably requires 1Mb of chip RAM, and the intersection of machines with 1Mb chip RAM and machines with KS1.3 is very small, so requiring KS2 probably only affects a very small number of users.

Turbo Tomato!

On EAB, you said your were positively surprised by the reception of the community and the sales of the game. To what extent does it drive your motivation ?

I was a little surprised because I felt Turbo Tomato was a little hard to define in terms of genre and so may have a limited appeal. To see it being as popular has it has been has been very gratifying. Positive feedback is definitely a factor, but it's effects are difficult to quantify! Negative feedback is fine too, of course, so long as it is from a reasonable and constructive place and offers ideas for improvements. I think I would still be making games in any case, it's just something I enjoy doing and how I got started in computers in the first place 40-something years ago, and if the feedback was negative I'd just be trying to make better games! Feedback that people are noticing and even enjoying your work does definitely keep you coming back for more.

Can you tell use some more about the (numerous) ennemies IA ? The game is so fast paced it's sometimes difficult to differentiate (and anticipate) the different foes behaviours :)

The enemies basic movement is to run in preset but randomly selected patterns like zig-zags, circles and so on. Enemies use more patterns and change them more often as they get "smarter". Higher level enemies also have goal-based behaviours layered on top of the patterns, such as running to pick up a bomb if they don't have one, or dodging player shots and their own ricochets. And a few other tricks. The end result seems more complex than it actually is perhaps!

You announced a special christmas version ! Is it a kind of data disk, a "thank you" to the community, or a teaser to incite people to get the full game ? Or just a cool idea you had -- it's indeed funny one can use the same engine to deliver gifts or hurl bombs at mutants :D !

TURBO SANTA is a different game, and will be released by the time this interview is published! The premise is that Santa has slept in and now Turbo Santa must deliver gifts against the clock before the children wake up! It's based on the Turbo Tomato engine, of course, adapted to wave-based score-attack gameplay of throwing gifts to children instead of destroying mutants with bombs.

I was aiming for the feel of a Christmas coverdisk of a 90's Amiga magazine with a seasonal take on an existing game, like Cannon Soccer or Christmas Lemmings for example. And like the coverdisks of old, Turbo Santa is free. I think it's a bit of everything - a thank you, a bit of nostalgic fun to entertain you over the holidays, and a bit of a sign-off for me from working on Turbo Tomato after all this time. If it encourages someone to buy Turbo Tomato, I'll not complain, but that wasn't the goal.

The homepage for Turbo Santa is here - but it will only be available for the Christmas period!

Can you tell us more about your other activites and future projects ? :)

Between work and two small children, I try to get out for a cycle whenever I can. I've raced mountain bikes in the distant past (poorly) but these days I stick to the roads. I ride maybe 2500 miles a year purely for fun and fitness.

As for "next" projects, I have a Spectrum Next coming from the second crowdfunding campaign and the next game I have in mind would be targeting that and Amiga at least, using C to share code across the platforms as I mentioned before. Actually I have two new games in mind, so I need to decide which one to pursue! They're both potentially quite large projects, so I could end up doing something smaller before (or as well).

This is all speculative right now though as Turbo Tomato and Turbo Santa have kept me busy in the months since Turbo Tomato's release, so apart from some idle pondering I haven't actually started any work on the "next thing". I may not be done with Turbo Tomato yet either, he adds mysteriously.

Some favorites or cool experience you'd like to share with us ?

Turbo Tomato! ennemy

With Dodgy Rocks and Turbo Tomato, I've done a few live online interviews, with Amiga Future and AmigaBill for example. I felt way out of my comfort zone beforehand, but they turned out to be a lot of fun! My kids even invaded that epic AmigaBill Turbo Tomato stream which was amazing.

I'm really not cool though.

Is your brother still involved in your games ? Also, I see 3 persons took part in the GFX. Kevin dealt with the loading screen but what about the others ?

Turbo Tomato was the only game my brother and I worked on together, but he has a couple of his own games from the 90s' on Aminet (Nerdkill and Greeblies). They even made it on to A CU Amiga coverdisk! These days he works a lot with Arduino and electronics as a hobby, which does involve a lot of C programming.

Stoo Cambridge did the Turbo Tomato loading screen and main art, Kevin Saunders did the art for the game complete sequence, and Chris McCauley (who is a fantastic comic artist) did some much-needed improvement work on the background graphics used in the game.

Something you would like to share with our readers ?

Keep doing Amiga things! But seriously, I'm just glad there is still an active Amiga community in Space Year 2022 (and beyond) that I can be part of, and to be an audience so I can continue to make games for my favourite platform.

Copyright © 2000-2022 Boing Attitude :). All rights reserved. Logos & drawings/menu © Aïto.
AmigaOS ® est une marque déposée par Hyperion Entertainment

Home/BOING/BOING #4/Interview of John Girvin