Commander Keen for iPhone (based on Commander Genius)

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

Post by gerstrong »

Too sad it doesn't work that way, but good news to know, that we have an iPhone Port now.

YOu can also download this release from the official Website.

Also as it was Alberts idea, we are going to adapt the next release to the iPhone Build when it's done.

pizza2004
Vortininja
Posts: 266
Joined: Wed Jul 08, 2009 1:22

Post by pizza2004 »

Well, it is a little slow on the iPhone right now, but with version 0.3.1.0 it should go faster on the iPhone! To Wiivn, if you get on the SDL website, it lists what systems it runs on. We can port it to most of those systems, and I personally want it ported to the DS and the Wii with a maybe to the PSP and if it were possible, the GBA. We will also port it to the Pandora, and maybe other systems as well, it all depends on what we can do.

I'll try to send my message to the mailing list, but I don't think I even get those the mailing list emails. And I guess I can send them thr build of CG on the iPhone.

pelya
Grunt
Posts: 6
Joined: Thu Nov 19, 2009 10:28

Post by pelya »

I'll try to port Commander Genius to Google Android.

albert
Grunt
Posts: 18
Joined: Wed Jul 22, 2009 21:15
Location: Aachen, Germany
Contact:

Post by albert »

Btw., what exactly is faster in current SVN over the last? I mean ingame. I think graphic blits are the bottleneck on iPhone, we need to use OpenGL. That is, we need to get rid of the scrollbuffer and just use textures for all tiles. I think that is the only way to make it much faster.

OT @pizza: You can register at the mailinglist here:
https://lists.sourceforge.net/lists/lis ... evelopment

@pelya: Hey there! :) I would suggest that you fork of my Git branch on GitHub because most work I did for the iPhone can be (and should be) adapted to Android (e.g. the OpenGL drawing stuff).

I don't know about the usual Android input. I have seen some phones which have an attached keyboard. Is that always for Android? Or do they mostly only have touchscreen as the iPhone? Well anyway, the touchscreen input wrapper (which just wraps it to the input action events) is there in the branch, so you can easily use it (it uses SDL mouse events as input, so very portable).

Btw., that also could be use for OLX. :P I think the input system works great this way. But I guess we need to work hard on performance first to get OLX working. :)

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

Post by gerstrong »

@Pizza: If you don't get mails from the mailing list, then you didn't suscribe yourself on the SF Page. The Mailing-List is called Commander Genius Development.

@pelya: Google Android. Well, all ports are always welcome.

Well, the Scrollbuffer is one of the greatest feautres of CG, but using OpenGL would be awesome. I'd have some ideas.

User avatar
DaVince
lazy/busy Keener
Posts: 1476
Joined: Thu Nov 01, 2007 15:34
Location: Amsterdam, Netherlands
Contact:

Post by DaVince »

pizza2004 wrote:Well, it is a little slow on the iPhone right now, but with version 0.3.1.0 it should go faster on the iPhone! To Wiivn, if you get on the SDL website, it lists what systems it runs on. We can port it to most of those systems, and I personally want it ported to the DS and the Wii with a maybe to the PSP and if it were possible, the GBA.
This is awesome. I've been wanting a handheld version of it myself for a while now (for me, DS). :) You have my full support when it comes to testing!

As for Android, I read that there's a huge code base to download and then you have to modify it to actually work properly with C++ applications? Might be quite a hassle before CKP (and SDL) could be compiled for it...
Wow look at me I'm lurking

pizza2004
Vortininja
Posts: 266
Joined: Wed Jul 08, 2009 1:22

Post by pizza2004 »

Well, the reason I think it will go faster is that the entire program will be built more efficiently so we shouldn't have any memory overflows or excess code slowing it down, if that isn't important that I guess I was wrong.

I'm going to think over the multiplayer modes a bit more, and try to cement things into place, and I am thinking of a better Selection screen for when you start the game.

