Sunday, December 02, 2012

Cannonball Source Code Release

I'm delighted to announce the release of Cannonball; a portable C++ OutRun engine. This is the product of many years of reverse engineering, hacking and debugging.

The entire OutRun codebase has been decompiled and rewritten from scratch in C++. This extends to the Z80 sound program code and therefore full audio is supported.

Not only that, but the game now runs at 60 frames per second and many bugs present in the original code are eradicated.

This is just the beginning. Future releases will include a full menu, proper control, video & audio configuration  plus an array of options and game modes not present in the original game.

I'm hoping to find OutRun enthusiasts who will port Cannonball to a variety of platforms. I'd love to see Linux, Mac, Wii, Raspberry Pi and other platforms supported. I will facilitate serious offers of help. We can ensure that any changes make it into the master branch, so it's easy to keep ports up to date.

The codebase isn't perfect; the original code from 1986 can prove messy and inconsistent. Some of this is naturally carried through to the rewrite. For now, the focus has been on the accuracy of the conversion, at the expense of serious refactoring. But that's not to say this isn't a viable future goal. And I've been working on this long enough, it's time to release.

Why do this? Because I love OutRun, and no one else would have done. Thanks to those who have followed the project up to this point. Any questions - post them below!


Osso said...

Congratulations! Awesome project!

Nevat said...

Congratulations for this "long-time" work.

Question: How difficult is to port this engine to other platforms like Linux, OSX (with gcc and g++ compilers for example).

yt said...

Nevat: For any platform with SDL and gcc, it should be very very easy.

matt said...

Congratulations! Thought you might like this cool OutRun animation

bluepillnation said...

Congratulations bud - cap doffed.

(PS : Thanks for the sprite viewer - between that and MAME I reckon I can get my project underway soon! :)