Sunday, 30 July 2017

One small step for man, one giant leap for the Commodore 64

The making of Planet Golf - Part 1

As of July 28th, Planet Golf, my latest work for Commodore 64, is available. If you have not done so already, go check it out! And maybe buy a copy too: All the proceeds go to Unicef. It can't be that bad, after all.


It has been a fantastic one-year ride and to see it finally come to completion, with a nice old style packaging, feels like an enormous achievement. Benefiting from the help of incredibly talented composers and artists, I could finally focus solely on the actual game design and programming. In fact, Planet Golf has so many new aces up its sleeve compared to P0 Snake, the first game that I published, that I thought it would have been interesting to blog about all the things I learned in the process. I am starting with what I believe is the most intriguing one: Full Motion Video.

Why FMV?

The B-side of the floppy (yes, back then floppy disks had two sides. You could manually flip the disk and enjoy an additional 170Kb of 8-bit greatness) comes with a bunch of extras, one of them being "Planet Golf – the story so far". The game takes place in the year 38911, when humanity has colonized most of the planets of the solar system, and space tourism has been a reality for many centuries. So much so that the first interplanetary golf tournament is about to start. But how did we get there?
In the 80s, most games that would have benefited from a preface got away without this, providing the user with a leaflet or a section in the manual.

Enlightenment User manual

There were few noticeable exceptions though, especially in the late 80s, when disk drives had become more affordable and software houses had started investing in this media, thus relinquishing the constraints of tapes (painfully slow and sequential-only loads). One of my favourite was Last Ninja 3, by system 3. This game has a cinematic intro that fills in the player with what happened since the end of the previous chapter of the trilogy.

Frames from Last Ninja III Cinematic Intro

It came very late in the life of the Commodore 64, at a time when players had already been spoiled by the marvels of console games and 16-bit computers, but few of us were still playing with the humble Commodore 64 mainly for nostalgia. Yet, the first time I saw it, I remember being totally blown away by the technical achievement and the impeccable implementation. Not only that: most importantly, I thought that this intro was not just a blatant show-off of the programming prowess of the developers, but it rather added depth to the game. You could see that there had been a development in the story, there was a path that was being followed. Of course, to watch it now, in the times of Hollywood game productions, will put a smile on your face. But you have to bear in mind that when this came out, players on the Commodore 64 were used to a static screen with credits and the evergreen "press fire button to play". Cause that is what games were for, and still are. But Last Ninja 3 was one of the first pioneering outings in the industry that tried to close the gap between videogames and other type of media. And if you are still not impressed with this, think that Robin Levy lit each of those pixels, for each of those frames, one by one. And that was a time when mice were not very common yet, so maybe he did so with a joystick!

With this intro in mind I thought it would have been nice to explain what had happened in the universe of Planet Golf before 38911 with a "cinematic" preface to the game. In doing so, I tried to somehow up the ante and add full motion video coming from real footage. Pretty much for one simple reason: I'm no Robin Levy and I couldn't really see myself drawing all those pixels by hand!
First, I thought I would put an excerpt from Kennedy's famous speech to the congress in which, following the first successes of the Mercury space program, he basically announced funding for NASA's Gemini and Apollo missions that would eventually put a man on the moon.

This is also known as the "Kennedy Challenge" and it is an incredibly inspiring speech, belonging to a time when politics encouraged (and empowered) people to come together to accept and overcome challenges, rather than putting them against each other over problems. But this is another story!


The Kennedy Challenge

"I believe that this nation should commit itself to achieving the goal, before this decade is out, of landing a man on the moon and returning him safely to the earth"


I thought I would also alternate credits with more footage from the Apollo missions, like the Saturn V lift-off and a moonwalk. Oh, and of course the famous countdown and the iconic "Euston, the Eagle has landed!" sequence had to be there too.  I also envisioned a speaker doing some voiceover, plus some solemn music playing in the background. 

Bask in the glow of my storyboard!

With the script out of the way I was left with the following figures: In total we are talking about roughly 70 seconds of digitized speech and music, and a grand total of 30 seconds of video alternated with few stills for the credits, making up for the remaining 40 seconds.
After we have taken off the data for the other extras, There are about 120 Kbytes of floppy disk space left for the cinematic intro and we need to squeeze-in all the aforementioned components, plus of course the code to use them. There’s no doubt we are going to use the whole 120 Kbytes for this task, but this also means that, besides audio and video, there’s a third component that we have to take care of, and it’s I/O. The commodore 64 gets his name from the amount of memory it comes with, that is 64Kbytes. Therefore we need to “stream” the data from the floppy disk while the video and the audio keep playing. Quite ambitious, isn't it? And, let me remind you, the Commodore 64 is equipped with a 1Mhz CPU capable of 8-bit integer math, no less. There is no doubt we will have to come down to compromises.
I’ll see you in the next post, where we’ll dive into the technical details of the implementation and see how, once again, the limitations of this machine can become its strength.

No comments:

Post a Comment