We obviously don't have to do this in this version, but I think that we should simplify the GameLauncher Menu system by having it be split into four pictures, EP1-3, EP4-6, EP1-3 mods, and EP4-6 mods. Then when you select EP1-3 it would have it split into four, EP1, EP2, EP3, and the fourth one would be the option to play through all of them seamlessly (something I hope to implement later) and when you open the EP4-6 menu it would be split into four with, EP4, EP5, option to play 4 and 5 seamlessly, and then EP6.

Then we would use the current selection system if they wanted to do mods, because it is flexible to add more and such, and with Keens 4-6 it would have a similar menu but it would have the Keens 4-6 menu interface and it would display the mods of 4-6.

Then when we get support for Keen Dreams we could use the menu from that to make a better start screen, the tabs on the side would be: Original Games, Mods, Level Editor, Graphics, Audio, and Controls. Then you would be able to configure the graphics, audio, and controls without starting one of the games, and it would have the level editor built into it, the one that I would like to implement when we have Keen Dreams and such. This would look really cool because in the tabs things could be split up, so the Original Games tab would have Invasion of the Vorticons tab, Goodbye Galaxy tab, and Keen Dreams tab, and then the Mods Tab would have Keen 6 with Keens 4 and 5 just because.

I just thought that streamlining the interface would be cool, make it easier to get to the regular games and make it so that people who don't care about mods don't have to see them. And with that level editor we could have most of the different applications for modding built right in and it wouldn't be too difficult. Just thinking a bit and I was thinking this would be cool, tell me what you think, I'm excited to see how much progress we have made! Look at how much progress has been made in the 5 months of development, and we don't plan on stopping any time soon!

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

Post by Roobar »

pizza2004 wrote:Well, it is a little slow on the iPhone right now, but with version 0.3.1.0 it should go faster on the iPhone! To Wiivn, if you get on the SDL website, it lists what systems it runs on. We can port it to most of those systems, and I personally want it ported to the DS and the Wii with a maybe to the PSP and if it were possible, the GBA. We will also port it to the Pandora, and maybe other systems as well, it all depends on what we can do.

I'll try to send my message to the mailing list, but I don't think I even get those the mailing list emails. And I guess I can send them thr build of CG on the iPhone.
That's good. I also own a DS, but will it have enough power with it's long outdated processor and little ram? Considering hardware, Pandora is going to be one of the best handheld consoles in the market. Is it out yet? The problem is that they said they'll release it long time ago (before year or so), but it's not out. And when it will come out, there will be only limited pieces. And because I don't see any big publishers doing something exclusive for it, it will still remain in the shadows of PSP and DS. But that's another story.

I haven't 100% decided on which phone will I go, though I prefer to be some windows mobile one. But they're expensive or without some functions I want. It's really hell in the phone market right now.

As for Android - yes, it's quite a promising platform. Phones using it are to become popular, but after android 2.0+ is released because there are many important updates compared to the 1.x. I don't really want a phone with 1.x version. So far only one phone that will use this os is interesting (in specifications and design) and that is SorryEricsson Xperia X10, which will eventually come out with v1.6 and later on (or with firmware update) 2.0. But it will be quite expensive one.

HTC also got some nice phones with Android, but they lack some features

As I like touch screens phones, I like the Samsung ones the most. I only don't like the fact that one of their most selling phone S8000 is not a smartphone. Still, there is hope that with some tweaks, this phone will run windows mobile. That's another story.

Anyway, good to know you're expanding on other platforms in general.
Last edited by Roobar on Thu Nov 19, 2009 17:22, edited 2 times in total.

User avatar
Deltamatic
Vorticon Elite
Posts: 1418
Joined: Sun Apr 26, 2009 12:55
Location: Shreveport, Louisiana

Post by Deltamatic »

Commercial Keens? Keen 6?!? I thought this project was retaining legality so Apple would let it through, and to be involved with id.

User avatar
DaVince
lazy/busy Keener
Posts: 1476
Joined: Thu Nov 01, 2007 15:34
Location: Amsterdam, Netherlands
Contact:

Post by DaVince »

@Deltamatic: of course any episodes other than 1 and 4 would have to be owned and added by the user...
I also own a DS, but will it have enough power with it's long outdated processor and little ram?
Consider how much a game like Keen would really need. That, and the fact that original CloneKeen has already been ported for it once, and I could say it'll definitely work.

