Alessandro Grussu


Behind The Scenes: Sophia II & Ad Lunam

 
Published in Al's Spectrum Annual 2020

Behind The Scenes

In 2019, I made and released two new titles for the Spectrum. Two games very different from each other, that were my chance at experimenting new techniques and keeping producing something that should not be, for the most part, a photocopy of previous works. Here, I tell trivias and background information about them.

Sophia II

Sophia II was not originally going to be called Sophia II. The origins of the game lie in the ZX Dev Remakes 2018 competition, to which, in the end, it was presented, reaching the ninth place in the final ranking at a short distance (less than a hundred points) from two notable titles such as Tiki Taca and Ninjakul 2.

Sophia II is in fact a reinterpretation of Styx, the very first game created by Matthew Smith, for the 16K Spectrum in 1982. The game is very simple: the player guides along the screen, divided into three parts from top to bottom, a character who can shoot a sort of laser just left or right.

The first part is a maze crossed by spiders incessantly generated by a spider queen placed near the exit. Killing the queen stops the generation of spiders, but is not necessary to open the exit.

The second takes place underwater. The character swims from right to left; hordes of cannibal fish rush against him, and they must be killed to reach the exit. The poisonous algae that cover the lower part of the level should also be avoided.

In the third phase, it is necessary to pass through a sort of hall populated by diagonally-moving monsters, beyond which lies the final enemy, the Grim Reaper. A laser shot on his skeleton face and the game starts again from the beginning, this time with a greater number of monsters to face.

Why did I choose Styx as a game to "redo" to participate in the ZX Dev? For two reasons. The first is that Styx was one of the very first games I experienced on the Spectrum, when in the summer of 1984 (I was 11 at the time) my father bought me a 48K. I must specify that I did not try it in the original version, but as…a pirated copy of a pirated copy, in the sense that it was a homemade copy of the fourth issue of Load 'n' Run, a mixed paper/tape magazine which, alongside to games, demos and utilities created by its readers, published games of English origin translated into Italian with false names and without mentioning their real authors. The latter was, as I wrote in the Spectrumpedia, a common custom in Italy at the time, and it would have been so until the early 1990s. So Styx was initially known to me as Survival. It wasn't until many years later that I learned that it was the debut of Mr. "Miner Willy".

The second reason was that Styx, due to its simple and at the same time modular structure, lent itself well to being repurposed in the form of a game consisting of distinct parts linked by a common narrative, a scheme that I previously followed when creating Cousin Horace.

So it was that in November 2018 I began to design the new game, a considerably enhanced reimagining of Smith's game. As a working title I chose Acheron, the name of another river in Hades. While I was designing the general lines of the game, I reflected on the type of characterization given to the main character, something that was completely absent in Styx. Soon it occurred to me that the setting was generic enough to include, instead of an anonymous sprite, a character whom I had already given a shape and a story to. In fact, Sophia, which came out a year earlier, had been received very favourably, and I was intrigued by the idea of continuing to tell the story of the magician girl. At that moment, Acheron became Sophia II.

Compared to the first title, Sophia II would have had, given its being a remake of Styx, three levels instead of four, but larger and more diversified by type of action: a dungeon, an underwater environment and a sort of residence for the Reaper. At the end of each part there should have been be a final boss. For the first and third part there were no problems, since the spider queen and the Reaper were already present in Styx, but the second would have required a totally new one to invent. I chose a giant hippocampus because I find these beings fascinating and I loved the idea of including them in my game.

Styx's laser beam tended to discharge, becoming shorter and shorter; in Sophia II I kept the need for the player to keep an eye on the mana, which in fact constitutes the magic "ammunition". Unlike in Sophia, however, mana is unique here.

The part most reminiscent of the first episode is the second, with skulls replaced by amulets which shape recalls the famous eight-pointed star of Chaos and an underwater volcano instead of the cauldron.

For the design of the basement of the first level I took inspiration from the excellent work done by Jarrod "BiNMaN" Bentley for Ghost Castle, while the cursed bones are reworked from the Gauntlet ghost generators and the tombs from some details of Mr. Weems And The She Vampires.

Other elements - suits of armour, fireplaces, trunks etc. - are wholly designed by myself. A significant issue concerned the third part, which in Styx was just one large room. Sophia II's third level had to match the vastness and complexity of the other two, and at the same time be distinct from them in terms of game mechanics. I therefore adopted a "platform and ladders" scheme, where Sophia would not have been able to use her offensive magic, since this has effect only against living or undead beings, or against other spells such as the Reaper's astral projection.

Therefore, threats would have come from robots, acid pools, burning floors, spinning blades and weights ready to fall on Sophia's head. To make things even more complicated, I decided not to give any clue to the player about which magic barrier would have been disabled by each of the switches, unlike the amulets that in the first two parts each open the door bearing the geometric figure (triangle, circle, square) corresponding to the shape of the amulet itself.

The last level of Sophia II also contains a secret room which, if thoroughly visited, allows you to strengthen the offensive magic, so that it is twice powerful against the Reaper. To this day, it seems that no one has yet been able to find it!

