The Future of Commander Genius 2014

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

The Future of Commander Genius 2014

Post by gerstrong »

The future is pretty bright but also unknown for me at parts and for those who use CG even more, so I'm trying to bring some light into what I plan this time. It is split up into subsections:

a) Code structure -> Better Code

I'm proud of what CG is able to do, but I also hate some parts of the code and if you ask me, it is too much for what it does, I guess, not sure though. It is just, I'm pretty surprised what still can be done without C++, in plain C and works as similar if not better sometimes. Still there are a lot of unused features in CG which wait to be taken in use of.

Also the critics by NY00123 and others make me think that I still need to improve a lot my programming skills. Sometimes I feel that C++ is too powerful for my needs, but still, I love the features. Good thing, they remind me, because by this way, I also can learn more...

So, right now I'm splitting up CG at more modular way. The GUI classes are becoming classes that will be part of a Kit. That Kit will be more powerful, because some touch functionalities for touch based devices will also be added. more about that will be discussed later on. It is in early development and far from being finished. I will release that Kit, when it's ready. And yeah, I've been working on that lately for those who wonder where I have been lately...

The Kit will be in a form of a lib and some headers which in future will only be used by CG for the menus. Something like the SDL libs.

Furthermore I want to split the engines more and add a basic engine as tutorial for people who want incorporate other games like Monster Bash. Galaxy and Vorticon engines are there. I want to support more engines and split them up. Not sure how it will be done yet...

As I don't want to stand in the shadows of Commander Keen for the whole life I want to create my own game. The engine is done, now we need some neat ideas.

This is beyond future, but the principle to reuse code is what I want to maintain. Code is much more worth when it's reused, evenmore when others use it.

b) Network gameplay delayed

I'm pretty sorry, but network will have to wait. it also pisses me off, that it isn't done yet, but it's better that way now, because it's not so easy to implement. I wanted to release 1.8 with netplay support but I will have to delay it. I don't see that CG is ready for that yet in most regards. Even without netplay I see a lot of issues on different version and devices, as explained in a). I will support it at some point of time but I think it will be more for version 2.0. Please be patient it will come. Everything else planned for version 1.8 went into 1.6.5 so I think there is some win/win in it anyway, although this is undone and has been promised for a long time. And well, for the meantime there still is Netkeen, also a pretty neat concept.

c) Original Source Code of Commander Keen

Well, in the PCKF there has been a topic. It would be cool to release the source code. It would finally make the forced use of Dosbox obsolete.

https://pckf.rigeltechnical.com/viewtopic.php?t=2858

What makes me angry is that it appears the owners don't want to release it. I would say assholes, but from another view I also understand it.

It's there property and they can do what they want respecting other laws. They don't have to release it at all. I find it pretty generous by the companies that they release the code of Doom, Duke Nukem 3D, etc. so other can improve it, or learn from it. I learned a lot from the Doom 3 code lately, there are nice analyses around the web. So, it really is a nice gift, like the open source community and the work they provided us. Also thanks to them I learned to be a better developer, Microsoft didn't do that for me... They only would have done it for money, pretty I am.

In my opinion we don't need the original sources. CG is an interpreter open for any kind of improvement. Most of the people using CG especially on mobile devices recognize this as the true keen experience. I know it is not identical, but that is the point. You then might ask, what does really matter for the experience? Everybody sees that from another angle, but fact is, many people agree on CG providing a true Commander Keen gameplay experience. I know there are differences, and we need to improve on that as well.

Of what CG has become I'm proud of and I think that some stuff is even better than of what the original code would have provided. Of course that's an opinion. The sources would help to improve the physics, but other than that, I think I'm fine with or without it. Well, that's my opinion. I don't have any feelings for that topic. I just think it wouldn't change that much the situation when it got released. The code doesn't have that much value for me as for others, I guess.

Well, more discussions are held in the link mentioned above. I don't care about the sources and you shouldn't, 'cause life goes on and will continue on its trail. Ride on the train, don't try to catch it... :-)

c) More engines

Yeah, that was the wish when the Commander Genius project started as C++ version and so on. Basically it is an engine controller which controls the galaxy or vorticon engine depending on what game you started. The code of CloneKeenPlus could not provide that, so it was one of the main goals, nail this down and make Keen 4-6 playable.

I want to support more games, but I really lack of time as I will describe in the section about my personal life. Also my personal favorite is and will be Commander Keen, so I don't care that much about the other games. Supporting would be cool though, and maybe I would appreciate them more. I never had the full version of Bio Menace, so maybe it gets better, I dunno. Same goes for Monster Bash, or similar side-scrollers of that time. How strange, they shared a lot of similarities with Commander Keen. ;-)