Heck, the thing can emulate SNES ROMs. Why wouldn't it be able to play Keen?
Wow look at me I'm lurking

pizza2004
Vortininja
Posts: 266
Joined: Wed Jul 08, 2009 1:22

Post by pizza2004 »

Yes, you must own the game to run it, but it will run them. Also I think SDL runs on windows mobile, which means we might get it on there, but remember they also need some sort of OpenGL effect to have a chance of a port any time soon.

User avatar
TerminILL
Skypest
Posts: 589
Joined: Fri Oct 23, 2009 8:59
Location: In a box.
Contact:

Post by TerminILL »

Wow, this is all epic. Not that I have any of these systems, or use Commander Genius (it's nice, but I'm a purist :p ), but it's great to see the number of people getting behind porting it.
Shonikado wrote:Looking back on what we've done and wanting to change it is the first step in becoming a weakling that cannot do anything.

pizza2004
Vortininja
Posts: 266
Joined: Wed Jul 08, 2009 1:22

Post by pizza2004 »

You say you are a purist, and I think that we need some people who are dedicated to getting the physics just right. We don't exactly have a whole bunch to go on as far as the physics yo, so it becomes more guess work than you want to have when you make this sort of thing. I'm sure that Gerstrong did a good job of portin the physics, but I think it still might need some restructuring sometime down the line. It isn't something we would do in this version, but I think a seperate physics class that defines gravity and handles all collision is prefered (I actually don't know if this is what has been implemented or not, but I think something a little more universal than what we currently have would be most prefered). I also think this would be useful because it would allow us to mod creation targeted at Commander Genius rather than just using ones made for the original Keen games. This sort of mod support won't be coming around in the very near future, but it would be nice to have at some point.

pelya
Grunt
Posts: 6
Joined: Thu Nov 19, 2009 10:28

Post by pelya »

I've created repository with Android stuff here: http://github.com/pelya/commandergenius

I've tested it as an executable, launched through root shell on Android emulator and it works somehow, though GFX output is erroneous, maybe because resolution is not 320x240 as SDL thinks but higher. It segfaults when trying to load map file. Oh, and you have to reboot the phone after running it.

Anyway, it should not be run that way - the way Android applications are written is to have Java wrapper and dynamically-loaded library that does all the stuff, in a single package to distribute on Android market. That implies that application cannot access video framebuffer directly - I should do awkward mix of C++, Java and OpenGL to make some kind of video device in SDL, the same goes for sound I suppose.

Well, at least it compiles.
BTW you don't need Android sourcetree to build it (which takes 6.4 gigs compiled), you have to download Android 1.6 SDK and NDK only, which are like 120 megs archived.

I've made test release: http://www.2shared.com/file/9298361/180 ... -test.html - unzip it and execute in emulator, which comes with Android SDK:

Code: Select all

adb push files keen-android /data/data/net.sourceforge.clonekeenplus/files
adb shell /data/data/net.sourceforge.clonekeenplus/files/commandergenius
BTW Albert, I did not include your changes but started from master branch - I hope you'll merge them into master. Anyway I only have to port SDL and make Java wrapper, all other stuff seem to work out-of-the-box (except map loading, which uses some relative paths and segfaults)

Also one other thing: could you please modify touch-screen input like that:
Image

Yeah I want it to be like console gamepad, that layout is kinda standard among games.
Last edited by pelya on Fri Nov 20, 2009 14:55, edited 1 time in total.

albert
Grunt
Posts: 18
Joined: Wed Jul 22, 2009 21:15
Location: Aachen, Germany
Contact:

Post by albert »

Oh, and you have to reboot the phone after running it.
I think you messed it up, Pelya. :p

Pelya, have you read my comment on the first commit? I am not sure if you got an automatic mail. Anyway, it seems that you based it on current master. This probably will not work because many things don't work correct there.

You should base it on the iphone branch (or on last-working). On the iphone branch, you have already a lot of OGL fixes which makes it much faster than on last-working.

Post Reply