From the point of view of technical realization, I consider it a point of pride to have made sure that pressing the "up" key, or pushing the joystick up, allows Sophia to both jump and climb a ladder when she is under it, thus eliminating the inconvenience of having to use two separate controls to be able to perform the two actions, and that she cannot go up a ladder by jumping over it sideways. These design choices are motivated by the desire to make the game more refined and immediate to enjoy.

As always, I paid attention to user feedback: Sophia II was received very positively - even more, if possible, than Sophia - and strengthened the charm of the young sorceress with many players. Immediately after the launch, a player commented that it was strange to see Sophia underwater, in the second level, appearing identical to the other two. It sounded like an interesting suggestion to me: I quickly created a sprite of the protagonist while swimming, and I realized that it actually conveyed the impression of an underwater setting much better. Also in the second level, I tried to insert particles to simulate the air bubbles of Sophia's breathing, but I did not like the effect, they looked superfluous and distracting. Not always more is better!

The ability to choose two difficulty levels was an idea that came to me when the development of the game was heading towards its conclusion. Of course, the player must feel enticed to finish Sophia II in both cases, so I designed two different endings. From the continuity point of view, the canonical ending, which would set the starting point for a possible Sophia III, is that of the Princess level (difficult).

As in Sophia, I wanted to emphasize the game action with music inspired by real compositions. However, while in Sophia, except for Mozart's Dies Irae for the fourth level, background music is inspired by folk tunes, for the second chapter I wanted to draw inspiration from classical music. In the end I chose the Danse Macabre op. 40 by Camille Saint-Saëns for the first level, the Waltz n. 2 from the Suite for variety orchestra by Dimitri Shostakovich and the ending of the William Tell overture by Gioachino Rossini. The first composition expresses the sombreness of the dungeon, the second suggests the movement under water and the third Sophia's momentum against the terrible threat impending over her small principality and the world. The music forthe endings is the first movement of the fanfare for trumpet, violins, oboes and timpani by Jean-Joseph Mouret; majestic, as befits the triumph after an arduous struggle.

Finally, I would like to spend a few words on the underlying issues. Like the first title in the series, Sophia II eschews the two main stereotypes of women in video games, namely the "damsel in distress" and the "curvaceous bombshell" a la Lara Croft. Ersh, who translated the game and documentation into Swedish, called her "cute and badass", and this is precisely how I imagine her. Sophia is a cute character - her appearance is inspired by Chibi figures after all - but at the same time she is courageous and confident, aware that evil can only be defeated through knowledge and its application for purposes of utility and emancipation for herself and the others. In contrast, the Reaper transforms individuals into mindless beasts with the false promise of individual fulfilment, exploiting them in order to build lethal machines which would allow him to dominate the world.

Ad Lunam

The interest in space exploration and astronautics predates my interest in the Spectrum. I still remember the TV broadcast of the first Space Shuttle mission launch on 12 April 1981, shortly before I turned 8. At the same time, I was avidly reading books on the subject - in particular, the Astronomia encyclopaedia published by Armando Curcio Editore - and in newspapers and magazines circulating at home, as well as on the TV, space-related news always caught my attention. It was not difficult to imagine that sooner or later the two paths would cross.

Years ago I discovered a DOS game, already old at the time: Buzz Aldrin's Race Into Space, programmed by Fritz Bronner and released in 1992 by the legendary - and unlucky, alas - Interplay. Based on a board game, Liftoff!, created in 1989 by Bronner himself (a unique case of a board game and its videogame transposition made by the same person), BARIS placed the player in command of the US or USSR space program starting in 1957. The aim was to send a crew to the Moon and make it return safely to Earth before the adversaries, and within twenty years. To achieve this goal, it would have been necessary to design, build and test rockets, probes, capsules and so on, recruit and train pilots, organize and perform missions, trying, year after year, to make do with the always limited funding and to cope with the inevitable accidents and unexpected events.

Back in 2018 I thought about the possibility of translating BARIS into a Spectrum game. From the beginning it was clear that it would have been a simulation, a category that in the early years of the commercial "life" of the computer had been present with many titles, but gradually had given way to other genres and remained almost exclusively represented by football simulation titles, epigones of the classic Football Manager. But then, towards the end of that year, I started working on Sophia II and put the idea aside for a few months.

In April 2019 I resumed the idea and played several games at BARIS, studying the manual carefully at the same time, trying to identify the main lines of the game, being aware of the fact that on the Spectrum it would not have been possible to reproduce everything exactly as it was. Besides, I shared the criticism made to BARIS at the time of its release: an excess of micromanagement, which made life difficult for the player.

Trying to convey the dynamics of the race to the moon as faithfully as possible, Bronner had created an incredibly complex and deep title, but far too detailed and frustrating at times. For these reasons, I would surely create a complex, yet straightforward game, where the player should receive the information necessary to make his/her choices without having to browse too many menus or take care of aspects that end up being extremely marginal when compared to the general scheme of things.

