Keen Dreams Gold Edition

Here is where to post about the latest Commander Keen fangame or modification you've finished, a new website you've made, or another Keen-related creation.
Post Reply
User avatar
szemi
Vorticon Elite
Posts: 1732
Joined: Sun Jan 11, 2009 15:19
Location: Hungary
Contact:

Keen Dreams Gold Edition

Post by szemi »

Image


LADIES AND GENTLEMEN!

After 1 year (+ 3-4 months approximately) the historical moment has come that every Keen fans has been waiting for so long.

I present you now...

Keen Dreams Gold Edition!


This is a source-based mod based on codes/codings from Keen Dreams v1.92, Catacomb 3-D, Wolfenstein 3-D, NY00123's Keen Dreams Tech Demo, and the recreated Keen 4-6 source.
Apart from these, it's a very enhanced version of Keen Dreams (in fact Version 2.00 - Revision 2), which has the following key features:

- the game now has musics (25 musics can be found in the game)
- the lost veggies has been added by me (unofficially); the cauliflower, the turnip, the brussels sprout, the mushroom, the celery, and as a bonus I added the horseradish, the rhubarb, and the parsnip as well
- quiet AdLib support added (just push F3)
- the help menu details everything as much as possible (for space issues)
- Keen has walking sounds on the map and in the levels
- Keen can do 5 things in only 1 direction: looking up, ducking, bored animation, shooting up in air, shooting down in air
- as a bonus, you can listen and sing the title theme
- secret level added along with cameos
- the status window has been extended
- the game's memory is no longer poor (it uses expanded and extended memory)
- up-spitting melon lips added
- bugfixes (The Melon Mines is Melon Mines, Melon Mines and Bridge Bottoms can be completed if the player goes down too early, etc.)


Composers: XkyRauh, Dave216, T-Squared Productions, ZidaneA, Kosmyn.
Artists: Mobiethian, Ceilick, and me of course
Technical helpers: Multimania, Makefile, and NY00123

Release date of the game mod: May 10th, 2024

So what are you waiting for?

DOWNLOAD THIS GOLDEN MASTERPIECE: https://www.dropbox.com/scl/fi/hxlmrzmb ... pg28f&dl=1

Teaser: https://www.youtube.com/watch?v=hqrJXdTf1jE


P.S. I now take a long break.


Update 2024-05-11: Fixed the bottom of each levels that had water or other pit obstacles, so the player doesn't get stuck, but dies respectively. Moreover, at the bottom of the Melon Mines level additional ground tile has been added along with removing 2 melon lips. And of course, the hidden keys have been changed in Celery Zone. Thanks to Dave216 for the report!
Last edited by szemi on Sat May 11, 2024 14:36, edited 2 times in total.
Yeah, piece of cake!
User avatar
Dave216
Vortininja
Posts: 84
Joined: Wed Jun 29, 2022 15:37
Location: Croatia

Re: Keen Dreams Gold Edition

Post by Dave216 »

First of all, congrats on the release! I can see you've worked hard on this, and it shows.

Well, I just finished it, and I can say I very much enjoyed it. I also haven't played the original Dreams in quite a while, so I forgot how difficult this game can be. It was strange playing through familiar levels, especially since I could tell a whole lot was different but couldn't pinpoint exactly what.

Things I like:

The music was epic for the most part. It's interesting to see how much music can improve or change the feeling of the game, depending on how and
where it's used. My favorite track was definitely the Boobus Chamber One, a real banger, if I say so myself. I believe it was by T-SquaredProductions. They also fit tonally really well with the levels.

I've finished on normal difficulty, and enemy placement was very well done. Now, I died a lot of times, but I think that for the most of part was my fault.

Without spoiling anything, I really like what you did with the ending.

The new enemies that were added are a nice addition as well. I wish they had more varied behaviors, but that's just a minor thing. Some of them feel like they were drawn by Adrian himself; they fit so well. I feel like the mushroom could've used some extra shading. Maybe?

Level design was enjoyable as well. A mix of old and new. New levels are also pretty cool. I wish Cauliflower Quarter was a bit longer, since I think it had a nice flow overall. I like that you've added several candy arcs in some situations to guide the player to a safe landing spot, too.


Things I didn't:

