Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

You can discuss anything about fan-made Commander Keen games here.
KokoRicky
Meep
Posts: 1
Joined: Sat Apr 03, 2021 3:13

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by KokoRicky »

I joined this forum to say that I would like to help with graphics. I've been a Cosmo fan since 1993 and have a lot of experience with making pixel art. The idea of an Earth-based level set was something I thought about way back in the day and it would be really cool to lend my skills to this project!
User avatar
T-Squared
Vortininja
Posts: 208
Joined: Fri Nov 26, 2010 21:22
Location: Next Sunday, A.D.
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by T-Squared »

KokoRicky wrote: Sat Apr 03, 2021 14:40 I joined this forum to say that I would like to help with graphics. I've been a Cosmo fan since 1993 and have a lot of experience with making pixel art. The idea of an Earth-based level set was something I thought about way back in the day and it would be really cool to lend my skills to this project!
Sorry I didn't get to your post, KokoRicky.

Yeah! That sounds great! I already have an Earth-based tileset in place (and a halfway-made 3rd episode tileset), but I will need help with actors/sprites (The animated items, objects, and enemies). I'm the main graphics artist on this project, but I don't have the energy to make every single graphic in the game. (Plus I'm trying expand the game beyond itself a bit, because of the aforementioned source code reconstruction.) Plus, I need someone to bounce ideas off of.

If you want, I can send a link to the project Dropbox folder to you through a private message.
Cosmo II: HUMANIZED!!! Progress:
Graphics: 15% Complete
Story: 100% Complete
Music: 5% Complete
Programming Modifications: 5% Complete (FINALLY! SOME PROGRESS!)

http://www.tsqproductions.com
User avatar
Roobar
Vorticon Elite
Posts: 3263
Joined: Tue Jan 08, 2008 16:12
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by Roobar »

A new Cosmo is under development and it might get released before your mod:

Image
User avatar
T-Squared
Vortininja
Posts: 208
Joined: Fri Nov 26, 2010 21:22
Location: Next Sunday, A.D.
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by T-Squared »

That's fine. :P It's not a big deal. Personally, I don't see a reason to do so. It looks okay, but it's just a new thin coat of paint on the game, like Crystal Caves was.

I need people to help, though, for sound, music, graphics, and coding, if I want to get this mod off the ground. (I've been making graphics and music, and throwing in an idea or two for the reconstructed code, but I can't make all of them. I also need people to bounce some ideas off of.)
Cosmo II: HUMANIZED!!! Progress:
Graphics: 15% Complete
Story: 100% Complete
Music: 5% Complete
Programming Modifications: 5% Complete (FINALLY! SOME PROGRESS!)

http://www.tsqproductions.com
User avatar
T-Squared
Vortininja
Posts: 208
Joined: Fri Nov 26, 2010 21:22
Location: Next Sunday, A.D.
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by T-Squared »

Okay, following on some advice from Ceilick, I'd like to try something...

I know some of you know about what this game is about, but I'd like to clear this up.

I'm just one person, with a lot of ideas, and I'd like to be able to get some new ideas, or trade with others. I'm going on nearly 15 years doing this project by myself (Yes, I started back in 2007 when I discovered Szevvy's Wombat Game Tools), and it's expanded beyond what I expected of it, and I think it's time for a change.

Here's my proposal.

I need artists, music composers, level designers, and people versed in C (or Turbo C). I have already written the story, designed some levels, organized some code, made some music, and have some concepts in place. This is completely volunteer work, there is no money involved at all, and it's on the level of what Atroxian Realm was. It will be 3 episodes, and the game, as a whole, will probably the same scope as Atroxian Realm was. The gameplay is not going to be rock-hard difficult, but it will be challenging, and hopefully there will be new ideas too. There will be assets crossing from one episode to the next, too, but not much. (Each episode will have nearly new elements and graphics.)

The basic story, to help get you interested:

