Keen Clone

You can discuss anything about fan-made Commander Keen games here.
gerstrong
Vorticon Elite
Posts: 1158
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Post by gerstrong » Sun Jan 11, 2009 5:27

Do you have all the dependencies resolved?

how did you compile it? Which Compiler do you have?

I'm already working on the binaries, but I need a little bit of time.

User avatar
Malvineous
Shikadi Webmaster
Posts: 362
Joined: Wed Oct 31, 2007 21:48
Location: Brisbane, Australia
Contact:

Post by Malvineous » Sun Jan 11, 2009 5:54

You don't have all the code properly listed in the makefile (do a 'make clean' then 'make' and you should see.) I solved the problem by manually compiling the missing files:

Code: Select all

gcc -DBUILD_SDL -DTARGET_LNX -I/usr/include/SDL -O3 -c -fmessage-length=0 `sdl-config --cflags` -MMD -MP -MF"sdl/hq_sound.d" -MT"sdl/hq_sound.d" -o"sdl/hq_sound.o" "../hqp/hq_sound.c"

gcc -DBUILD_SDL -DTARGET_LNX -I/usr/include/SDL -O3 -c -fmessage-length=0 `sdl-config --cflags` -MMD -MP -MF"sdl/oggsupport.d" -MT"sdl/oggsupport.d" -o"sdl/oggsupport.o" "../vorbis/oggsupport.c"

gcc  -o"clonekeen"  ./eseq_ep1.o ./eseq_ep2.o ./eseq_ep3.o ./fileio.o ./finale.o ./game.o ./gamedo.o ./gamepdo.o ./gm_pdowm.o ./graphics.o ./keen.o ./latch.o ./lz.o ./main.o ./map.o ./menu.o ./misc.o ./sgrle.o  ./sdl/control.o ./sdl/joydrv.o ./sdl/keydrv.o ./sdl/polling.o ./sdl/snddrv.o ./sdl/timedrv.o ./sdl/viddrv.o  ./scale2x/pixel.o ./scale2x/scale2x.o ./scale2x/scale3x.o ./scale2x/scalebit.o  ./ai/baby.o ./ai/balljack.o ./ai/bear.o ./ai/butler.o ./ai/door.o ./ai/earth.o ./ai/fireball.o ./ai/foob.o ./ai/garg.o ./ai/icebit.o ./ai/icechunk.o ./ai/meep.o ./ai/mother.o ./ai/nessie.o ./ai/ninja.o ./ai/platform.o ./ai/platvert.o ./ai/ray.o ./ai/rope.o ./ai/se.o ./ai/sndwave.o ./ai/tank.o ./ai/tankep2.o ./ai/teleport.o ./ai/vort.o ./ai/walker.o ./ai/yorp.o -lSDL               ./sdl/hq_sound.o ./sdl/oggsupport.o -lvorbisfile
The first two commands and the extra bit on the end of the last command are the "new" bits. You might want to try a different build system, that one looks quite dodgy ;-)

It's quite different from the originals though! The main things I noticed from the first 30 seconds of playing:

* On the world map Keen "lags" and it takes a few milliseconds to get up to full speed when moving - in the original game Keen moves at a constant speed.

* When falling (e.g. jumping off the ledge above where you start in the first level) Keen falls at a constant speed. In the originals he accelerates as he falls (like you would in real life)

* The sounds are terrible...it's like they're played at half-speed or something with static over the top.

* Why is left-alt jump, left-ctrl pogo and left-shift fire? For me, I always use right-ctrl for fire and right-alt for pogo, as in the original games. Maybe you've just changed them, but it'd be good to keep the same keys as the original game as the defaults in the release.

* Oh, and the Yorps are on steroids! They're really moving fast!

Still, it's pretty amazing that it works as well as it does with all the original data files!

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

Windows Version

Post by gerstrong » Sun Jan 11, 2009 11:27

As some people wished, here is the Windows version. However it lacks of Ogg-Support, because this is one was compiled with mingw32 and it makes troubles using liboggfile.