I felt a little confident and played with a single save, only for my game to freeze in melon mines. It wouldn't be that big of a deal, but reloading it didn't fix it. So I had to start over with a new playthrough. It didn't happen the second time around, so I can't say what was different. The corrupted save was near the Canteloupe Cart, in the lower sections of the level, if that helps you in any way.

Some music tracks were a tad too quiet. I know my songs are usually in higher volume, so having multiple composers may have caused this. The thing is, I could barely hear the track playing in the mushroom pit.

I don't know what I was drinking while composing Asparagusto Allegro (Castle Tuberia), but the last part sounds off-key. Maybe now it is more noticeable when instruments are altered, but I don't recall it sounding like that. I am criticizing myself here, not you. :p

Celery Sector is a well-designed level, but I don't think you should have hidden those keys. I felt absolutely frustrated running around, and one saving grace was that the music track was upbeat, so I whistled along to not go insane while looking for them. There was recently a discussion about things to do and not to do while designing levels on Discord. I think hiding necessary items without giving a hint to the player is one of the "not to do" things. I mean, once I realized what the "catch" was, I wasn't exactly thrilled, but I understood what I needed to do in order to progress. Those are my two cents on the matter, I dunno, maybe someone enjoys this.


Anyway, I hope you don't take this criticism to heart. I can see how hard you've worked on this, and to be clear, I want to emphasize that this was a fun experience. Overall, I'll definitely give this a go on a higher difficulty. It's definitely a more enjoyable and fleshed-out game than the original Dreams.
"I don’t care what model it was! No vacuum cleaner should give a human being a double polaroid!"
User avatar
Mobiethian
Vortininja
Posts: 240
Joined: Sat Jul 25, 2009 17:36
Location: South Fribbulus Xax

Re: Keen Dreams Gold Edition

Post by Mobiethian »

It was a pleasure to work on graphics for this mod with you, szemi! Everything is a great surprise while playing it, excellent work buddy!
User avatar
szemi
Vorticon Elite
Posts: 1732
Joined: Sun Jan 11, 2009 15:19
Location: Hungary
Contact:

Re: Keen Dreams Gold Edition

Post by szemi »

Thanks for the constructive positive and negative critiques. I've just added the mod to KeenWiki! :)

https://keenwiki.shikadi.net/wiki/Keen_ ... ld_Edition
Yeah, piece of cake!
c64cosmin
Vortininja
Posts: 61
Joined: Tue May 25, 2010 14:07
Location: Where PI converges
Contact:

Re: Keen Dreams Gold Edition

Post by c64cosmin »

So I just peek a bit on this mod
And I never loved vegetables as much as this!!! :dead2 :drool

So, the music amazing, by all means, I really love the choice of music for each level, and they all accompany the levels delightfully.
This is what KDreams would have been if all tech would have been in place and it shows.

Great work Szemigi and congratualtions on this very difficult task to make a mod using source only, that is not an easy task.
Very very glad you managed to push through and get to the release.

One single thing I didn't expect, the mad mushroom is missing, maybe it would have been more appropriate to have it too due to historical reasons, afterall red mushrooms, I don't they are palatable in your food unless you are some hyperactive Italian trying to save some princes I've heard.
User avatar
Soul Monster
Vortininja
Posts: 227
Joined: Mon Jun 14, 2021 2:47
Location: An Arctic Hellscape

Re: Keen Dreams Gold Edition

Post by Soul Monster »

What an awesome thread to wake up to today!

I've played through several levels so far, including all of the original ones, and...wow. It's so surreal to hear music in a Keen Dreams mod, all of which sounds excellent, and to have such a detailed in game help menu as well is a real treat. I really like the new stages, along with the new creatures, all of which fit pretty seamlessly into the initial roster. One thing that surprised me was that, for the original levels, you chose to build off of Ceilick's revised versions from Keen Dreams Plus. I think it works, as you advertised this mod as more of a revision than a fully original concept, just like Keen Dreams Plus. I too enjoyed what you did with the ending as well, and the fact that you made King Boobus Tuber a little bit stronger added a little more challenge to the final boss.

Overall, this is a huge stepping stone in Keen Dreams modding! I'm amazed that you actually got this to such an advanced state given how challenging Keen Dreams modding seems to be. This changes everything for future Keen Dreams mods, and things can only get more advanced from here.