It's been 3 years since Cosmo "rescued" his parents from the Forbidden Planet, he's now 8 Earth years old, and the experience sparked a newfound love for exploring. However, this is an itch that he can't scratch, because exploring the forests behind his home, and pretending on the school playground isn't enough. His parents notice this too. It isn't until Cosmo comes upon a Galactic TV advertisement for a medium-range spaceship, usually meant for teenagers (the alien equivalent of an ATV), that it really gets his mind going, and his parents agree that this is something he needs.

Sometime after he gets his spaceship, Cosmo has a school assignment to do: "Write about the space explorations of other worlds". Cosmo only really knows about Earth, and the people there were so nice to him when he went for his birthday! (They didn't know he was an alien.) So, Cosmo finds out about NASA, and prepares to travel here to Earth. Upon arrival, his ship is pulled down, and he is abducted by an evil scientist who is part of a Men-In-Black alien-study organization, that has a transformation machine that turns aliens into humans. Cosmo escapes, but now is stranded on Earth as a human, and he must find his spaceship.


FOR INTEREST'S SAKE, I'VE POSTED THE THEMES I'M LOOKING FOR IN EACH EPISODE,
SO BE WARNED OF SPOILERS!


The episodes will take place in 3 different types of locations:
  • the first episode of which is Earth, with many varying locales, including real-life locations, like beaches, caverns, famous landmarks, and even human neighborhoods!
  • the second, journey into the bowels of the extraterrestrial research organization, where Cosmo might find out a few surprises, and find out what deeds this organization is up to!
  • in the third and final episode, Cosmo will find himself on the weirdest adventure of his life, and get the biggest mindwarp of this adventure!
    (This will be an homage to various space-related media, including DOS games.)
For all 3, I'm hoping Cosmo will have to contend with not being able to use his suction cup hands. (if we can program something in, thanks to Scott Smitelli.)

The rest of the story, locations, and elements, for spoiler purposes, will only be revealed for those who want to join the project.

For an expectation of quality, here are 3 of the Earth levels I've been working on so far (still in beta, so some beta elements will remain):

Image
Image
Image

I'm grateful for those who have helped me so far, but I can't do this alone, especially not with this scope.

I hope I've made my point, because I really would like to get this idea out there.
Cosmo II: HUMANIZED!!! Progress:
Graphics: 15% Complete
Story: 100% Complete
Music: 5% Complete
Programming Modifications: 5% Complete (FINALLY! SOME PROGRESS!)

http://www.tsqproductions.com
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 779
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by K1n9_Duk3 »

I could probably help you out with programming-related stuff, but I'm not sure if I want to get involved.

Based on my experience with the other fan projects I've been involved with (Planet Cloudius IX and Foray in the Forest) and the progress mentioned in your signature, I'd guess that you are several years away from actually releasing a finished product. And by "finished product" I'm only talking about the first episode of your trilogy.

Do you have something like a game design document?
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
User avatar
T-Squared
Vortininja
Posts: 208
Joined: Fri Nov 26, 2010 21:22
Location: Next Sunday, A.D.
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by T-Squared »

K1n9_Duk3 wrote: Mon Apr 26, 2021 21:16 Based on my experience with the other fan projects I've been involved with (Planet Cloudius IX and Foray in the Forest) and the progress mentioned in your signature, I'd guess that you are several years away from actually releasing a finished product. And by "finished product" I'm only talking about the first episode of your trilogy.

Do you have something like a game design document?
Yes, I have several, in fact, from throughout the years, describing what I would like the story, levels, characters, items, objects, hazards, and game ideas to be.
https://www.dropbox.com/sh/epae27oge8vw ... 1FC5a?dl=0

Part of my problem in getting this game off the ground is the fact that I have been doing this by myself, with little bits of help from the community (I really appreciate it, Szevvy, Levellass, Levellord, and Malvineous!) but with no one to bounce ideas off of or get feedback from.
Cosmo II: HUMANIZED!!! Progress:
Graphics: 15% Complete
Story: 100% Complete
Music: 5% Complete
Programming Modifications: 5% Complete (FINALLY! SOME PROGRESS!)

http://www.tsqproductions.com
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 779
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by K1n9_Duk3 »

I've read the "program changes" document and I have to say that most of what's in there needs a more detailed explanation of what you had in mind. This document might be fine for you, assuming you still remember what each point was about, but I wouldn't be able to use it as a basis for programming anything.

For example, the first two points are about fixing something. You should describe the behavior in the original games (screenshots, videos or other illustrations might help) and explain what you think is wrong about that behavior. Then explain how you think it should behave instead for you to consider it "fixed".

Since there are no official names for the creatures and objects in the original Cosmo, referring to them by a name you or somebody else came up with may cause confusion. A screenshot or a sprite image would help, and you should also consider writing a glossary to explain what some of the names and terms you are using throughout your documents are supposed to mean.


One more thing: adding a true fade-out for the music is probably not going to work. The IMF format is just a list of instructions to be sent to the AdLib card, with some timing information on top. The playback code just handles the timing and sends the commands. To change the volume for a fade out effect, you would need to modify the commands before they are sent to the card and in some cases, you might even have to send additional commands, since the IMF data might set the volume at the beginning of the song and never send any other volume commands. Actually programming this volume change would be a dirty hack that might not even work correctly. Games that have the ability to fade the music in or out usually use some form of MIDI music, where it's easier to change the volume. But the playback code for MIDI would be several orders of magnitude bigger than the IMF playback code.

Since Cosmo is built on 16-bit DOS code, you're basically limited to 640k of memory (or up to 1 meg if you also use high memory). Every byte you add to the code decreases the amount of memory available for levels, music, sound and graphics. Writing code for a music fade out is probably not worth the amount of memory that code would take up.
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
User avatar
Malvineous
Shikadi Webmaster
Posts: 382
Joined: Wed Oct 31, 2007 21:48
Location: Brisbane, Australia
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by Malvineous »

Actually fading out the music is probably the easiest of all. There's one OPL register per channel that sets the volume, nine channels in all, so to change it you just do a quick formula on it every time you write a value to that register. 0x00 is loudest, 0x3F is silent. It gets only slightly more complicated in percussive mode but just because the register locations are different for the percussive channels.
User avatar
T-Squared
Vortininja
Posts: 208
Joined: Fri Nov 26, 2010 21:22
Location: Next Sunday, A.D.
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by T-Squared »

Now, see, THIS is EXACTLY what I need. What others think I can and cannot do with the ideas that I have, and how detailed I should make them for them to understand. I haven't been able to do this, really, since I started.
K1n9_Duk3 wrote: Tue Apr 27, 2021 21:16 I've read the "program changes" document and I have to say that most of what's in there needs a more detailed explanation of what you had in mind. This document might be fine for you, assuming you still remember what each point was about, but I wouldn't be able to use it as a basis for programming anything.

For example, the first two points are about fixing something. You should describe the behavior in the original games (screenshots, videos or other illustrations might help) and explain what you think is wrong about that behavior. Then explain how you think it should behave instead for you to consider it "fixed".
Sure. I should be doing that.
K1n9_Duk3 wrote: Tue Apr 27, 2021 21:16 Since there are no official names for the creatures and objects in the original Cosmo, referring to them by a name you or somebody else came up with may cause confusion. A screenshot or a sprite image would help, and you should also consider writing a glossary to explain what some of the names and terms you are using throughout your documents are supposed to mean.
That's a very good idea. Even I have had trouble trying to remember them.
K1n9_Duk3 wrote: Tue Apr 27, 2021 21:16 Since Cosmo is built on 16-bit DOS code, you're basically limited to 640k of memory (or up to 1 meg if you also use high memory). Every byte you add to the code decreases the amount of memory available for levels, music, sound and graphics. Writing code for a music fade out is probably not worth the amount of memory that code would take up.
I have kept that in mind too. I'm actually considering having the story, in-game text, and hint globe texts OUTSIDE of the program, in the .stn/.vol files, because the original was a bit dirty in how it made its text and stories by basically "bolting" the text onto the program, when the compiled program could have saved even more space by containing the story in external text files with formatting parameters like Commander Keen did.
Cosmo II: HUMANIZED!!! Progress:
Graphics: 15% Complete
Story: 100% Complete
Music: 5% Complete
Programming Modifications: 5% Complete (FINALLY! SOME PROGRESS!)

http://www.tsqproductions.com
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 779
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by K1n9_Duk3 »

Malvineous wrote: Wed Apr 28, 2021 3:58 Actually fading out the music is probably the easiest of all. There's one OPL register per channel that sets the volume, nine channels in all, so to change it you just do a quick formula on it every time you write a value to that register. 0x00 is loudest, 0x3F is silent. It gets only slightly more complicated in percussive mode but just because the register locations are different for the percussive channels.
Since most of the OPL registers are write-only, the code would need to keep track of the current settings, at least for the registers that can modify the volume. And it would also need to keep track of the rhythm setting, I guess. Handling that and intercepting and modifying the commands that modify the volume would easily double or triple the size of the music playback code and the variables required for it. It wouldn't be anywhere near the complexity of MIDI playback code, sure, but still a relatively large chunk of extra code compared to the main IMF playback code.

And don't forget that the way Cosmo stops the music is to simply turn all notes off. Depending on the instrument settings, the sound generators will take a while to decay and become silent. That's already a relatively decent fade out effect, isn't it?

Look at it from a different angle: The fade outs were probably going to be used to stop a song. The very nature of a fade out is that you'll have to wait longer for the song to stop. Since the music buffers in Cosmo are re-used for different purposes in the game (main menu music uses the masked tile buffer, in-level music uses the same buffer as the full-screen images), the game will have to wait for the fade out to finish before it can fill these buffers with new data. Either that delay is so short that the player won't even notice the difference between stopping and fading out, or it'll waste a few seconds of the player's life every time the music stops or changes. The main question is: Is it really worth implementing that in a 16-bit Cosmo executable?
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
User avatar
T-Squared
Vortininja
Posts: 208
Joined: Fri Nov 26, 2010 21:22
Location: Next Sunday, A.D.
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by T-Squared »

K1n9_Duk3 wrote: Wed Apr 28, 2021 22:03 Either that delay is so short that the player won't even notice the difference between stopping and fading out, or it'll waste a few seconds of the player's life every time the music stops or changes. The main question is: Is it really worth implementing that in a 16-bit Cosmo executable?
It doesn't have to be implemented. I'm open to rejection if it doesn't make the game run nicely. :p It's just an idea I thought would be interesting.

I decided to delve into the assets of Duke Nukem II, since it's so similar to Cosmo, and see if there were ideas Apogee had that I wanted to, or have started to, implement myself. :D

For one, there are HUGE actor sprites (both in-game and in-menu) that make up some of the graphics. (Like, some of these are ridiculously huge!)
For another, there are so many, I don't know if I can count them! (probably as much as Cosmo's, or even more.)

