He came from nowhere … actually he’s from the Netherlands but Paul Koller or Paulko64 as he goes by in the C64 scene, isn’t one of those still active legends from the 80’s and 90’s like Jeroen Tel and Manfred Trenz. Instead Paul Koller took up the old hobby of assembly coding from his youth when he was in his early thirties and set out to port successful indie games such as VVVVVV, Canabalt and Super Crate Box to our beloved Commodore 64.
Paul Koller, the man behind C64anabalt and Super Bread Box.
Porting games to a platform that had it’s glory days in the 80’s might seem like a horrible waste of time for some people but since you’re reading this blog you’re probably not one of them. For Paul Koller it’s about overcoming technical challenges.
- Having grown up with the C64 and knowing the limitations, there are lots of new game-ideas developed nowadays in the indie-scene that would work very well on the C64. It would be a shame if the C64 would not get a port in that case, says Paul Koller.
But he’s far from alone in his quest to revive the old C64. According to the C64 Scene Database there’s been roughly 40 games and probably twice as many demos/intros released so far for the Commodore 64 this year. Paul Koller believes the main reason the C64 has such a devoted following is that it once reigned supreme in livingrooms all over the world.
- It had the best compromise between cost and performance at that time and could therefore dominate the market. Another reason is that contrary to other platforms like Atari or Amiga, the C64 has only 1 fixed configuration. This means that once you release something, you can be certain that everybody can enjoy it in the same way. This also made it possible to make use of certain hardware “bugs” or “features” ensuring that the platform could compete even with 16 bit computers at the time. It’s production was actually not stopped because of a too small market, but because Commodore went bust! The C64 scene got a boost in recent years due to several competitions being ran. Games, demos, graphics, music, there are competitions for everybody. So everybody can contribute something here. And the last reason I can think of is that lots of tools are available nowadays, making it much easier than back in the days in developing stuff.
Coding for the Commodore 64
His own first coding experience was with Basic on his father’s Commodore 64. Eventually he advanced to assembler on the same platform during his university years. But it was only five years ago that he started working on any major game projects. His inspiration came from seeing fresh new ideas from the emerging indie gaming scene, ideas he realised would work well on the C64.
If there is one thing that could stop Paul Koller from coding for the Commodore 64 it is actually coding on the C64. Rather than hunching over the far from ergonomic keyboard while trying to shoehorn source code, compiled code and compiler/editor into 64 kilobytes of ram Paul Koller uses all the modern day technology help he can get.
- I write my code in a simple text-editor and use one of the widely available cross-assemblers for coding. Graphics I usually develop myself, since it’s very closely linked to the technical limitations. But also here lots of great sprite and background editors are available. SID-music is also developed on a PC through Goattracker. Mikkel Hastrup is an amazing SID-musician, and it’s a delight to have worked with him on SBB, while he also developed the SID-conversion for C64anabalt!
Learning assembly language is according to Paul Koller the only way to be able to code anything useful on the Commodore 64. And while he thinks it’s a good way to learn how a computer works on a low level he notes that the techniques you use are pretty much useless when put in modern day code.
- The best tip is to just start writing simple things. Don’t expect to write the next best game in a few weeks. First learn all the basics. But try to keep it fun to keep your motivation up. Motivation (or the lack thereof) is THE primary reason C64-games often do not get finished. start with something simple like moving a sprite over the screen with the joystick. That’s how I started. Add some backgrounds, enemy sprites and you almost have a game already.
The first game he released for the C64 was a demo of “VVVVVV”. He’s mentioned in several interviews that he want’s to finish the game but so far nothing has been released.
- Remember what I said about motivation… Well VVVVVV is a prime example of this. Having released the demo, I now still have to do all the less-interesting stuff, like converting all the levels, but most importantly I need to rewrite the core of the game since I made some bad choices at the beginning of the project. So although I still want to finish it someday, motivation is a bit lacking here. I do have a version here though which has significantly more content than the demo.
Luckily the hyped Super Bread Box did not suffer the same fate. But it was delayed due to bugs, for instance how the game slows down when there’s a lot of data has to be dealt with simultaneously.
- You need to do a lot of bookkeeping to do a nice slowdown effect. Also NTSC-fixing made this slowdown coding even more difficult. Eventually I fixed all this and the game was more or less finished at the beginning of the summer. But then we still needed to get the artwork commissioned, the website needed to be built, and also negotiations with Vlambeer all caused some serious delays. But I’m happy it’s released now.
Super Bread Box – Moon Temple level.
Super Bread Box – Rocket Silo level.
Super Bread Box – Construction Yard level.
Then again it is the challenge that makes it interesting for Paul Koller to port modern day games to the C64. Apart from reasons like being a fun and addictive game all the enemy sprites in Super Crate Box move from top to bottom, which made it a good project to try his first sprite-multiplexer routine. For Canabalt the challenges were the procedural generation and the parallax background. For his latest project Micro Hexagon a port of Terry Cavanagh’s Super Hexagon the challenge seemed daunting.
- Everything about Super Hexagon looks quite impossible to port to a 8 bit machine! But no challenge is too big for me I always wanted to try my hands on a 3D-kind of game, but without the slow gameplay that is usually associated with these games on a 8 bit machine. The only way to keep the speed up is to precalculate as much as you can. Hexagon actually has a quite “symmetric” engine so I thought that would work well. But then I translate the CPU-power issue to a memory issue. The latter is now actually the biggest challenge, to get as much of the original game in there as possible.
Paul plans to compete with Micro Hexagon in RGCD’s C64 16KB Cartridge Game Development Competition. The annual competition held by the british game publisher Retro Gamer CD. First time Paul Koller entered the competition he came in second with C64anabalt, with Super Bread Box he won. If he can defend the title this year remains to be seen.
Paul Koller’s C64 port of Terry Cavanagh’s Super Hexagon – Micro Hexagon
What Paul Koller plans to tackle next time is yet to be seen. In previous interviews he’s mentioned that he’s been looking modern day classics such as Cave Story and Super Meat Boy. However as the list of new interesting game concepts grow longer his focus usually shifts to something new. But looking back at the unfinished “VVVVVV“ it is pretty safe to say it won’t to be a Commodore 64 port of Super Mario Bros or Zelda.
- I want to focus on “smaller” games with more procedural level content than a big game with lots of levels to convert. The last is a recipe for a motivation disaster halfway through I guess…
Top 3 by Paul Koller:
- Classic Commodore 64 games
Uridium, Raid on Bungeling Bay and H.E.R.O
- Current Commodore 64 games
Assembloids, Super Bread Box* and C64anabalt*,
*Might seem blunt for me to list these two, but one of the reasons I wrote them is because they are fun to play, even if you know them inside out like I do
- Indie games on any platform
Spelunky, Super Hexagon and Super Puzzle Platformer