The Genius Behind Genius, Dan Liverani

When did you first use a C64? What is your first memory?

My first approach with C64 was back in the day in the mid 80s when I was a teen ager, I remember that almost everyone had a C64 in that period, it was really easy to feel the success of that magic machine. I remember playing for hours with friends with C64, and what amazed me the most was the sound and graphics that he could actually generate. Very much ahead of time at that period. I’ve always been interested in computer programming since I was a child and Apple II and Commodore 64 were the 2 main platform that I was interested in. I remember by the way taking my hands on Sinclair ZX 81, Spectrum, Atari ST and many other brands back in the day. That was a magic period for home computing. As a teen ager by the was I never digged to much into assembly code of 6502/6510, Z80, Z280 etc. I remember that most of my programming attempt was in BASIC, I owned some assembly books, but really didn’t dig machine code too much. By the way I ended up becoming a professional programmer in the automation field, CNC machines, Supervisors, Cad Cam, and I did all the normal programmers path passing through DOS, Windows, C, C++, C# and similar programming languages.

Basically my old machines have been laying in some dusty shelf for 20-25 years I have to say, till 2011 approximately when I’ve been rediscovering retrocomputing and decided to dig more into assembly programming and understanding what really was the structure and the potential of those glorious machines.  

So what games inspired you to get into design and development?

I have to say that I’m more interested in the older games and the ports of arcade games to c64, the ones with the early 80’s look like.To mention some that really influenced me: Karateka, Dyno Eggs, Crisis Mountain, Donkey Kong, Pitfall, Summer games but also later on the newer and more modern games like Ghost & Goblins, Bubble Bobble and many more, as you can see I’m not much into war or fight games, I’m more into arcade type of games of early 80’s, and this cam be seen also in the design of my GENIUS game I would say.

Which coders inspired you to become a coder?

I actually don’t know the names of the historical coders of the 80’s to be honest, by the way I remember that David H. Schroeder, who coded Dyno Eggs, Crisis mountain and other games that were ported in many platforms including Commodore 64 was a great influence for me, in terms of game design.

Who are your favourite SID musicians?

Well, I like very much Matt Gray, Rob Hubbard, these are my favourite I’d say. It was fascinating how these artist could use SID chip in such a creative way to the point of creating real soundtracks scores for games that really helped a lot in defining the games themselves. I’m a musician, classical  trained and rock/heavy performing and I never really thought of approaching SID as a tool for my music creation, but let’s see in the future if something will happen in this side as well in my music creation process.

What was your first piece of code?

My very first piece of code was not a game actually, it was a software that made  graphics in different formats starting from data stored in memory. It was an easy BASIC software that I wrote when I was a teenager. I also did an easy software for printing receipt and invoices back in the day, still another very easy program.

Have you ever coded an intro or a demo?

I’m more into game developing I’ve to say, even though I like to see the amazing results that demo coders are achieving with C64 still today. They’re very fascinating and extremely talented.

What were the challenges you face whilst developing Genius?

The main challenge was speed and portability of the code since the beginning, since I tried to develop a stand alone graphic animation engine that could live on its own, without referring too much on specific hardware features live video chips features etc. The game was first coded in 2015 for Apple II series platform (II+, IIe, IIc, IIgs) using Merlin assembler and I thought this decision could have allowed me to port the game in other platform 6502 based (like Commodore,  Atari, Acorn and more). So rewriting new primitives for graphics and object animation and trying to speed them up enough to handle all the amount of objects that were needed in the most difficult levels was the definitive challenge that took me months of code optimization and work. Also finding easy and fast ways to design characters was a challenge, and I developed some utilities for doing that directly on the old machines. It was fun to run through the various aspects of making the game run in Commodore 64, a great machine that had such an impact on home computing, also it was very smooth to port the code due to the mighty Glen Brendon Merlin 128 version for Commodore  64/128 that allowed me to import fast the basic code without having to type it from scratch.

Back to the game, the concept was taken by my rock opera Genius, a rock opera I composed and produced in 3 episodes audio cds in 2002/2004/2007 that had an international release in the rock/heavy world back in those days. being an idea I’ve been working with for almost 10 years, it was something very present in my mind and ended up to be a good starting point to bring the whole concept alive again in a magic retrocomputing videogame version.

Genius is a young boy that gets caught into this dreaming world during  a “strange awakening process” that takes place a magic morning.He meets an entity called Twinspirit that has been assigned to him as the responsible for creating his fantasies during his dreaming, and this meeting creates a paradox that will cause a lots troubles to  be solved to avoid a dangerous exploitation of Dreams world by Humans.

I took a specific scenario from this concept called the “toy warehouses”. These magic and dangerous places contains all dreams fantasies of “toys”, to be used for human  dreams creations. I designed 8 of these warehouses, placed in various dreams world locations and developed an action game where Genius runs through these magic places, trying to unlock  all doors of its secret chambers, and to grab all keys and toys to complete the opening sequence and get to the final bigger target toy room, where he can continue to the next level.

My goal was to achieve a smooth easy action game, very fast to get into, with easy basic rules that could be fast to learn for a beginner player, but with some good evolutions for the players that would have sticked with the game. I have to say that I’m happy about the result, and it’s been a very funny ride.

Is Genius a source accurate port of the game?

I tried to make the most accurate port as possible, to give to the game its own personality, and I also will try to do that for the next platforms that I will approach. I think that it’s cool that the game has its own style and main look, and may be just some little color differences from platform to platform to give each version some uniqueness feel. Of course I can’t have access to the specific features that all different computers can offer to keep this portability easy, I’ve not used Commodore 64 VIC special features like Sprite, scroll and I just stuck to the hires 320×200 and used it natively with my graphics routine. I had to adapt a bit the platforms levels layouts due to the different color handling of commodore 64 compared to Apple II. In Commodore we have 8×8 cells with 2 max colors each in hires, and color is stored in another screen color memory area, In apple 2 the color is coded in the highest bit of each byte, so the encoding of the sprites is actually 7bit and not 8bit like in Commodore 64. To have an unique portable table of custom sprites I developed automatic reencoding of 7bit to 8bit so I could reuse the original data and I will do the same for the future ports. Another main difference is the way page flipping is handled in Commodore 64, and the way sound is handled by SID. Also for sound I choose to compose the audio with MCS (Music constructions set) and stick to his format developing an original player that could work in both Apple II and Commodore 64 and for the next platform port. MCS was ported in commodore 64 as well and was one of the first notation softwares in the early 80s. I know it might be a pity not using the custom features of each platform special chips for handling video/sound etc, but my main goal from the beginning was portability with the maximum fidelity and accuracy to offer the same experience to all different platform users, that was my initial challenge when I started coding GENIUS.

What game projects are you planning for the future?

Genius will be a trilogy like the rock opera that I wrote back in the early 2000, so there will be other 2 episodes of the saga that will be coded in the future. The main concept and action of episode 2 and 3 will be similar, but with some new features and specific new adds to the gameplay. So it’s too early to think about a new game, I still have 2 episodes to complete of GENIUS.

Thanks for taking the time to chat with us, and we look forward to your future productions.

It was my pleasure, thanks a lot for your interest in my retrogame GENIUS!

Leave a Comment

Follow by Email