History of Commander Genius

All discussion about the Commander Genius project (a Keen interpreter + more).
Post Reply
gerstrong
Vorticon Elite
Posts: 1158
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

History of Commander Genius

Post by gerstrong » Tue Dec 24, 2013 10:30

It started about December 2008, when I was looking for some interesting games for Linux. Since 2006 I use Linux as my main system and I being a big fan of Commander Keen and knowing that there were a lot of cool interpreters like for Doom, Duke 3D, Quake, etc. one day I started to deep search in the net for what existed for Commander Keen. It was pretty disappointing I have to say, very sad.

One day I came across this CloneKeen. Having seen the source code I tried to build it and succeeded. I have to say, that I have been a programmer since then, but not a good one. I had worked on some projects for universities and though I started with standard C as a kid, I needed more practice on bigger projects.

Anyway, I got excited when I had some sources on the hand, were I could play Commander Keen 1-3. Yeah, no galaxy, that also disappointed me, because those were my favorite games. Those were the first games I played when I got my first IBM Computer. I really loved the crisp graphics and as kid I loved more Keen 4-6 for that reason, but well I got over it and playing Keen 1-3 was CloneKeen also nice.

What I especially didn't understand is why there wasn't a version like Keen 4 that supported gravis gamepad. To this date I stand by that, I prefer 4 button gamepad at least for playing Keen. I know other fan think, it is not that original. So I enhanced CloneKeen to support that and even be able to add music, have stereo sound and what already had CloneKeen 2 Player mode, mind blowing! But I always kept in mind, that some people don't want that, so it was added as option.

I tried to contact the original developer Caitlin Shaw and work together with her to extend that awesome interpreter. CloneKeen had a lot of flaws back then.

Unfortunately the developer contacted me much later, so in the mean time I created my own version and called it CloneKeenPlus and started publishing it through sourceforge and PCKF. People like Tulip started helping me on the project by finding a lot of bugs. Also Pizza2004 helped a lot. There was Pickle that also helped but more on porting it to interesting portable device like Wiz, pretty neat.

As IDE I always was a fan of Eclipse I really like it, but having tested other IDEs I have to say, that I like QtCreator with CMake the most.

After some time in 2009 I wanted to start the project from the scratch again, because I saw a lot of problems with CloneKeenPlus due the flaws, and thought we should go further and write it in C++ to allow object oriented programming. Some might think it got overdone. That is, because many people do not know how much value lies in the code. To get the galaxy trilogy with Keen 1-3 working together I needed something different as platform.

The plan was to develop a platform interpreter for 2D sidescroller games and allow to exchange engines. Partly it is nailed down, because Keen 1-3 and 4-6 are different engines tied more or less together on Commander Genius. But all that came later, I only prepared room, because I always had the ambition to support Keen 4-6 one day. So there is room left for Bio Menace, Monster Bash, Cosmos Cosmic upon others.

Albert came to the team with much more knowledge in C++ than myself. He brought us a lot of nice libs and code that helped pushing Commander Genius forward. He also ported CG to iOS and helped fixing bugs provided a lot of good feedback which allowed us to learn more about development. To bad the iOS is pretty old, someone should try to build another version.

With a lot of even more help from Tulip we really nailed down some good physics Keen 1-3 and started to support mods. HQP support came along, so you can play music in Keen 1-3 what never existed. Some adlib sound were ripped Keen 4-6 and added as well. Thank to DaVince and others we got some cool tunes for the vorticon saga.

DSL provided a nice icon which to this day we still use, pretty awesome!

Later Caitlin Shaw wrote, about half a year later, and told me that she would release another CloneKeen version to finish her work and start on other projects. That is what did!

http://clonekeen.sourceforge.net/

http://nxengine.sourceforge.net/

We had the Vorticon engine more a less running pretty well under CG, but I still wanted to support the galaxy games. So Pickle, Lemm, Napalm, me and others started to research. There was little information about the data of Keen 4-6 but of what we got we tried to implement an engine. I think it was 2010 and 2011 when the hardest work was going on. We had everything together expect the music. We had no idea in how this worked, because an OPL emulator was necessary. Well after a lot more research and testing projects that were able to play IMFs, ISFs and so on, like Wolf4SDL, Dosbox, we got it all tied together.