http://clonekeenplus.sourceforge.net/

Have fun testing it!

User avatar
Ravey
Grunt
Posts: 14
Joined: Tue Dec 23, 2008 21:56

Post by Ravey » Sun Jan 11, 2009 13:47

Thanks it runs great for me, though it would look better if the graphics weren't filtered! :dead2

User avatar
tulip
Flower Pot
Posts: 2520
Joined: Thu Aug 21, 2008 12:50
Location: Hamburg, Germany
Contact:

Post by tulip » Sun Jan 11, 2009 14:11

I tried it and it worked also for me. The sound seems to have problems and indeed sounds terrible. Once you change anything in the options screen the sound doesn't seem to work anymore. I second what malv said about the physics (falling definetly need work, also when you jump one way and then change directions during jump feels a bit strange.) I also noticed the gargs are still charging at you when you stand one tile higher than them which they don't in original keen.
Testing the mod somehow crashed the game before i got to the exit in the first level (i don't know why), and there seems to be a graphical error on the map level. But i'll try it with another mod myself, to see how that works.
The best thing about clonekeen is propably the graphics, they look awesome. I also appreciate that you're working so fast..
Image You crack me up little buddy!

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

Post by gerstrong » Sun Jan 11, 2009 14:29

Malvineous wrote:You don't have all the code properly listed in the makefile (do a 'make clean' then 'make' and you should see.) I solved the problem by manually compiling the missing files:

Code: Select all

gcc -DBUILD_SDL -DTARGET_LNX -I/usr/include/SDL -O3 -c -fmessage-length=0 `sdl-config --cflags` -MMD -MP -MF"sdl/hq_sound.d" -MT"sdl/hq_sound.d" -o"sdl/hq_sound.o" "../hqp/hq_sound.c"

gcc -DBUILD_SDL -DTARGET_LNX -I/usr/include/SDL -O3 -c -fmessage-length=0 `sdl-config --cflags` -MMD -MP -MF"sdl/oggsupport.d" -MT"sdl/oggsupport.d" -o"sdl/oggsupport.o" "../vorbis/oggsupport.c"

gcc  -o"clonekeen"  ./eseq_ep1.o ./eseq_ep2.o ./eseq_ep3.o ./fileio.o ./finale.o ./game.o ./gamedo.o ./gamepdo.o ./gm_pdowm.o ./graphics.o ./keen.o ./latch.o ./lz.o ./main.o ./map.o ./menu.o ./misc.o ./sgrle.o  ./sdl/control.o ./sdl/joydrv.o ./sdl/keydrv.o ./sdl/polling.o ./sdl/snddrv.o ./sdl/timedrv.o ./sdl/viddrv.o  ./scale2x/pixel.o ./scale2x/scale2x.o ./scale2x/scale3x.o ./scale2x/scalebit.o  ./ai/baby.o ./ai/balljack.o ./ai/bear.o ./ai/butler.o ./ai/door.o ./ai/earth.o ./ai/fireball.o ./ai/foob.o ./ai/garg.o ./ai/icebit.o ./ai/icechunk.o ./ai/meep.o ./ai/mother.o ./ai/nessie.o ./ai/ninja.o ./ai/platform.o ./ai/platvert.o ./ai/ray.o ./ai/rope.o ./ai/se.o ./ai/sndwave.o ./ai/tank.o ./ai/tankep2.o ./ai/teleport.o ./ai/vort.o ./ai/walker.o ./ai/yorp.o -lSDL               ./sdl/hq_sound.o ./sdl/oggsupport.o -lvorbisfile
The first two commands and the extra bit on the end of the last command are the "new" bits. You might want to try a different build system, that one looks quite dodgy ;-)
Sorry, for that. I forget to bind oggsupport.c into the release makefile, so it didn't work. I use Eclipse for the makefiles as I don't know much about how to write them. However I want to automate them differently, so you won't have those problems anymore.

There will be better and clean makefiles for all the releases, but first, I have to clean up the source code. This is the mayor priority.