By the way Szemi, are you still considering making those other Keen Dreams sequels you had mentioned a while back?
User avatar
szemi
Vorticon Elite
Posts: 1732
Joined: Sun Jan 11, 2009 15:19
Location: Hungary
Contact:

Re: Keen Dreams Gold Edition

Post by szemi »

Possibly, Keen Meets the Meats as source mod sometimes. Because it exists as a mod based on the original Keen Dreams, but the memory enviroment is terrible and the feeling of the game must be improved to be... well... more Keenish. (The reason why I removed the mentioning of KMTM in the gold edition is that I'm uncertain when I will start it, but will happen.)
Yeah, piece of cake!
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 789
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: Keen Dreams Gold Edition

Post by K1n9_Duk3 »

The things I dislike the most about Keen Dreams are:
  • If you try to jump into an opening in the wall, there's a relatively high chance that you will slide off the edge and fall down instead of landing on the edge. See the Lollipop in the original Horseradish Hill level. Keen 4-6 had a special "kludge" to avoid this problem.
  • You can't grab onto edges and pull yourself up, which makes the previous problem even more irritating.
  • Enemies don't stay "dead".
  • You can't make the screen scroll by looking up or down.
  • You can enter an unwinnable state if you finish too many levels without collecting enough Boobus Bombs in them.
The lack of music is certainly one of the most obvious differences between Keen Dreams and Keen 4-6, but it's the least severe one. Music can enhance the experience, but it doesn't help all that much when the gameplay experience isn't very good to begin with.

I think that Keen Dreams was used as a tech demo for the new engine and as a test to figure out how to implement non-lethal weaponry in a Keen game. Having the enemies transform into harmless flowers and allowing them to recover in-game clearly shows that the flower power pellets don't kill the enemies and that they will recover after a while. There must have been a reason why they abandoned that approach in Keen 4-6. And I think that the reason was that Keen Dreams showed that constantly recovering enemies are just not fun (and can become a huge balancing problem in a game with a limited ammo supply). Keen 4-6 solved this by mostly just hinting at the fact that the enemies might be able to recover, and only allowing a select few of them to recover (Eggbird and Arachnut).

- - -

Some parts of this so-called Gold Edition feel like something that was quickly slappped together to get it done, with little thought put into whether it would actually make sense. One example is the Quiet AdLib sound mode, which is implemented as a menu option, but doesn't actually appear anywhere in the menu. You can only access it by pressing F3. And when you access it for the first time, it doesn't even tell you which option is selected until you actively (re)set the option. And the Quiet AdLib setting isn't saved to nor loaded from the config file. And The Quiet AdLib mode is practically useless in Keen Dreams, because it makes most of the sound effects so quiet that you can't even hear them over the music. So why is it even in there? Is it just so you could advertise it as a new feature?

I'm not sure if somebody else has reported it already, but the MAPHEAD.KDR file in the "static" subdirectory of the source code is not the file that was included in the executable of the release build. If you re-compile from the source code, major parts of the game will become unplayable. Keen will end up falling through the floor of the first level, for example.

Compiling the code gave me 86 compiler warnings. A lot of them are just about missing prototypes for the Quit() and RF_FixOfs() functions, but some of the other warnings indicate real problems in your code. Here's a pro tip for you: Don't ignore compiler warnings, fix them! By the way, the prototype for the Quit() function was in the old ID_MM.H, which you probably deleted when you replaced the file with the one from the Catacomb 3-D source code.

The "if (gamestate.leveldone[mapon = 1] && gamestate.leveldone[mapon = 2] && ...)" condition at the end of KD_PLAY.C is pretty fucled up. Problem number 1: assigning the index to the "mapon" variable is not necessary for checking if the levels are done; you could just have written it as "if (gamestate.leveldone[1] && gamestate.leveldone[2] && ...)". Problem number 2: the "mapon" variable should never be modified outside the cache manager code, because the cache manager expects that variable to contain the map number for the currently loaded level.

The most severe problem I've seen so far: Your HandleDeath() function calls the DemoLoop() function when the user presses Escape. I face-palmed when I saw that. DemoLoop() never returns, so you've set up a way of letting the DemoLoop() function call itself over and over again, which will eventually cause an undetected stack overflow, which will then lead to memory corruption. The comments in HandleDeath() say you wanted to let the game end when the user presses Escape, but calling DemoLoop() is definitely not the right solution for this. One relatively easy solution would be to just let HandleDeath() return true when Escape was pressed and false for selecting one of the menu options with Enter (or Jump or Throw), then check the result of HandleDeath() in the GameLoop() function and make it end the game when HandleDeath() returned true.

Instead of having three different functions to start playing music, you could just use one single function and pass the desired music number as a parameter. And just to be safe, your StartMusic() function(s) should call StopMusic() instead of SD_MusicOff() to make sure the old music buffer doesn't stay in memory when it isn't needed anymore.

There are more examples for a lack of optimization, like the order of the sprites and other images in the EGAGRAPH file and the fact that the code and the tile attribute data have the number of background tiles set to 1440, when the EGAGRAPH file really only contains 1391 background tiles.
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
User avatar
szemi
Vorticon Elite
Posts: 1732
Joined: Sun Jan 11, 2009 15:19
Location: Hungary
Contact:

Re: Keen Dreams Gold Edition

Post by szemi »

Okay, I see that if somebody is not a professional programmer like you, the source mod's technical part is criticized to the ****.

To clarify and to make it get into your brain:


1. I spent 1 year + 3-4 months on this project nonstop. With and in patience. This wasn't rushed at all. :)
2. Just because I'm not professional programmer, I learnt something. No wonder I mentioned Multimania, lethal_guitar, Makefile, and NY00123. And if I was newbie, noob, lame, etc. I wouldn't start this project. ;)
3. Unwritten gold rule 1: always read the help. Maybe I make mistakes that takes time to fix, but that doesn't mean I'm not into them. (I said, I'm not professional and I don't sit at the computer all the time.)
4. Unwritten gold rule 2: enjoy the game instead of destroying the fun of playing the game. That's what Dosgamert did for example. We discussed everything with him and lethal_guitar helped.
5. I agree that if the musics are cool, but the gameplay is not. Definitely true, again. But I'm still working on the fixings and waiting for T-Squared Productions' music fixes, too.
6. My edition is definitely gold edition as I resurrected unused stuff (except Keen's turning sprites) and the source is still under construction. That's all!
7. For the tileinfo, I used Galactile and used HxD to copy and paste the tile property codes to the tileinfo offset of the KDGOLD.EXE. That's how I did.
8. I take critiques, but not criticizings.

All in all, if you don't like it, switch to something else. And this is only for those people, who dislikes my mod.


P.S. I consider my project as my "child". I take care of it. :P
Yeah, piece of cake!
User avatar
Mobiethian
Vortininja
Posts: 240
Joined: Sat Jul 25, 2009 17:36
Location: South Fribbulus Xax

Re: Keen Dreams Gold Edition

Post by Mobiethian »

It's definitely something to build on. It will surely improve over time, I know it. :D
robertl81
Vortininja
Posts: 43
Joined: Mon Dec 05, 2011 16:33
Location: Italy

Re: Keen Dreams Gold Edition

Post by robertl81 »

Well, it's not bad.
Some parts of the classic levels have been changed, making it more interesting, as are the new additional levels, as well as obviously the added music.
Also Keen Dreams 2 Another Helping of Veggies, which you did, is very nice
dark
Grunt
Posts: 21
Joined: Tue Feb 22, 2022 19:00

Re: Keen Dreams Gold Edition

Post by dark »

The trailer looks great. I always disliked the fact that Keen Dreams did not have music (despite having the music option in the menu!) so this already looks like a great experience just from adding music alone.
User avatar
Syllypryde
Vorticon Elite
Posts: 1041
Joined: Tue Jan 20, 2009 18:33
Location: Michigan
Contact:

Re: Keen Dreams Gold Edition

Post by Syllypryde »

Has anyone found the secret level yet? Don't tell me how to find it. I would prefer to find it myself.

Edit: Never mind, finally level wasn't ending properly.
.niarb ym fo
snoitulovnoc eht tuaba
selbbarcs ssensuoicsnoc
rehgih a ekil smees
Post Reply