It also seems Mr. Replogle had the same idea I did. (and I should have remembered this) There are files containing the story, menu, and option text within the *.cmp file, formatted to an extremely similar way as Scott Smitelli's reconstruction. I'm not versed in C well enough to implement the external text stuff myself.

I even checked the system requirements. They're the same as Cosmo, if not slightly less for some of them!
Cosmo II: HUMANIZED!!! Progress:
Graphics: 15% Complete
Story: 100% Complete
Music: 5% Complete
Programming Modifications: 5% Complete (FINALLY! SOME PROGRESS!)

http://www.tsqproductions.com
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 779
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by K1n9_Duk3 »

Your plans are starting to sound like you're about to abandon the Cosmo code and instead mod Cosmo into the Duke Nukem II codebase. That's fine, but at this point, you might as well scrap all of that and move to the Keen Galaxy engine to get some smooth movement going instead of the 8-pixel-steps that Cosmo and Duke 2 use.

The reason why Duke 2 can afford to have such a large amount of huge sprites is that Duke 2 doesn't load all of those sprites at the same time. Each level only loads the sprites it needs. The file storing the sprites (ACTORS.MNI) is 721k, which is a problem when you consider The 640k Barrier. Cosmo loads all the player and actor sprite graphics at startup and keeps them in memory at all times. And that's not necessarily a bad thing. It means the sprites are only loaded once and loading the levels is a lot faster (loading sprites is the main reason why Duke 2 shows a loading screen with a "progress" bar between levels). And since all the sprites are loaded anyway in Cosmo, you don't need to worry about placing too many different enemy types in a level, which would cause Duke 2 and the Keen Galaxy games to crash when they run out of memory while loading all the sprites for the current level.