It's quite different from the originals though! The main things I noticed from the first 30 seconds of playing:

* On the world map Keen "lags" and it takes a few milliseconds to get up to full speed when moving - in the original game Keen moves at a constant speed.
- Added to the TODO List.

* When falling (e.g. jumping off the ledge above where you start in the first level) Keen falls at a constant speed. In the originals he accelerates as he falls (like you would in real life)
- Added to the TODO List.

* The sounds are terrible...it's like they're played at half-speed or something with static over the top.
- Added to the TODO List, but what do you mean with terrible? I checked it out and noticed, that they are just slow.


* Why is left-alt jump, left-ctrl pogo and left-shift fire? For me, I always use right-ctrl for fire and right-alt for pogo, as in the original games. Maybe you've just changed them, but it'd be good to keep the same keys as the original game as the defaults in the release.
- Original Clone Keen had both mapped, but I think you are right with the defaults. You can still change them in the main menu...


* Oh, and the Yorps are on steroids! They're really moving fast!
- Sorry, I don't understand what you mean. I compared both games and see the same speed. Maybe you can explain me better what you mean. Yes, they do move very fast, but in the original CK1 they also do. Or is it the thing, that dosbox emulates this game wrongly?


Still, it's pretty amazing that it works as well as it does with all the original data files!
Thank you very much for your feedback. Im going to integrate those ideas into my work.

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

Post by gerstrong » Sun Jan 11, 2009 14:38

