Source Code for “2299 : THE GAME” now available

Let’s kick off the week right with the first full source code commit for “2299 : THE GAME“.

The source code is available under the GPL and the art assets are available under CC BY-SA.

This is really a double-whammy.

Not only do you get the source code and art assets for the game… but you also get the art assets for my comic strip, 2299, under a Creative Commons license.

Cool, right?

Now for some technical details.

There are two, very different, versions of the 2299 code.

The first one is the “old code” that I started putzing with quite a long time ago.  This is the currently released version for Linux, Mac and Windows and is written in Realstudio.  You can grab that version (along with the art) over here.

The second one is the “new code” that is responsible for the DOS specific version and was built with an older version of Adventure Game Studio (the new versions of which are open source under the Artistic License).  This version started as just an excuse for me to tinker around with Adventure Game Studio… then it turned out so well I decided to keep going.  You can grab the DOS version over here. [At least you will be able to in just a bit, I am fixing a few path issues with the project file so it's not such a mess when it gets committed.]

The code for both is extremely different.

In the Linux/Mac/Windows version I implemented custom script, stage, actor and dialog systems.  The net result is that it’s pretty easy to add new Actors and Stages.  Each Actor having events that get fired such as “Talked To”, “Looked At” and so forth.

Honestly it would be pretty trivial to base entirely new games (or expanded 2299 releases) without ever really touching the engine behind it.  For example: To add, say, a new actor (an object you can interact with in the game) you simply create a new instance of the “actNPC” class, add in the initialization code in the “initActorsPlanets” (or whatever you like really) — the initialization code here simply sets the name, graphic and location — and then fill out the events (like “Looked At” and “Talked To”).  Take a look at the “planetEarth” class for a good example of how this works (with fancy branching dialog and everything).

The AGS (Adventure Game Studio) version, on the other hand, is built with that system in mind (and using AGS’s built in scripting language – which is really pretty cool).  There are a few new graphics assets that have been added to this version to make it work a little nicer under DOS (and on tablets when run in DOSbox)… and there are even new toolbar icons that are reminiscent of some of the old Sierra adventure games (though… with a distinctly 2299 style).

There’s not a lot of documentation in either project.  But they are both pretty doggone self explanatory once you take a look.  Want to edit what the Kill Ball says in-game?  Open up “shipKillBall” and edit “ActorTalkedTo”.  Easy peasy.

Now, with that out of the way, time to fix a few issues with the website and pull together the next code drop (it’s going to be a fun week). :)

Share Button
  • Your Average Joe Hacker

    Soooo…. Where’s the actual source? Or is this game really just a giant XML file?

  • http://clems-ramblings.tumblr.com Daniel Clem

    Good to see your back safe and sound :-)

    Could Illumination 5.0 maybe not be the last thing released? I know you are probably waiting to use it for a grand finale. But I was hoping to use some new features that may show up in it for my Ubuntu App Showdown entry. I’m having big problems with how canvases currently don’t support transparencies. And my point and click game will require 4 times the amount of art work to accommodate that :(

    Perhaps I could help “beta” test 5.0?

  • http://www.lunduke.com Bryan

    Your Average Joe Hacker: The project source is stored as an XML for easier diffs. The full source is there.

    Daniel Clem: Illumination 5 won’t be the last thing released — honestly I’m not really worried about making a “grand finale”. :) I’m just getting source uploaded one at a time, as things are ready. Illumination 5 (coupled wit the Lunduke SDK) simply is the most complex project. But ISC 5 source will be available before Linux Tycoon (ISC version) source. :) I’m not sure I can give you an exact day to be honest… but I’m cranking through it.

  • http://clems-ramblings.tumblr.com Daniel Clem

    Awesome! I’ll be keeping an almost distrubingly close eye on here for when you have the ISC 5 debs available. :-D I can almost guarantee that I’ll be one of the first on your download metrics.!!

    God Bless ya B man