Next task was to create an engine of the galaxy games, and what I always wanted. We did a lot by trial and error. Partly we succeeded. There was code like Omnispeak that gave us ideas in how get some physics and AI done. Also the disassembly by Lemm helped us to get all this working. Also NY00123 helped a lot, especially on the timer and rendering engine. he also gave us a lot of good ideas.

One day came when Keen 4 was at a good working state, about one year ago, I decided to give the version number 1.0 which got released on December 23rd as a special x-mas gift. Only Keen 4 was fully playable at this point.

As the engine stood pretty well, Keen 5 got playable pretty soon at February 2013, version 1.2. Keen 6 got finally added to get at a playable state as well in the month of April 2013 being CG the version 1.4. Those months were a lot of work in getting all the enemies of the levels working (AI stuff) and also provide some special mechanisms not seen in Keen 4. For me it was the first step of a finally finished CG, because from this point on we support Commander Keen 1-6. It represented a huge milestone we got finally nailed. I would say CG is finished, now we need to improve it.

Version 1.6 wasn't too special. Goal was to get more nasty bugs fixed, add some nice features here and there. Most highlights was stuff already found in the Keen 1-3 engine, like 4 players gameplay in galaxy and HQP music. Also that system got improved for both engines, because the players can better interact each other with camera system and helping through the players or being an asshole :-D. XML based savegame was added which helped to get the savegame system more stable especially between files which come from older versions of CG. We also added more difficulties and started to colorize some enemies.

In between that time came Pelya, one of Alberts teammates and also helped on CG, he started his libSDL project for android, which by time got huge and more popular than CG itself.

http://libsdl-android.sourceforge.net/

Since then I also have some games there and the ports gets updated every time I get chance to it. I also maintain the port of CG there.

Version 1.6.5 beta got the intro screen of Galaxy, which really urged to be added and started to support even more mods like Terror from outer space. Also some SDL 2.0 support is now added, making it nice to play.

What is next? Well the 1.6.5 Release. I hope you will like it, because as a release stands for, it will bring you lot of better AI and bug fixes throught all the Commander Keen Games (except Dreams). Hagel helped me this time a lot in hunting down many bugs. I'm nearly through his big bug list and I think after that, the release will be better than ever. I hope so...
Having fun developing stuff...

gerstrong
Vorticon Elite
Posts: 1158
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Post by gerstrong » Tue Dec 24, 2013 10:53

Btw. if I forgot something or got any fact wrong, just let me know, I might improve this article.
Having fun developing stuff...

User avatar
Roobar
Vorticon Elite
Posts: 2932
Joined: Tue Jan 08, 2008 16:12

Post by Roobar » Tue Dec 24, 2013 12:17

Wow! What an amazing Keen dedication! Awesome work men! And were there 5 years already?

Image

gerstrong
Vorticon Elite
Posts: 1158
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Post by gerstrong » Tue Dec 24, 2013 14:16

wiivn wrote:Wow! What an amazing Keen dedication! Awesome work men! And were there 5 years already?

Image
Very nice, thanky a lot!
Having fun developing stuff...

User avatar
Levellass
S-Triazine
Posts: 5261
Joined: Tue Sep 23, 2008 6:40

Post by Levellass » Wed Dec 25, 2013 9:48

Will this be on the keen wiki? Would make a decent longread.
What you really need, not what you think you ought to want.

gerstrong
Vorticon Elite
Posts: 1158
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Post by gerstrong » Wed Dec 25, 2013 13:20

Levellass wrote:Will this be on the keen wiki? Would make a decent longread.
we should consider this...
Having fun developing stuff...

User avatar
troublesomekeen
Vorticon Elite
Posts: 1187
Joined: Fri Feb 03, 2012 8:01
Location: Three-Tooth Lake
Contact:

Post by troublesomekeen » Sat Dec 28, 2013 9:10

Thank you, gerstrong, for writing this. It's Keen History!
Image
Commander Keen in... Canteloupe Quest!

Post Reply