tulip wrote:I tried it and it worked also for me. The sound seems to have problems and indeed sounds terrible. Once you change anything in the options screen the sound doesn't seem to work anymore. I second what malv said about the physics (falling definetly need work, also when you jump one way and then change directions during jump feels a bit strange.) I also noticed the gargs are still charging at you when you stand one tile higher than them which they don't in original keen.
Testing the mod somehow crashed the game before i got to the exit in the first level (i don't know why), and there seems to be a graphical error on the map level. But i'll try it with another mod myself, to see how that works.
The best thing about clonekeen is propably the graphics, they look awesome. I also appreciate that you're working so fast..
The feature about the garg was implemented by the original author of CloneKeen (The old version). I think it is nice. Some Enemies have AI.

Do you like it, or should it be removed?

User avatar
tulip
Flower Pot
Posts: 2520
Joined: Thu Aug 21, 2008 12:50
Location: Hamburg, Germany
Contact:

Post by tulip » Sun Jan 11, 2009 14:57

Well it charges a lot more often, so it renders the garg a harder enemy. If you leave it in there it should be possible to switch it off (doesn't need a single option i think, you can just put it in with the extra difficulty button in the options screen)
It could also be a problem with mods, because some of the garg replacements there charge differently, or don't charge at all. It is possible that it may change the mod gameplay too much.

I couldn't see a problem with your yorp though.
Image You crack me up little buddy!

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

OGG Support

Post by gerstrong » Sun Jan 11, 2009 19:46

I'm really sorry about the ogg support.

I have been trying to fix that problem, but I don't get it fixed. I will release without that library. Under Linux it works, but with mingw32 it fails. even with newly compiled libraries and precompiled libraries etc.

Maybe someone has an idea how to link libvorbisfile.

I would be very thankful.

For now, when you transform the *.OGG files to *.WAV you can hear hq sound.

Have fun!

User avatar
Malvineous
Shikadi Webmaster
Posts: 362
Joined: Wed Oct 31, 2007 21:48
Location: Brisbane, Australia
Contact:

Post by Malvineous » Sun Jan 11, 2009 22:22

Maybe it's just the smoother animation, the Yorps look like they're walking faster than in the originals. At any rate, this is just a minor thing compared to the other issues!

What errors are you getting when compiling Vorbis for win32? It might be better linking in with .DLLs instead of compiling Vorbis into the executable. (There might already be .DLLs floating around you could use, then you'd be able to link them with -lvorbisfile, just like under Linux.)

The problem with the sound of the ogg files is almost like the buffer is too small. That usually results in the sounds playing too slowly, with lots of little clicks in between the buffer updates, making it sound like there is a crackly hiss over the top of the audio. Does it help if you increase the audio/mixer buffer size?

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

Post by gerstrong » Mon Jan 12, 2009 4:08

I do it as shared libs, but it still doesn't work. On Linux it works without problems.

I think there is something buggy about vorbisfile. Check out:

Code: Select all

i586-mingw32msvc-gcc-4.2.1-sjlj -L/usr/i586-mingw32msvc/lib -oclonekeen.exe vorbis/oggsupport.o sgrle.o sdl/viddrv.o sdl/timedrv.o sdl/snddrv.o sdl/polling.o sdl/musicdrv.o sdl/keydrv.o sdl/joydrv.o sdl/control.o scale2x/scalebit.o scale2x/scale3x.o scale2x/scale2x.o scale2x/pixel.o misc.o menu.o map.o main.o lz.o latch.o keen.o hqp/hq_sound.o graphics.o gm_pdowm.o gamepdo.o gamedo.o game.o finale.o fileio.o eseq_ep3.o eseq_ep2.o eseq_ep1.o ai/yorp.o ai/walker.o ai/vort.o ai/teleport.o ai/tankep2.o ai/tank.o ai/sndwave.o ai/se.o ai/rope.o ai/ray.o ai/platvert.o ai/platform.o ai/ninja.o ai/nessie.o ai/mother.o ai/meep.o ai/icechunk.o ai/icebit.o ai/garg.o ai/foob.o ai/fireball.o ai/earth.o ai/door.o ai/butler.o ai/bear.o ai/balljack.o ai/baby.o -lmingw32 -lSDLmain -lSDL -lvorbisfile -lvorbis -logg
vorbis/oggsupport.o:oggsupport.c:(.text+0x1f): undefined reference to `_ov_open'
vorbis/oggsupport.o:oggsupport.c:(.text+0x3a): undefined reference to `_ov_info'
vorbis/oggsupport.o:oggsupport.c:(.text+0x4c): undefined reference to `_ov_comment'
vorbis/oggsupport.o:oggsupport.c:(.text+0x6f): undefined reference to `_ov_pcm_total'
vorbis/oggsupport.o:oggsupport.c:(.text+0xa6): undefined reference to `_ov_read'
vorbis/oggsupport.o:oggsupport.c:(.text+0xeb): undefined reference to `_ov_clear'
collect2: ld returned 1 exit status
Build error occurred, build is stopped
Time consumed: 24680  ms.
However, when I try to cross-compile scummvm, (it also has OGG-Support), it works. I think there is a workaround I am missing.

I believe that I'm near to the solution, but if you know what is happening, I would be grateful.

The terrible sounds doesn't have to do with ogg support. They use another format (self-made), and the problem is, that they are too slowly played. This happens, when you change the rate but you don't transform the PCM stream.

I will try to fix that for the next.

The OGG sounds are heard very well ...

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

About all the bugs

Post by gerstrong » Mon Jan 12, 2009 4:15

Don't worry, as I said, I'm working hardly on the source-code. I cleaning it, so that there won't be crashes anymore, and inconsistencies, like no options which wouldn't be saved, etc...

Just hold on. It's going to be a great project!

User avatar
Commander Spleen
Lord of the Foobs
Posts: 2360
Joined: Wed Oct 31, 2007 22:54
Location: Border Village
Contact:

Post by Commander Spleen » Mon Jan 12, 2009 4:28

Got it to work, and it's looking good. Still many issues, but it's a good idea to focus on cleaning the code up first.

This topic should be moved to Unofficial Keen Games.

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

Post by gerstrong » Mon Jan 12, 2009 13:51

Moving this to unofficial keen games would be great!

Can you do that?

User avatar
ckguy
Bipship Engineer
Posts: 1161
Joined: Thu Nov 01, 2007 17:56
Location: Providence, RI, US
Contact:

Post by ckguy » Mon Jan 12, 2009 14:48

KeenRush can and he's on here all the time so it shouldn't take too long.

Post Reply