d) Keen Dreams support?

Yeah, that's another thing and has been a request. Keen Dreams is the least favorite game for me and for the fans. It basically uses the galaxy engine in most of the code and I guess it is not that hard to get supported. I really didn't implement it, because fans who voted back then, didn't really want that support so much as other features I was working on.

On thing I really don't want to do but must, is the menu thing. It is fully mouse driven and doesn't look like it would be part of the galaxy engine. we have mouse driven menus, but it is a bit different and will need some work. Anyway, some day I will support it as part of the galaxy engine. If there aren't many surprises in the game it won't take that much time to do so.
Having fun developing stuff...
User avatar
tulip
Flower Pot
Posts: 2520
Joined: Thu Aug 21, 2008 12:50
Location: Hamburg, Germany
Contact:

Post by tulip »

I'm actually looking forward to Keen Dreams support. The biggest difference I guess is the shooting behaviour.

I also see a cross episode level editor in the distant future, and it would be great having all the monsters in for that.
Image You crack me up little buddy!
gerstrong
Vorticon Elite
Posts: 1244
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Post by gerstrong »

tulip wrote:I'm actually looking forward to Keen Dreams support. The biggest difference I guess is the shooting behaviour.

I also see a cross episode level editor in the distant future, and it would be great having all the monsters in for that.
Okay, we can take a look on that...
Having fun developing stuff...
User avatar
lemm
Blorb
Posts: 696
Joined: Fri Jul 03, 2009 10:18
Location: canada lol

Post by lemm »

I said it in IRC, but I'll say it here again.

I think the best way to get CG to "interpret" the original DOS exes would be to make a branch of Dosbox that is specifically tailored to run keen. You would save an immense amount of programming in the reverse-engineering department, and supporting patches would be a lot easier too. You might be able to leverage existing Dosbox patches (e.g., the Dosbox save states) to augment the keen experience.

On the other hand, a downside with this method is that you would still have to program for 16-bit C should you want to do anything drastic, like increasing the resolution, for example.
gerstrong
Vorticon Elite
Posts: 1244
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Post by gerstrong »

lemm wrote:I said it in IRC, but I'll say it here again.

I think the best way to get CG to "interpret" the original DOS exes would be to make a branch of Dosbox that is specifically tailored to run keen. You would save an immense amount of programming in the reverse-engineering department, and supporting patches would be a lot easier too. You might be able to leverage existing Dosbox patches (e.g., the Dosbox save states) to augment the keen experience.

On the other hand, a downside with this method is that you would still have to program for 16-bit C should you want to do anything drastic, like increasing the resolution, for example.
That might be true and maybe we will do, but to get that pattern it will take much more time. At a long shot we will have to do that. For now lets clean up the code separate some classes.

I will stay with C++ and how much we will interpret the exes I have not decided yet.

We have choco keen. Would you like to see something similar with galaxy on CG?

Also I'm afraid about the extensibility, we will need to find a compromise.
Having fun developing stuff...
User avatar
Bloogbae
Grunt
Posts: 27
Joined: Mon Nov 14, 2011 1:41

Post by Bloogbae »

There needs to be an update to the impossible pogo trick. It's significantly harder to do in commander genius. It would be great if you can consider this.
User avatar
Levellass
S-Triazine
Posts: 5265
Joined: Tue Sep 23, 2008 6:40

Post by Levellass »

On a side note, I think the first post here describes the attitude of many people working on a large programming project, certainly I have felt it and I know other people who have similar thoughts on various things they've done.
What you really need, not what you think you ought to want.
gerstrong
Vorticon Elite
Posts: 1244
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Post by gerstrong »

Levellass wrote:On a side note, I think the first post here describes the attitude of many people working on a large programming project, certainly I have felt it and I know other people who have similar thoughts on various things they've done.
Well complementing this you mean programming project as volunteer or as part of a hobby. If a company lets develop something, the people tied together gets paid. In that case you get other problems to be faced. Certainly though it's a bit different.
Having fun developing stuff...
User avatar
Levellass
S-Triazine
Posts: 5265
Joined: Tue Sep 23, 2008 6:40

Post by Levellass »

Well I have to say the experience of 'This code is utter crud and should be better' seems universal amongst both volunteer and paid programmers. I know someone who has a whole suite of copy-paste solutions to various things that according to him are as ugly as hell but dammit, he doesn't have the time to write up sleek stuff for every project, there are deadlines to meet!
What you really need, not what you think you ought to want.
Post Reply