I'm not sure which system requirements you checked, but Cosmo claims to require 536000 bytes of free memory for playing with AdLib music and Duke 2 claims to require 560k (573440 bytes). Both games require at least a 286 CPU, but the "official" Apogee FAQ says that a 386DX-33 is recommended for Duke 2. Duke 2 also requires a VGA card instead of just EGA (you could technically run it with only an EGA card, but everything will look like crap and the intro cinematics won't work).
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
User avatar
T-Squared
Vortininja
Posts: 208
Joined: Fri Nov 26, 2010 21:22
Location: Next Sunday, A.D.
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by T-Squared »

K1n9_Duk3 wrote: Thu Apr 29, 2021 22:31 Your plans are starting to sound like you're about to abandon the Cosmo code and instead mod Cosmo into the Duke Nukem II codebase. That's fine, but at this point, you might as well scrap all of that and move to the Keen Galaxy engine to get some smooth movement going instead of the 8-pixel-steps that Cosmo and Duke 2 use.
Sorry, I didn't mean to suggest that. I'm not planning to do that. I had considered it, but that was a very long time ago. (like, 2009/2010-long-ago) I'm just saying that an external text reader would probably not be so hard to implement in Cosmo, due to the similarities that I found between the text/story files in Duke II and the way that Cosmo generates its text.

