In the great console wars of the early 90s, no fight came as heavyweight as that between Sega and Nintendo. It was Sonic vs Mario, Mega Drive vs Super Nintendo, Mode 7 vs… err… the SVP chip, perhaps? Although the Mega Drive may have struggled to find an answer to the SNES’s graphical capabilities – not that it had a need to – it has recently become apparent that Sega’s 16-bit battler was a far more powerful machine than initially anticipated. In the first in a series of related posts, MegaBites uncovers the modern day pioneers who have discovered new hidden potential beneath the Mega Drive’s shiny back bonnet. First in line is Titan Group, with their incredible 16-bit demo Overdrive.
Through a fusion of fantastic graphical, audio and coding techniques, Overdrive combines a series of effects designed to push the Sega Mega Drive beyond its intended abilities. However, Overdrive is no game, nor is it a product of the 90s; it is a new breed of Mega Drive ROM – a demo to showcase Sega’s console not only as a games machine, but also as an art form. How is this possible you might ask? Take a look for yourself and read on…
Formed in 2004, Titan demo group was created by members Alien^PDX and Irokos – both founders originating from Holland and France respectively. In the years since, the group has grown to 25 members, encompassing Europe and beyond
Combining an array of disciplines – including graphics, graffiti, music and coding – Titan earned its place amongst the demoscene subculture, releasing a series of scene art packs and demo sequences, which breathed new life into retro consoles, in ways never seen before.
Of these consoles, Titan has produced releases for the Amiga, Atari ST, Gameboy Advance, Wonderswan and of course, the Sega Mega Drive. The group also extends its skills to a number of modern day equivalents such as the PSP, Nintendo DS, PC and Mac.
Shifting it into Overdrive
Titan member Kabuto (coder) picks up the story of how Overdrive came to be:
Oerg866(code): MDEM was initially formed as a collaboration between myself and a friend of mine called Jorge. After releasing a demo at the Revision 2011 demoparty, we started toying around with a few ideas for our next project – including the possibility of incorporating the 32X.
For those who haven’t been to one, a demoparty is a gathering usually taking place over a long weekend, which provides various competitions where attendees may compete with their art, music and code productions (demos). Everyone votes on the entries and prizes are awarded at the end of the party. As well as the focus on the competition, attendees also drink beer, eat barbeque food and dance to DJ sets – sometimes all at the same time. It’s a lot of fun!
Overdrive really came into its own in April of 2012 when Alk (music/graphics) invited me to join Titan. Initially I declined, because of my loyalties to MDEM, so we began the demo as a collaboration between our groups. However, it soon became apparent that Jorge was too busy finishing his master’s degree. So, MDEM disbanded and I joined Titan. Initially, it was just me coding on Overdrive and Alien^PDX pixelling. Later, Neoman (code) started contributing as well and the demo slowly began to take shape.
Overdrive’s public unveiling was originally proposed to be the 1st April 2013, at the Revision demoparty – the world’s largest demo contest. Attracting scene members from over 30 countries, the contest in Saarbrücken, Germany was the perfect platform for Titan’s 16-bit showcase. As it transpired, not everything went to plan…
Oerg866: Before I knew it, Easter had arrived and I tried my absolute best to complete Overdrive in time for Revision 2013 – I had three days without sleep! But looking back, what I had was only a rough concept – no transitions and no proper sync.
Alk: Oerg866 worked incredibly hard towards that Revision release! I can vouch for his lack of sleep, since I was beside him at the party. We worked non-stop trying to complete Overdrive in time for the deadline.
Oerg866: It was frantic! I still remember how I had to keep leaving the hall to get some fresh air and gather my thoughts. Eventually – and despite having to compromise several scenes – we had what we thought was the finished demo.
Alk: We shook hands and took the demo cartridge to the ‘Oldskool competition’ organiser to be recorded. To our horror we discovered that the recording equipment could only capture Overdrive in black and white. On top of this, a bugfix that had been implemented at the last minute had introduced another bug! It was quite heartbreaking, but there was nothing else to be done other than admit defeat. However, in retrospect, the non-functioning recording equipment had saved us – the demo had far too many glitches. Despite the setbacks, I was extremely proud and moved by Oerg866′s efforts. At that moment, we promised each other that we’d be back for that year’s Evoke demoparty, to release the final version of Overdrive.
Early concept art…
Although it had its shortcomings, there was no denying Overdrive’s early potential. Undeterred by the events at the Revision demoparty and realising the Mega Drive’s demo potential, the project was swiftly adopted by the wider Titan group. It was just as well that they were already huge admirers of Sega’s 16-bit console…
Alk: The Mega Drive was – and is – an incredible machine. I remember when it became available for the first time in the UK as a grey import from Japan. At that time, it was featured in C&VG Magazine’s Complete Guide to Consoles – a magazine that I read until it literally fell apart! It was in that guide where I remember first seeing beautiful screenshots of games such as The Revenge of Shinobi and Golden Axe. Combined with its arcade-quality music and gameplay, I’ll never forget what an impact the console had on me.
Alien^PDX (graphics): Even though I grew up with a number of consoles in my youth, I never had a Mega Drive – but I knew a kid in my neighbourhood that did. When all the ‘cool kids’ had the NES, we were addicted to games such as Ecco the Dolphin and Sonic the Hedgehog.
Sik: I think I was eight when I got my first Mega Drive. I was already a Sonic fan, so of course I instantly fell in love with that console! In later years, I learned how to program on it and made my own games. Thanks to that experience I was able to help a lot during the early days of Overdrive while the other coders were getting to grips with the system.
Fizzer (code/graphics): I didn’t own a Mega Drive until a couple of years ago! So my only real experiences with it are from my time working on Overdrive.
Kabuto: Me too. It’s a very neat demo platform, but I never owned one until this project came along.
Oerg866: In around 1997 I received my Mega Drive as a ‘phased out’ toy from my older brother. Many nights playing Sonic 2 and other games soon followed, which led me to the creation of my very own Sonic game mods. I began to learn about programming and music composition, primarily dealing with the console’s sound hardware. This taught me a lot about the Mega Drive’s internals and drove me to explore its potential as a demo platform.
Following the Revision demoparty, boosted by its renewed enthusiasm for the project, Titan set its sights on a new contest – the Evoke demoparty, which was set to take place four months later. Finishing the demo with a positive result would require a monumental effort, but it was by no means impossible.
Kabuto: Coders bugging artists, artists bugging musicians, musicians bugging artists, artists bugging coders – that’s all I remember of that busy period!
Oerg866: We worked in extended bursts – working on the demo for days on end with little chance for a break. The deadline was looming and we had no choice but to force the demo through. Although my code was often extremely messy, it worked – that was the main thing! Kabuto’s code was always concise and neat, even if I didn’t always understand it!
Fizzer (code/graphics): There were several scenes that had to be cut, even on the day of the deadline. I remember that Alien^PDX created a version of the ‘Titan’ lettering that was carved in rock. The scene was intended to show each letter as a separate boulder crashing down to form a TITAN pillar. It would have looked really cool, but there was just no time. Perhaps it could be used in a sequel?
Despite the pressure imposed by its new deadline, Overdrive underwent a complete audio and visual overhaul during its renewed development period. What follows is a simplified recollection of the ensuing events. However, those with a taste for blitter chips, virtual frame-buffers and dizzying twister effects, can click here for a more technical account of the processes involved.
The Overdrive overhaul
Kabuto: In order to pull off the demo’s range of effects, we first had to learn about the inner workings of the Mega Drive. Whenever we would come up with a new idea we had to approach it bearing the console’s capabilities in mind.
Neoman (coder): In the first phase of the demo’s development, we tried to realise many effects using the console’s available capabilities. We noticed that not everything that we expected was possible in real-time. Hence we had to either pre-calculate or leave out specific elements in order to achieve an acceptable result – with help from plenty of ROM space. Although we weren’t always successful with what we tried to achieve, we did realise some tricks – the rotating cube effect, as seen in the final demo, for example.
Fizzer: To my knowledge previous Mega Drive games and demos that contained a 3D cube effect used an algorithm that plots each pixel into a virtual frame-buffer (using the CPU to generate tile data on the fly). While this approach can be implemented in a similar way on many systems, it’s not ideal on the Mega Drive because it’s comparatively slow. So, we discovered another method that takes advantage of the Mega Drive’s special abilities and achieves full framerate rendering.
Sik: Then there’s the sound engine. Overdrive uses a modified version of Echo, a sound engine, which was originally made for my Mega Drive game Project MD.
Oerg866: I’m one of the original Echo programmers. During the development of Overdrive, I worked to a technical capacity on its music, adding features and fixing bugs in the sound engine. Programming the Mega Drive’s secondary Z80 processor was both fun and frustrating at the same time. After intense bug-fixing during this process, I’m really glad that the music playback actually worked!
Fizzer: Another of the scenes that I worked on was the long side-scrolling animated image sequence that appears towards the end of the demo, which we called MegaScroll. To construct this scene, I wrote a tool that converts an animated GIF image into a set of tiles and a ‘script’. In this way, I was able to instruct the Overdrive program on what tiles and palettes to load and animate.
Alien^PDX: Just to add to everything already mentioned here – the loader at the start of the demo, with the weightlifting robot – it has no function whatsoever. We just thought it would be cool. Oh yes, and we also discovered that the Mega Drive’s video processor was capable of recreating a pseudo Mode 7 effect, as seen in a part of the demo that we named Botty Having a Bath. Weightlifting robots and Mode 7 on the Mega Drive – you definitely can’t beat that!
Deadlines, dilemmas & watermelons
As quickly as development progressed, the competition deadline drew closer. The weekend of the 16th August 2013 arrived and there was no turning back. It was time for the Evoke 2013 demoparty.
Hailed as one of Germany’s largest demo events, Evoke 2013 was a party by name, but a contest at heart. The 2013 party comprised of various competition categories – including PC Demo, PC 64K Demo, PC 4K Demo, Interactive, Animation and the Alternative Demo category. It was in the latter category that Overdrive was entered – one that allowed any platform to be used; from computers, to calculators, even overhead projectors. It was at last time to see if the sleepless nights had been worth it…
Alk: With just a few hours left before the final deadline, there were six of us sat around our table, racing to complete the Overdrive code – myself, Oerg866, Neoman, Kabuto, Fizzer and Jix. Working remotely via the internet were Alien^PDX, Sik and two further team members Dstar and Strobe.
Oerg866: The stress continued! As fun as Evoke 2013 turned out to be, the workload was still very intense! Time was short, so we tried our best to distribute coding duties amongst the group. Jix, for example, had arrived to the party only a few hours before the deadline, and he had no previous experience with the Mega Drive, nor its Motorola 68000 processor. However, many retro systems have hardware similarities and Jix had worked extensively on the previous Titan release for Wonderswan. So, he sat watching Neoman intently, who was trying to fix some graphical glitches. After some time, and having asked numerous questions about the 68000 instruction set, Jix somehow spotted a bug that had been eluding us!
Alk: We hit another huge stumbling block when we realised that the 3D titles during the credits scene glitched and flickered when being displayed on the Mega Drive hardware. As if that wasn’t bad enough, the one person who had the ability to fix this effect was nowhere to be found – Kabuto!
Kabuto: I had to leave the party to attend a wedding on the day of the competition, there was nothing I could have done to avoid it! So they wouldn’t miss me, I left a watermelon in my place.
Alk: I ran around the hall like a madman – inside, outside, everywhere. I went round asking everyone and anyone if they knew Kabuto’s mobile number, or knew someone who might know his number. I was desperate! Finally, I found fellow Titan member Medo. Luckily, he had Kabuto’s number. Incidentally, Medo was also the guy who sang the “Tiiitaaan!” vocal in the demo’s intro.
Kabuto: By this time, I was already at the wedding. My phone rang and it was Alk, telling me about a bug that they were struggling with. He passed the phone to Neoman, and between us we managed to resolve the problem! Later that evening I raced back to the party, just in time for the screening. It was totally worth it!
Alk: We completed and submitted the demo with less than an hour to go before the competition began. We’d done it! It was time to sit back with a beer and watch the contest!
Neoman: The demo looked incredible on the big screen! It was great to get such a reception from the crowd.
Oerg866: That feeling when the demo finally hit the crowd… it was like a drug. It was a moment I will never forget.
Alk: After such a long development process and the huge effort by my fellow teammates, it was brilliant and surreal to finally see Overdrive on the big screen. The crowd’s reaction was fantastic, with laughing, cheering and shouts of “Seegaaaa!” and “Titaaaan!”.
Alien^PDX: As I was unable to attend, I watched the whole event on the party’s webstream. Knowing that many of the team were stood in the audience, hearing the crowd cheering and applauding for the effects gave me goosebumps. It was pretty crazy.
Sik: Like Alien, I was also watching the screening on the stream. Then came the award ceremony…
And Overdrive came first.
But next for the group?…
Alien^PDX: Besides the Mega Drive, I’d really love to do something with its biggest enemy – the SNES, which has received practically zero demoscene attention.
Kabuto: You know, from a technical standpoint, even though some may believe that the SNES won the console wars back in the 90s, and despite the fact that it has more capable graphics and sound hardware, the Mega Drive actually has the better CPU. It is also much nicer to code on. Not many people know this, but Nintendo actually tried to achieve backwards compatibility with the SNES, but later dropped the idea. Nonetheless, Nintendo used a NES-compatible CPU in the SNES, making it quite slow. But I digress…
What does the future hold for Titan demo group? More demos, more Mega Drive and more competition for all you 16-bit developers out there! “Titaaaan!”
The original Overdrive ROM can be downloaded here.
If you’re intrigued by the world of demos and effects, or perhaps you think you may have something to contribute, you can get in touch with Titan at firstname.lastname@example.org, on the web at www.titandemo.de or on EFnet IRC at #titandemo.
HUGE thanks go out to Alien^PDX, Kabuto, Alk, Oerg866, Sik, Neoman, Fizzer and all at Titan demo group for the stories, laughs, clips and images. Good luck at Evoke 2014!