In early May I drafted the initial game plan. It would have been my very first work in ZX-Basic, the programming tool created by José "Boriel" Rodriguez, derived from Spectrum BASIC but enriched by numerous enhancements. I had been following the evolution of ZX-Basic for some time, but I hadn't done anything yet with it, apart from a few simple test programs. In short, I realized that, on the contrary, the new game would have been my most complex and demanding title ever.

Choosing the name was easy. Since I wanted a culturally "neutral" one, as I usually do with my games, I baptized it Ad Lunam, "towards the moon" in Latin. Likewise, I had in mind from the beginning to use the Robert Grossman's historical illustration which appeared on the cover of Time Magazine on 6 December 1968 as the inspiration for the loading screen. The character set was modelled on that of US Gold's Dream Warrior; that horrible game proved itself to be useful for something, after all...

I discarded some aspects from the beginning, such as exploration missions towards other planets, since I wanted the game to focus only on the race for the Moon; or the different research centres for each space program (Mercury/Vostok, Gemini/Voskhod etc.).

Later in May I moved on to the coding phase. Some things were streamlined, in order to make the gaming experience more accessible, but also because I soon understood that I had to use every means to save memory. In fact, Ad Lunam had to run at least on a 48K, and this meant leaving aside graphics and sound, apart from some sparse use of the beeper. I did not want to leave out those features I believed to be essential to the gameplay because of that.

The difference between "astronauts" and "cosmonauts" was also omitted for memory reasons, so they are generically called "pilots". In contrast to BARIS's complex recruitment scheme, which reflects the practice of the time, pilots are all usable from the beginning, instead of being selected through training. From this it follows that the "Soviet" player does not receive any advantage in terms of prestige if he/she chooses Valentina Tereskova as pilot for a mission: this would give him/her an advantage over the "American" one. In BARIS it may happen that one of the aspiring fictitious American pilots present alongside the real ones is a woman, but the simplified recruitment system of Ad Lunam does not allow for it.

Initially, not only pilots, but also scientists and technicians had to be recruited. The former would carry out the research, while the latter would make vehicles and equipment, a bit like in Ufo Enemy Unknown. Hiring more technicians and scientists would speed things up. However, it seemed too convoluted in a context like that of the race to the Moon, so I decided to keep the scheme already present in BARIS, where each project can be assigned to a maximum of five technicians, with a different cost per technician depending on the project, while manufacturing is assigned to an external company, to which you order what you need.

The simplified structure of Ad Lunam made it necessary to modify the time flow. In BARIS a turn stands for six months, in Ad Lunam three. It takes more time to research vehicles and equipment, and the actions that the player can perform in each turn are not many, since they derive from the amount of funds available, and funds can only be received in spring.

While working on Ad Lunam, I had the confirmation of something that I considered in the planning phase: the most complex and difficult parts to create would be the planning of missions and their execution. The great variety of programmable missions meant having to establish a series of points in order to frame all the possibilities within certain lines, so that there were no inconsistencies, for example sending a Mercury capsule, or a Soyuz without a lunar module, to the Moon; or again, selecting a pilot without specific training for a given mission.

Other types of initially planned missions, such as those with animals, suborbital flights, or joint missions with docking in orbit, were also put aside. On the contrary, I wanted to keep giving the player the opportunity to choose one of the four approaches considered in the early 1960s by both sides to the problem of how to send a crew to the Moon and make it go back to Earth.

At times, programming Ad Lunam was almost a nightmare. Some features, such as the selection of pilots for the missions, were remade several times, because the solutions initially adopted did not convince me after I tried them in practice. Other times it happened that when one thing was fixed, another two would fail. For this reason, I allowed myself several breaks, even though I managed to present a first partial version for the 20th of July, the fiftieth anniversary of the Apollo 11 landing, starting to arouse considerable interest. With some wonder on my part, I must say: Ad Lunam belongs to a genre that was considered somewhat of a niche already in the golden age of the Spectrum. Besides, I would have expected, given the anniversary, some other "lunar" themed game. Mine was the only one instead.

One part that I like to underline about the game, even though it may seem impractical, is the possibility to save to and load the game from tape, as it used to be. All of my games are designed for use on real hardware, and a complex and extensive title like Ad Lunam is no exception. I know that the vast majority of users play it, and will play it, under emulation, where a couple of clicks are enough to save a memory snapshot. However, I wanted to keep the opportunity to memorize the state of things even for those who intend to run it on their Spectrum.

In the end, after numerous tests, I released the first official version on December 20, almost as a Christmas gift to the Spectrophile community, together with the source code (first time ever for me), and a detailed nine-page manual, coming, as the game itself, in three languages: Italian, English and Spanish. Someone already managed to complete it without a hitch, and this confirmed the good debugging work done before release.

There are still some marginal imperfections, such as some writing not completely erased during certain missions, or some sentences left in Italian in the English version, but these are marginal defects that do not affect the good performance of the game, and that I will correct after publishing this annual magazine on the web.

I can say that programming Ad Lunam was not easy, but it was worth it and satisfying; I learned a lot from this experience. As with my other creations, I hope users enjoy playing it, as much I enjoyed making it, and even more.

Alessandro Grussu