Like I said, Cosmo has its text generation, and its picture formatting, "bolted"/hardcoded onto the C code when compiled. (You have to recompile EVERY time you change the text.) Duke II, on the other hand, has an external approach, but with text, window, and picture formatting that seems to match very closely with what I saw in Cosmo's reconstructed C code (Marking an EGA drawing page for use, setting a window origin, and using that origin as a reference point for the rest of the text and picture formatting, and moving through wait delays, sound generation, and text generation), so it shouldn't be hard to implement an external text reader much like how the demo reads its byte/bit-wise formatting for each game tic. I'm not versed in C code, though. I'm already doing some heavy lifting with the story graphics, game graphics, and animation.
Cosmo II: HUMANIZED!!! Progress:
Graphics: 15% Complete
Story: 100% Complete
Music: 5% Complete
Programming Modifications: 5% Complete (FINALLY! SOME PROGRESS!)

http://www.tsqproductions.com
User avatar
proYorp
Vorticon Elite
Posts: 472
Joined: Fri Mar 03, 2017 1:56
Location: Orbit
Contact:

Re: Cosmo's Cosmic Adventure II: HUMANIZED!!! (W.I.P.)

Post by proYorp »

While I have no knowledge of how to mod Cosmo (and I admit I don't currently have much interest in learning personally), I wanted to drop in and offer my encouragement for this project. This sounds like it could be a very impressive production indeed. Don't be discouraged if it takes awhile before people with the time, interest, and skill to work on this show up to volunteer. (Even if it takes a year! Doesn't mean nobody's interested, just maybe no one has had the time to commit yet. Hey, it's happened before. ;) )

Also don't be afraid to remind people that this exists. ;) I might suggest also advertising in other circles where Cosmo fans might hang around, but unfortunately I have no idea where that would be. :dopekeen
"Friendly. Very friendly. Too friendly." Image
Post Reply