HBL Interviews: Alessandro Grussu.
Here we interview another AGD guru Alessandro Grussu, he has released lots of games for the Spectrum so we took some time out to chat to him about his love of creating games.
Thank you for agreeing to our interview, please take a moment to tell us a little about you?
Thank you for your interest! My name is Alessandro Grussu, I am 45 and was born, and live, in Messina, Italy. I was gifted my first Spectrum in 1984 and have been using it and playing with it for nine years, when it sadly went out of order. After a hiatus of some years, I discovered the world of Spectrum emulation in 1997 and got involved with it to this day. In the past few years I also purchased several machines, which I seldom use however, usually for testing purposes or maintenance.
What was the first game you created?
It was a short text adventure written in BASIC way back in 1985. At the time I was trying to learn the ropes of that language. It was a first, primitive attempt to mimic more complex programs.
However, my first proper game was Lost In My Spectrum, made as a gift for visitors of Firenze Vintage Bit 2012. Since then. the game underwent several revisions. The last and definitive one was released as the latest Spectrum game of 2017 – on the 31st of December!
What do you for a living away from game creation?
I am a high school teacher, specialized in human studies: Philosophy, History, Psychology, Sociology and so on. I also hold a PhD in Modern History, albeit my research field was mostly focused upon contemporary history.
As an amateur photographer I occasionally earn something from the sale of my photos, when they are shown at public exhibitions, or for commercial purposes. For instance, the Rough Guide of Iceland contains a cityscape of Reykjavik I took during a trip there.
Any thoughts about doing games on other systems?
I considered the possibility of developing games for mobile platforms. But I would have to learn a lot before attempting to try it!
Are you surprised with the resurgence in retro gaming?
Not so much. I do not think it is just a matter of nostalgia, or of a so-called “vintage” fad. In the past, video games were simpler to understand and easier to get to grips with due to the limitations of the hardware they were designed for. In addition to that, there was much more “independence” so to speak. Less capital was invested, games were made by a handful of people or even by just one person, and as a result there was much more creative freedom than today. It is a paradox – we have PCs and consoles able to run games of depth and scope unimaginable in the ’80s, yet a large part of what I see around are sequels and remakes. It is not very surprising, then, that people look at the past for games which play better and look fresher than most of what the video game industry churns out nowadays.
Which one of your games are you the proudest of and why?
Well, if I should really choose one, it would be my last one to this day, Sophia (Doom Pit was released later but actually it was finished before it). Inspired by such classics as Cybernoid and Druid, Sophia is, among my games, the one where I feel I managed to strike a balance between immediacy and complexity in the best possible way. I also worked a lot on graphics and music to make each of the four levels a distinct world, different from the others, yet giving the player a feeling of continuity, as parts of a larger picture. Last but not least, the “touches” like the icon-driven menus, the final boss battle and end-of-game sequence and the high scores table, aimed at making the game feel more polished and professional.
Which game caused you the most headaches?
Surely it was Seto Taisho Vs Yokai. Designing the movement and attack patterns for the main character was very difficult, due to the limitations of the AGD engine. It was the first time ever in and AGD game that the playing character was alternating between one and two sprites – the second being Seto’s spear – and putting it all together was no mean feat. I had to modify it many times, experimenting with several scripts and combinations of sprites before it took its final form. Then there was the level design – each of the game’s screen is different from the others and is meant to provide a challenge for the player, forcing him/her to develop a strategy for every one of them. In addition to that, for the first time I coded the game management program in pure Z80 Assembly language, including the tape/disk loading routines. I even designed my own turbo tape loading routine for it, which I named, in fact, SetoLOAD.
Anyway, the game came out as I wished it to be, an homage to both Japanese folklore and old single-screen platform coin-ops like Rod-Land, Snow Bros etc. It received very positive feedback and sold well when Monument Microgames released it in a superbly made package.
Do you have any games that are just sitting on your drives unfinished that you may release one day?
Years ago I started working on a Pyjamarama-like game starring one of the enemy characters of Funky Fungus. However I was not satisfied with the result early on and decided to start it all over again. Then I had to face other priorities. Subsequently I began working on Cousin Horace, and the previous project was left there. I do not exclude “resurrecting” it one day though.
I also would like to release an improved and revised version of Funky Fungus, just as I did with my first two titles – Lost In My Spectrum and Apulija-13. When it originally came out more than five years ago, it was praised for its style and atmosphere, but gameplay-wise it was a bit “rough around the edges”. Players in particular complained that it was too difficult. A Funky Fungus 2.0 will be one of my priorities when I finish doing what I am currently working on.
Can you tell us what prompted you to get involved in Retro Game Development?
It all started in 2012 with that superb authoring tool by Jonathan Cauldwell – Arcade Game Designer. My book about the Spectrum, Spectrumpedia, had just been published, and I thought it was the time to try designing a game myself. AGD let me concentrate on the creative aspects while taking care of almost all of the “menial” work. Later I learnt some Z80 Assembly and used it to put the various pieces of code authored with AGD together – level management, key redefinition and so on.
But I can simply say that I did it for the same reason that drives me to do it even nowadays – to have fun, and share it with others!
What games at the time (and now) would you say are your biggest inspirations?
AlessandroMy primary models were, and still are, the 2D titles by the Stamper brothers, and everything made by Raffaele Cecco, Jonathan Smith and Chris Hinsley. Of course there are many others – my first game was a Manic Miner clone after all! – but I would say these made the deepest and more lasting impact on my activity of Spectrum game creator.
What is the biggest challenge you face with the limitations of the hardware, particularly as you continue to expand features title-to-title? (Memory? Graphical capability? Speed?)
Memory, definitely. The humble 48K often has no room enough to contain everything I would like to put into a game. For this reason, many of my games are 128K-only and can be loaded on a 48K only by means of a disk drive interface like the PlusD or BetaDisk, or through an interface like the DivIDE or DivMMC. For Lost In My Spectrum 2.0, I devised a tape multi-load system, just like they did “back in the day”.
Do you have timelines built into the management of these games?
Very rarely. Since game creation is a pastime for me, and the demands of “real life” are always there, I do not set specific completion times for them. A game is ready when it’s ready…
I had to set a deadline when I made my first specifically commissioned title, i.e. Doom Pit. I also wanted Sophia to be ready for Hallowe’en, and in fact it was completed three days earlier!
Are you doing all the development individually?
Yes. I take care of everything, from the design to the final aspects like the loading screen, instruction manual etc. although I often take advantage of pieces of code written by other authors, for instance Einar Saukas’s excellent ZX7 decompression routines. This is because I consider making games for the Spectrum a creative pastime, something that I do for fun, for the sake of seeing a little “world” coming into existence one piece at a time, and trying to go beyond my limits as a game creator. It just wouldn’t feel the same were I part of a team.
Of course, that’s not to say I would refuse to join a team if I were asked to. I would do it, but it’s unlikely that I would create one.
On the other hand, I have been several times asked for help and tried to do my best to give it. I also shared bits of my own code, for example a key redefinition routine, which has been used by other fellow authors.
I’ll reveal a secret now: in the last two months, I have been working on a new title. It’s about two-thirds complete now and so far partial testing has been positive. It is not made with an authoring tool like AGD or the Churrera; in fact, it is not even an arcade or arcade/adventure title. All I can say right now is that it is an economical/political simulator set in the late 20th century, inspired by an old PC game. It is programmed mainly in ZX-Basic (or Boriel’s Basic) with parts in pure Z80 Assembly. Initially, the game was intended to be 48K-compatible, but as I kept coding it, the sheer size and scope of it meant that I would have had to “mutilate” it to an excessive extent to fit it all in. Due to such memory constraints I had to make it 128K-only.
Do you use AGD for all your games?
I used AGD for the main programming of all of my games, with the following exceptions:
Cousin Horace’s third and fifth chapters were made with AGD, the first and fourth with the Churrera and the second with Shoot Em Up Designer, also by J. Cauldwell. The Trunk was made from scratch in compiled BASIC;- the game under development is made from scratch in ZX-Basic and Z80 Assembly.
Whats the differences between Arcade Game Designer and Churrera ?
– is a single package
– is written in Z80 Assembly
– runs on a 128K and later ZX Spectrum (real or emulated)
– cannot be customized at low level
– supports up to 255 character blocks and an undefined number of sprites, with an undefined number of animation frames each
– can export the project directly as a complete game
– can be used for several different kinds of games
– is a game creating environment composed by a group of separate utilities
– requires the z88dk Small-C cross compiler to work
– runs on PC (Windows)
– can be customized at low level to add advanced features such as sprite masking or inertial movement
– supports up to 32 tiles of 4 character blocks each and up to 5 sprites, of which one is always reserved for the main character, with 2 animation frames each
– requires a command line interface to assemble and export the game into a complete emulator file
– is mainly designed for platform and maze games
That said, Jonathan Cauldwell has recently released a cross version of AGD running under Microsoft Windows which can produce a full source code script to make some low-level modifications possible. However all of the limitations of the original engine are still there – no sprite masking, no native support for gravity etc.
Which is the most downloaded game you have created?
I wish I could know that myself! I cannot really say, but regarding the games released on physical media, sales have been more than satisfactory.
Where can people get physical copies of your games?
So far Monument Microgames has published Seto Taisho Vs Yokai, together with the Seto Taisho To Kazan bonus game, and Doom Pit, the official sequel to Clive Townsend’s Death Pit; the two games are sold together in bundle. Sophia will follow, and like Seto, another exclusive bonus game will be added to the offer.
Do all your games have English translations?
Certainly. I’ll say more: all of them, together with their documentation, are available in at least six languages – English, French, German, Spanish, Portuguese and of course my native Italian. Sophia was also translated in Swedish and Russian by two players who asked me to do that. Most of the times I do the translations myself but on several occasions I asked fellow Spectrum fans for proof reading, or even a full translation, for French and Portuguese because my knowledge of them, especially of the former, is sketchy to say the least! An exception is the English-only The Trunk, but that was a CSSCGC entry so it doesn’t really count…
The new game will, at least for the time of release, be available in English and Italian only. There’s a huge amount of text in it and six localizations would delay the release too much. But by allowing users to peruse the source code, they will be able to translate it in their own language if they wish. This will be the first time I share the sources for one of my titles.
Can you tell us about your use of AGD? I’m currently making a little game with it and yours give me inspiration to carry on.
Thank you! All right, the first thing to do is to write your basic ideas into a simple text file, indicating which kind of game would you want to make, the main features, the gameplay mechanics etc. Once you have put them together in a coherent way, the next step should be creating some “test games”. Simple AGD projects which will serve as the proving grounds for sprite movement, object manipulation, screen design and so on. Also, try not to “reinvent the wheel”: if you already created some scripts, or found a script made by someone else, which could be reused in your new project, use it!
When you are satisfied with the scripts, it is time to begin creating the game proper. Go back to the text file and write down every piece of information you believe to be useful, like a list of all variables used in the game together with a short explanation of their purpose, or a list of all sprites, numbered in progressive order as they appear in the sprite designer. In case of a maze game it is also advisable to draw a layout of the map indicating all connections between the different screens and assign each one of them a number which will later be the number of the screen itself in the AGD designer.
Then, start working at the game, one feature after the other. I usually begin with the sprites, composing the scripts for each one of them and drawing them. A small tip: a sprite type can be set to behave differently according to a certain parameter, for instance if it is represented by a certain sprite image. I have done this myself in many of my games.
Take advantage of specific tools as well. Blocks and sprites can be quickly and efficiently designed with an external program like ZX-Paintbrush and then copied in the AGD editor. You can also use the sprite canvas, but be careful because it appears to be bugged! If you wish to include external code, such as custom beeper effects or AY music, you should also keep note of the addresses where they are stored in the RAM in order to recall them from within the game by means of the ASM instruction. At the same time, take care not to make the additional code overlap with the game itself. A good rule of thumb is, due to the scarcity of available memory, to avoid doing in AGD what you can do outside of AGD. For example, I think it’s a waste of memory to dedicate a whole screen or in-game text to a welcome or end-of-game message. You can do this easily even in BASIC. Even better, you can create a picture, compress it, store it under the AGD memory space and recall it when it’s needed.
Test the game thoroughly, not only to pinpoint and correct bugs and imperfections in the scripts, but also because you might find that an initially planned gameplay feature does not fit well in the whole picture and requires to be changed or even eliminated. Also try to see things from a different perspective when testing your own games. My earlier titles were quite difficult because I like challenges and I mistakenly believed everyone else would have been as determined as I am! When I revised them, I took great care in rebalancing the difficulty, in order to make them more enjoyable.
Finally, if you are proficient at least in intermediate BASIC, or even Z80 Assembly, you can “wrap” your game into a user interface, adding features like a start menu, a key redefinition option, or even try extending your game across multiple levels, each one being a single AGD project.
Hope these are ok, would love some images and a Hi res logo from you if possible, maybe some exclusive news for us to announce would be appreciated.
Also here is a list of my games you can see here for more info:
Lost In My Spectrum (2012, latest version 2018, 48K/128K)
Apulija-13 (2013, latest version 2018, 48K/128K)
Funky Fungus (2013, 128K only; enhanced disk-only “Plus” version)
Al’s Double Bill (2013, latest version 2018; disk-only compilation of Lost In My Spectrum and Apulija-13)
Cronopios Y Famas (2013, 48K/128K)
Cousin Horace (2014, 48K/128K; rated 90% with Sizzler award in Retro Gamer #136 and 4/5 in Enciclopedia Homebrew vol. 1)
The Trunk (2015, 48K/128K; CSSCGC entry)
Seto Taisho Vs Yokai (2016, 128K only; rated 4/5 in Enciclopedia Homebrew vol. 2; physical version available)
Seto Taisho To Kazan (2017, 128K only; bonus game for the physical version of Seto Taisho Vs Yokai)
Sophia (2017, 128K only)
Doom Pit (2018, 128K only; official sequel of Death Pit; direct-to-tape release in bundle with it)