Duke4.net Forums: Bio Menace beta released! - Duke4.net Forums

Jump to content

Hide message Show message
Welcome to the Duke4.net Forums!

Register an account now to get access to all board features. After you've registered and logged in, you'll be able to create topics, post replies, send and receive private messages, disable the viewing of ads and more!

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Bio Menace beta released!

User is offline   Hendricks266 

  • EDuke32 Senior Developer
  • 6,035


[ All text taken from RELEASE.TXT and https://www.facebook...076257905961485 ]

25 years ago today, Snake Logan was unleashed on the world!

Snake is the star of Bio Menace, which celebrates its 25th birthday today! The game was originally released on Aug 3, 1993! Bio Menace was the creation of Jim Norwood, who also went on to be one of the co-creators of the original version of Shadow Warrior!

Bio Menace was released at the hight of our time in the 90's putting out side scrollers. We had a few published at this time (the original Duke Nukem, Commander Keen), so this was a popular game. It was later released as freeware on Dec 23, 2005, so it has been free to play for some time now.

Before the game was released, when it was in development we referred to it as "Bio Hazard". Given the nature of the plot line and the things you ran into, that fit the theme well. However, before the game came out, we changed it to "Bio Menace". When we asked Jim Norwood about that, he had this to say..

"That happened because it turned out that there was some rock band named BioHazard who already held the copyright to that name. I'm not sure why we couldn't still use the name anyway since my use was for a video game versus a music brand. You'd have to ask Scott and George about the why's on that one."



We asked Jim this week to send us some thoughts looking back on Bio Menace now that it has reached it's silver anniversary.

Bio Menace was really the first game that I ever designed, did all the level design, art, and code for as my first full on game project. And if that wasn't enough, it had to be a Trilogy! That was quite a project for a lone dude that was completely new to the gaming industry, but, it got done eventually and we shipped that full Trilogy in the end.

Bobby Prince did the music and I used Id's Keen Dreams engine to back the 2D game. Having the Keen Dreams engine is the only thing that made doing this game alone possible.

As John Carmack used to quote, 'There really is no such thing as a trivial game.' So true! Every game that is worth anything is going to take significant effort to finish and bring to market. However, I had some of the most fun working on this title that I've ever had working on any game since. Working nowadays in the AAA industry, I'm no longer the 'driving force' behind new IP's and as a Senior Engineer, I am a significant contributor to really large titles, but I'm really more now a piece of machinery in the giant teams required to ship such ambitious projects. That's just how this industry has evolved and I'm ok with that. But that doesn't stop me from looking back fondly on the glory days when I lone guy could make a great selling 2D platformer by himself. In some ways, those days have come back with mobile games, and then grew again to where even top tier mobile games are still going to require a competent team to create anything great.

I did manage to do another game called Tekken Bowling for iOS while I was at Namco where I was the sole programmer for the entire project, and I worked with only one designer and two artists on it. That was the closest I've come to making a game alone since the Bio Menace days.

--- Jim



One the Bio Menace game characters looks like he could be Cosmo, only his slightly more angrier brother. Jim seemed confused by the question when we asked him about this, as this exchange shows:

Joe Siegler: Angry Cosmo - is that what that really was?

Jim Norwood: I actually cannot remember the Angry Cosmo except vaguely? Was it cool? LOL!

JS: Here you go. Angry Cosmo... :) (with a picture sent to Jim)

JN: Haha nice. Ok, but that was one of the main creatures throughout the game. I thought you meant I had added actual Cosmo as an Easter egg.

JS: No no - most folks who played the game thought it was supposed to be Cosmo - just his angrier brother or something. Seriously - even *I* thought that back before the game came out.

JN: Well, you are right. It sure as heck looks like Cosmo!

JS: The main difference is Cosmo has those spots on him, and the suckers. But visually your character is like an Angry Cosmo.

One of the more fun things that was in this game was something called "The Apogee Room". Was a very hidden section in one of the maps where Jim Norwood, Scott Miller, & George Broussard were visualized, along with a few computers and a ton of Apogee visual gags - mostly from Commander Keen & Duke Nukem. Here's what Jim had to say about this.. "That was all me. I loved the Easter Eggs in Commander Keen at the time and I wanted to put something similar in Bio Menace - hence the Apogee Room. :)"



It's always fun looking back on games like this, but today, we're going a bit beyond than what we usually do for these anniversary stories. We've dug into the archives and found a working copy (well, after some massaging) of one of the game's betas that we are releasing for free today!

The game was actually still called "Bio Hazard" at this point, and was dated July 15, 1992.

We've also thrown in a PDF the "Secret Moves" paper that we used to send out with Bio Menace orders placed with us.

Big thanks to Jim Norwood for allowing this to be released, and for Evan Ramos for whipping it into shape. There were some fiddly tech issues with this release that he goes into in greater detail in the release.txt file in the game directory about what fixes had to be made to the beta for release. Make sure and read it for additional info, as some of it is quite interesting.

You can download the zip file here: http://legacy.3dreal...e/bh_071592.zip

Some other Bio Menace related links for you to check out:

1) Our original Bio Menace webpage here: http://legacy.3drealms.com/menace
2) Youtube Video showing you the Apogee Room:

3) Frenkel's Bio Menace Maps: http://legacy.3dreal...maps/index.html
4) Apogee Legacy Interview with Jim Norwood: http://legacy.3dreal...jim_norwoo.html
5) 3D Realms' Bio Menace Trailer:

Thanks for checking this all out, and thanks for playing our games these last 25-30 years or so!

Joe Siegler
Apogee Software / 3D Realms
Aug 3, 2018




There are several interesting things to note in this prototype. First and foremost, it can be seen that the final game's Episode 2 was originally slotted to be Episode 1. The final boss of the episode is a floating head of Dr. Mangle (whose art can still be found in the final game's data) rather than The Enforcer, though their behavior is functionally similar, if not identical. The in-level save feature inherited as part of the Keen Galaxy engine is still active in this build, before being disabled for technical reasons in the final game. Some of the item sprites differ in this beta. I'm sure there are more curiosities waiting to be discovered and documented.

Unfortunately, some of the files that make up the game's graphics banks were found to have experienced some kind of data corruption. The data was collected into a zip file that passed all checksum tests, meaning whatever happened took place before archival. My collaborator NY00123 stepped up and repaired the damage by inspecting it with various tools, including one of his own design, and cross-referencing with the final BM2 where necessary.

In testing, NY discovered a crash that manifests at two points in the episode, and we agreed that he would make a one-byte edit to fix the problem, improving Quality of Life for players. As copy protection, the executable performs a date check that aims to make the beta expire after a certain time. Bypassing this would require changing the system clock or intercepting the call with a TSR, but since we already modified the exe, he simply disabled the check with another one-byte change. Additionally, the executable requires a password to be entered on the command line, so we inspected the exe to find it and have provided it for you as part of PLAY.BAT. (If you wish to compare our modified exe with the original, you will need to use UNLZEXE to unpack both files.)

Unmodified versions of all edited files, as well as the original internal beta tester documentation text files, are available in the folder named "ORIGINAL". Below you can find a detailed technical description of modifications made, written by NY00123.

-Evan Ramos / Hendricks266


BHAZARD1.EXE, EGAGRAPH.BH1 and EGAHEAD.BH1 were modified. Details are given below. This text file, PLAY.BAT, and SecretMoves.pdf were not originally present.

Original timestamps (local timezone information is unavailable):

ABOUT.BH1    1992-03-22 16:40:04
AUDIOHED.BH1 1992-06-10 12:44:24
AUDIOT.BH1   1992-06-10 12:44:22
BHAZARD1.EXE 1992-07-15 22:36:40 *
CONTEXT.BH1  1992-03-15 16:24:26
CONTRART.BH1 1992-03-22 18:26:14
DEMO0.BH1    1992-07-14 03:07:12
EGADICT.BH1  1992-07-13 19:03:44
EGAGRAPH.BH1 1992-07-13 19:03:44 *
EGAHEAD.BH1  1992-07-13 19:03:44 *
ENDART.BH1   1992-07-12 19:12:16
GAMEMAPS.BH1 1992-06-17 17:17:48
GAMETEXT.BH1 1992-03-15 16:24:26
GFXINFOE.BH1 1992-07-13 19:03:46
HELPART.BH1  1992-03-22 18:07:42
MAPHEAD.BH1  1992-07-12 19:23:50
MAPTEMP.BH1  1992-07-12 19:23:46
MAPTHEAD.BH1 1992-07-12 19:23:44
MUSEINFO.BH1 1992-06-10 12:44:22
ORDERART.BH1 1992-03-23 02:09:16
README2.TXT  1992-07-15 17:06:40 *
README.TXT   1992-06-29 20:58:54 *
STORYART.BH1 1992-03-22 18:07:42
STORY.BH1    1992-03-22 16:40:04
TEDINFO.BH1  1992-07-12 19:23:48
TEDINFOE.BH1 1992-03-15 16:24:26

* The unmodified original copies can be found under "ORIGINAL".

BHAZARD1.EXE had the following edits applied, changing exactly two bytes of code (in the LZEXE-unpacked EXE):
- The beta expiration date check (which is somewhat buggy) is skipped.
- With the original EXE, if you try to read the color sequence in "Ant Caves" (level 3) or activate the easter egg in "Specimens Labs" (level 10), the game will abort from a call to the StartMusic function with (virtual) level number 20 (21st level). Based on the note from README2.TXT saying that the amount of playable levels was reduced by 6, this was fixed so StartMusic is called with the value of 14, leading to playback of "Resting" (as in the final game).

The original EGA data is partially corrupted, so EGAGRAPH.BH1 and EGAHEAD.BH1 had to be recreated. ModId was used for exporting and importing graphics.
- The presence of two complete 16x16 tiles in the initially exported data gave the hint that 7725 bytes shall be removed from some offset in EGAGRAPH.BH1 (done at offset 0x16308). This assisted with getting virtually all tiles, which were the same as in Bio Menace ep. 2 for most. A small amount of missing or partially corrupted tiles were simply copied from BM2.
- An internal tool was written for displaying the sprites, including the separate EGA planes. At some point, it could let one "move" the EGA planes around and export them as separate BMP files. Eventually, most sprites were actually copied from BM2 as-is. It's only most of the player sprites and other few sprites which needed more edits.
- After modifying the tool for usage with masked 8x8 tiles, it was found out that they were exactly the same as in BM2. As for unmasked 8x8 tiles, it was separately found out that such tiles were only added between BH1 and BM2, not removed or replaced.
- A portion of the "This is -NOT- Shareware" picture had to be recreated. The rest of the unmasked pictures remained intact, while the only masked picture (used in the menu) was copied from BM2.


User is offline   Poorchop 

  • 36


Good read and excellent news. It's amazing to see some fresh content after 25 years. This game was big for me when it was released and I've continued to play it from time to time over the years. It's nice to see Jim's input on it after all this time. Definitely my favorite Apogee game - can't wait to give the beta a spin.

User is offline   K1n9_Duk3 

  • 162


View PostHendricks266, on 03 August 2018 - 01:03 PM, said:

You can download the zip file here: http://legacy.3dreal...r_beta_0892.zip

That links to the Major Stryker beta. Use this instead: http://legacy.3dreal...e/bh_071592.zip

Hail to the K1n9, baby!

User is online   Sanek 

  • 527


Great read! Never liked Bio Menace, which is a lesser side-scroller from Apogee, but this "Secret Room" is really something! The stuff you'll see on the shelves is literally the ripped off enemies from Duke1 and Commander Keen! Don't recognise the bombs and candies, though.

User is offline   K1n9_Duk3 

  • 162


Bombs and candy in the Apogee room are from Keen Dreams, I think.

Hail to the K1n9, baby!

User is offline   gemeaux333 

  • 6


A remake in project ?

User is offline   CryptKiller 

  • 140


Great news! BioMenace is one of my favs from Apogee catalogue.

The beta has a weird bug where starting from the second level, you have 0 hit points, so everything kills you immediately. Also, there's no menu music, so the in-game music plays at the menu screen, and the demo on highscore table shows the score box. And it may be my memory playing tricks, but the "outer woods" level theme sounds slower than in the final release, it seems there's more of a pause between bell tolls...

User is offline   K1n9_Duk3 

  • 162


The beta uses the same method for activating the debug keys as the freeware release.

Once the debug keys are active, you will start every new level with 8 hit points and won't be killed by the first thing that hits you.

Hail to the K1n9, baby!

User is offline   NY00123 

  • 125


A little bit late reply, but here it goes: It's finally out in the public!

To anybody a little bit stuck or confused, use the "Backspace" key to
toggle on/off the scorebox from the game, and Alt+Up to throw grenades
(assuming you didn't mess with the keyboard settings). Also,
check out the ORIGINAL/README2.TXT file for more
caveats and other notes.

I intend to write/show a bit more on the technical side of
things (including the originally corrupted EGAGRAPH data),
but it's probably better to do so in a separate post.
The RELEASE.TXT file shall still have something
for you to read, though.


Let me say the following:

I must emphasize that this couldn't be done just by myself.

Thanks to Jim Norwood, 3D Realms and Hendricks for getting the ball rolling!

Wait, a longer credits list? I'm sure that I'll miss *someone* around here.
This is why I shouldn't do this...

I apologize in advance. Anybody who deserves the credits, no matter
if listed here or (APOLOGIES!) not - here, I'm sending them to you!

...You *still* want a list? Oh well, since you've asked for it:

- First of all, thanks to Jim Norwood and 3D Realms for the game itself!
Let's add Robert Prince for the game's sound track, of course!

- id Software, for the codebase that powers Keen 4-6, later
licensed to Jim Norwood for the making of Bio Menace.

- John Carmack, John Romero, Jason Blochowiak, Adrian Carmack, Tom Hall
and Mark Rein for their involvements with id Software during the development
of Keen 4-6, along with Robert Prince for the sound track.

- Jim Norwood and 3D Realms, for giving the green light for the release of
this prototype, along with Hendricks for his involvement with me and others.

- Frederik Schreiber, Joe Siegler and TerminX for their parts in this release.

- Yatta for the creation of Duke4.net, and Geoff Sims for founding
the message board that eventually became the PCKF.

- Special thanks to Lunick, Roobar, MYHOUSE.MAP and Malvineous
for their feedbacks on the prototype.

Finally, thanks to the Duke4.net and PCKF communities for all of these years!

This post has been edited by NY00123: 05 August 2018 - 10:00 AM


User is offline   K1n9_Duk3 

  • 162


This might come a bit too late, but in addition to thanking everyone involved with the beta release, I wanted to give special thanks to the person who decided to include the MUSEINFO.BH1 file (and all the other unused files) in the beta release.

This is the first time ever that I've seen a MUSEINFO file. As the name suggests, this file would have been used by MUSE, the tool that was used to create and edit the sound files (AUDIO/AUDIOT files). The game does not need this file at all, which is why I've never seen one before. The reason why I think this is important is that this file contains the actual names that were assigned to each sound effect during development.

Knowing what some of the sounds were named allows me to make very educated guesses on what the enemies in the game are called.

  • The small snakes are called "Cobra" ("Snake" is the player character).
  • The green thing that walks on the ceiling and looks like a Garg, only at the size of a Yorp (both are enemies from Keen 1) is actually called "Gorp".
  • One creature is probably called "Chomp", but I am not 100% sure about that. I think it's the green worm thing that the player can transform into. At least that's the only part that plays the "CHOMPWALK" sound (when jumping).

Aside from the MUSEINFO file, there are a few other files that are not required for the game to be playable. These are GFXINFOE.BH1, TEDINFO.BH1 and TEDINFOE.BH1, which were used by TED, the map editor for these games. TEDINFO.BH1 also has the name "CHOMP" in it, right after "BHAZARD1", so it's safe to assume that this was used as the hidden command switch that was required to play an earlier version of the beta (the released beta requires the "slammer" switch, as seen in the PLAY.BAT file). If you compare the executable of the beta to that of the final release, you'll see that the final version has the text "sewerman" where the "slammer" text used to be in the beta. The final release does not use that text at all, Jim Norwood probably just didn't remove the text when he removed the code that used it.

All these "passwords" seem to be the name of one of the creatures in the game. "Sewerman" is obviously the tall green monster that is first seen in Episode 1 Level 5: "Sewers" in the final release. I'm not sure who "Slammer" is, so feel free to share your theories.

Edit: fixed typo.

Hail to the K1n9, baby!

This post has been edited by K1n9_Duk3: 05 August 2018 - 01:54 PM


User is offline   NY00123 

  • 125


View PostK1n9_Duk3, on 05 August 2018 - 01:12 PM, said:

This might come a bit too late, but in addition to thanking everyone involved with the beta release, I wanted to give special thanks to the person who decided to include the MUSEINFO.BH1 file (and all the other unused files) in the beta release.

Wow, what a great find! Can't believe I've missed this! (Then again, maybe it makes sense.)

It's incredible you've discovered creatures' names by checking these files. This is something I knew to be mostly unknown long ago, and I've recently wondered about this again, so it's really great to finally learn about even just a few of them!

On another note, I think it's a good chance to finally reveal how I, at least partially, took care of corrupted graphics (emphasis on sprites).
I basically wrote an internal tool for assisting me with the sprites, and later forked it to cover other kinds of chunks, although not all of them.

Source code: https://gitlab.com/N...-chunk-shifters
Video with demonstration:

This post has been edited by NY00123: 05 August 2018 - 01:56 PM


User is offline   Hendricks266 

  • EDuke32 Senior Developer
  • 6,035


Among the 3DR archives, I see a MUSEINFO in a Blake Stone beta. That game has its 25th later this year.

User is offline   K1n9_Duk3 

  • 162


If you're curious what Food and Potions are for:


@Hendricks266: That's an interesting teaser. But we already have the full source code for Blake Stone, so we know the names of most sounds from the .H files in the source code. MUSE used the names found in the MUSEINFO file to generate these header files.

Hail to the K1n9, baby!

User is offline   NY00123 

  • 125


ok, a few more technical tidbits: Already noticed that this beta (mostly) supports savestates as in Keen 4-6, unlike the later Bio Menace releases, in which you need to start a level from scratch?

Interestingly, I'm having a *guess* for the cause, and it was actually discovered while messing with the codebase of a whole different game!

Well, OK, it still shares enough code with Bio Menace and others. I'm talking about Softdisk's Catacomb Armageddon title! This is a part of the Catacomb Adventure Series, a follow-up to Catacomb 3-D.

TL;DR description:

The saved games in question include pointers to structs of type "statetype".
- In games like Keen Dreams, Keen 4-6 and the Bio Hazard prototype, these are 16-bit near pointers.
- However, in games like Bio Menace and Catacomb Armageddon, these are 32-bit far pointers.

The exact saved value of a given 16-bit near pointer depends just on the EXE's layout. As long as the same EXE is used, it's reliable.
Unfortunately this does not apply to the 32-bit far pointers, which probably explains why there were issues with game saving during the development of Bio Hazard/Menace. In Catacomb Armageddon/Apocalypse, you can still save and load as usual, but this can be unreliable.

Longer description:

I'll first remind that we're talking about 16-bit real mode DOS apps. The latter means that it's somewhat tricky to access more than 64KiB of memory. This is where memory segmentation has its role. Basically, a memory location can be referenced by a seg:off (segment:offset) pair, where seg and off are 16-bit values.

Now, various early id games use a struct of type "statetype" to describe a current state of an in-game object (like an enemy, or the player itself). Various such states reside in each game's EXE file, and can be referenced by pointers.

Originally, all states were a part of a segment known as the "data segment", also known as "near memory". It can't have more than 64KiB of memory, and a single 16-bit near pointer (the offset part of seg:off) is sufficient to describe a state in such a case.

This is the case in Keen Dreams and Keen 4-6, Catacomb 3-D and Catacomb Abyss, Wolfenstein 3D and Blake Stone, and also the Bio Hazard prototype.

However, for Bio Menace, as well as Catacomb Armageddon and Catacomb Apocalypse, the developers were *apparently* forced to take advantage of more memory. Thus, the states aren't constrained to a single 64KiB segment anymore. This means, though, that such a state's location has to be referenced by a 32-bit far pointer, with a full seg:off address.

Let's show this in the code. Here's the way it's defined in the Catacomb 3-D sources (shall be similar in Wolfenstein 3D and Blake Stone, and somewhat also in Keen Dreams): https://github.com/C...4/C3_DEF.H#L150

Compare to Catacomb Armageddon (and also Catacomb Apocalypse): https://github.com/C...ddb2/DEF.H#L259

Let's finish with the impact of this on saved games. Basically, amongst other data, the current objects' states are written to the saved game file using such pointers. Question is, if these values are reliable. Will they be *exactly the same* after loading the saved game from file?

For 16-bit near pointers, the answer is "yes", as long as the *exact* same EXE is used. Even when you re-build an EXE from source code, any minor difference can break compatibility with saved games. Otherwise, though, this is a non-issue.

This cannot be said about 32-bit far pointers, though. The segment part of the pointer greatly depends on where's a (somewhat modified) copy of the EXE's code loaded into memory. Thus, chances are they'll break as you're moving between computers. Even on the same installation, though, there's no guarantee.

In fact, here's how you can reproduce totally unexpected behaviors on your own, in Catacomb Armageddon v1.02 (and similarly Catacomb Apocalypse v1.01):

- Do *NOT* try this on real hardware unless you agree to take the risk!!!
- Load DOSBox, mount the directory in which a working copy of Catacomb Armageddon v1.02 resides, and change to it.
- Start the game by entering "CATARM". Go through the dialogs until you find yourself in the beginning of a play-through.
- Press on F3 to save a game. Enter a name of your choice and then save the game.
- To quit, press on "Esc", followed by 'Q'.
- Start the game again, but rather by entering "LOADFIX CATARM". Press on F4 to load the saved game.
- Make sure you enter the saved game's name correctly.
- At this point, ANYTHING CAN HAPPEN. You might get a weird error message, like "ScaleShape: NULL compshape ptr!64 kb freed."; You might also get a totally unpredictable play-through; Oh yeah, DOSBox may crash, too. Again, ANYTHING CAN HAPPEN.

This post has been edited by NY00123: 07 August 2018 - 11:29 AM


User is offline   K1n9_Duk3 

  • 162


You get +1 because you explained the Catacomb Armageddon thing.

But you're wrong about this causing the issues in Bio Hazard. Bio Hazard (a.k.a. the beta) still uses 16-bit near pointers for the state pointers in the objtype structure. Only the final Bio Menace releases use 32-bit far pointers.

You can verify this by looking at the SnakeThrow function (seg008:0443 in beta, seg008:04D0 in BM1 v1.1 freeware) or any other function that changes the state of an object.

Hail to the K1n9, baby!

User is offline   NY00123 

  • 125


View PostK1n9_Duk3, on 07 August 2018 - 12:44 PM, said:

You get +1 because you explained the Catacomb Armageddon thing.

While many will say that "rep. points are to be ignored", thanks for the one, I guess! Heh.


But you're wrong about this causing the issues in Bio Hazard. Bio Hazard (a.k.a. the beta) still uses 16-bit near pointers for the state pointers in the objtype structure. Only the final Bio Menace releases use 32-bit far pointers.

Can you show me where have I implied this? Quite sure I've written it's still the usual 16-bit near pointers for the prototype.

Maybe you've referred to this brief text of mine by chance?

View PostNY00123, on 07 August 2018 - 10:32 AM, said:

Unfortunately this does not apply to the 32-bit far pointers, which probably explains why there were issues with game saving during the development of Bio Hazard/Menace

The only reason I've written "Bio Hazard/Menace" this way, is that I'm not sure how was the game originally titled when the change to the pointer size occurred.

User is offline   K1n9_Duk3 

  • 162


Sorry. I guess I didn't read your post carefully enough, which lead me to believe your post was about the fact that loading a game in the beta seems to cause the game to crash or lock up when you are loading it directly from the menu without starting a game first. Now I realize that you actually just gave one possible reason why the mid-level saves were removed in the final version, instead of explaining why the load feature is (partially) broken in the beta.

Hail to the K1n9, baby!

User is offline   NY00123 

  • 125


Side-note: If I don't see more diffs between BH and BM being mentioned here or in the PCKF, then I might add at least some of them on my own later :)
(I suppose the TCRF is a better place for this, though.)

Let's add the following. As stated by me in RELEASE.TXT, ModId was used for importing and exporting graphics. In addition, a really simple modification of a part of ModId's code, BMP256 (which in turn is a modification of BMP16 from (L)ModKeen), was used for the EGA chunk shifters. In a retrospect, maybe BMP16 was sufficient, but this is the situation.

ModId was created after a few instances of forking. Here's a rough summary (LModKeen II also integrated Fin2Bmp):

ModLatch -> ModKeen -> LModKeen (I && II) -> ModId

Some credits collected from the KeenWiki page about ModKeen, as well as a few other sources:

Andrew Durdin - Wrote ModLatch, later morphing into ModKeen. Also coded Fin2Bmp, used for Keen 1-3 finale/preview screen editing, eventually getting merged into LModKeen II.
Anders Gavare and Daniel Olson - Their assistance for the work on ModKeen.
David Gow - Addition of Keen Dreams support.
z-1 - Win32 port.
Shadow Master - LModKeen, a Linux fork of ModKeen.
Malvineous - Script and mini-program converting lowercase filenames to uppercase, used by one of the (L)ModKeen devs. (Addendum: Let's also mention his vast experience with handling different DOS games' file formats!)
Szevvy - Information about Bio Menace data files.
Levellass - The addition of Shadow Knights and Dangerous Dave 2 support.
lemm - Forked LModKeen into ModId, in order to support arbitrarily formatted xGAGRAPH files for arbitrary games and mods (the original intention being usage with source mods).
furan - His contributions to ModId.

It's also a good chance to mention Levellord, Levellass and lemm, as well as KeenRush, Andy Durdin and David Gow, for their EXE patching skills and related!

User is offline   K1n9_Duk3 

  • 162


I compared the levels from the beta to the ones in the final episode 2 and found surprisingly few differences in the layout of the levels. After all, Jim Norwood kept working on the game for over a year after this beta...

The gameplay mechanics are what changed the most. The level layout itself stayed mostly the same. These are some of the differences I noticed:

  • There is only one type of grenade (green). No landmines at all.
  • There's only one type of ammo. No plasma bolts or super bullets.
  • There are no first aid kits, only food items
  • There are no instant invincibility potions, only the small potions
  • There are no gems to collect for an extra life in the beta
  • There are no checkpoints in the beta (probably because it still had mid-level saves)
  • The are no warp gems (and no secret levels) in the beta

Layout changes in the levels:

  • Level 1 of the beta has the crashed plane at the beginning (along with 3 green grenades). The final release still has the graphics of the crashed plane in it, but it doesn't appear in any level.
  • Level 3 (Ant Caves) cannot be finished without entering the correct color code. If you enter the wrong code, the trap kills you. And because you can't respawn after the trap kills you, the alternate exit doesn't (need to) exist.
  • The starting area of level 4 (Ant Town) is slightly different (there's no warp gem to collect in the beta)
  • Level 8 (Electronics Lab) has a slightly different layout because the beta uses the same type of force field to morph the player into the green worm and back, while the final game has one force field to change you into a worm and a different type to change you back to a human.
  • Level 10 (Specimens Lab) has only one door in the secret Apogee room, while the final version has three doors. Also, the area with the special key was moved a little, which only affects how far the camera can scroll up & down in that area.

Enemy placement hasn't changed much (it did change in at least one level, but I don't remember where exactly). Items were exchanged for the final release, but they are usually placed in the same area of the level.

  • Small potions were mostly replaced by gems.
  • Groups of food items worth 10 food were replaced by first aid kits.
  • Goodies behind locked doors might also have changed. This is hard to tell without actually playing the games (I was merely using my level viewer for most of my "research").

While playing the beta on easy difficulty, I noticed that the ammo pickups didn't give me any ammo. It works fine on normal difficulty, though. Probably another one of the many bugs in this beta.

Hail to the K1n9, baby!

This post has been edited by K1n9_Duk3: 11 August 2018 - 02:19 PM


User is offline   Fantinaikos 

  • 269


That unstoppable thing of Lingyan203 has made a gameplay (not full).

This beta may be open the road for some serious Bio Menace modding? (source code allowing)

This post has been edited by Fantinaikos: Yesterday, 08:22 AM


User is offline   K1n9_Duk3 

  • 162


View PostFantinaikos, on 16 August 2018 - 08:20 AM, said:

This beta may be open the road for some serious Bio Menace modding? (source code allowing)

I'm not sure what you mean. As far as I know no source code was ever released for Bio Menace (final or beta).

Most of the graphics in the beta are the same as in the final release (in part because some of the corrupted graphics had to be imported from the final relase to make the beta playable), so I don't see how that would lead to more mods for Bio Menace. And most of the "unique" features that the demo has code-wise (food & potion meters, carrying ammo and grenades over from the previous level) could be added to any other release if you know enough about assembly/machine code and patching.

Hail to the K1n9, baby!

User is offline   NY00123 

  • 125


View PostK1n9_Duk3, on 16 August 2018 - 02:51 PM, said:

View PostFantinaikos, on 16 August 2018 - 08:20 AM, said:

This beta may be open the road for some serious Bio Menace modding? (source code allowing)

I'm not sure what you mean. As far as I know no source code was ever released for Bio Menace (final or beta).


most of the "unique" features that the demo has code-wise (food & potion meters, carrying ammo and grenades over from the previous level) could be added to any other release if you know enough about assembly/machine code and patching.

That's true, Bio Menace was never open-sourced in any form. The closest I can think of which was properly open sourced, was a combination of about half of the Catacomb 3-D sources (more precisely the "ID Engine" components) with Keen Dreams' game code. (There's also enough RE'd Keen 4-6 code.)

Even then, it should be feasible to import certain features of BH1 into BM2 with patching. Game saving might be quite non-trivial, though. Maybe it's doable by taking care of the saved 32-bit far pointers, while taking advantage of unused space for additional code.


Most of the graphics in the beta are the same as in the final release (in part because some of the corrupted graphics had to be imported from the final relase to make the beta playable)

Yeah, it's true that most of the graphics are the same. As for importing them from the final release, interestingly, I have evidence that most of the graphics in the corrupted files remained the same, including the sprites (almost all player sprites are an example of an exception). In fact, with one of the aforementioned EGAGRAPH chunk shifters (the one for sprites), it's possible to recognize the sprites in the corrupted data, and see that most of them are more-or-less the same. I shall upload to the same git repository (on GitLab) a sprite shifter input txt file letting you view them.

This post has been edited by NY00123: Today, 06:26 AM


User is offline   K1n9_Duk3 

  • 162


View PostNY00123, on 17 August 2018 - 06:02 AM, said:

Game saving might be quite non-trivial, though. Maybe it's doable by taking care of the saved 32-bit far pointers, while taking advantage of unused space for additional code.

Adding game saving to the final releases is most definitely doable. ;) But it requires a lot of work to get right, because you would need to save/restore more variables than just gamestate, map planes and objects. For example, the variable that stores the current state of the colored switches is not saved in the beta. So if you save and load after using the first switch, you might not be able to complete the sequence anymore.

What's interesting to me is that, unlike the beta, the final release shows the Apogee logo as an in-game demo at startup. That means the program has already been in a level when you get to the main menu and loading a game can't cause the crash/freeze that occurs in the beta.

Fixing the far pointers only requires you to subtract a known segment value (like any data or code segment) from the segment part of the far pointer before writing it to the file. And when the pointer is loaded from a file, you simply add the "same" segment (which might actually have a different value depending on how much free memory you had when the program was started) to the segment part of the far pointer and you're done. Of course this doesn't work for all far pointers, but it does work for the state pointers in Bio Menace.

Hail to the K1n9, baby!

Share this topic:

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

All copyrights and trademarks are property of their respective owners. Instead of reading this text, you could be playing Ion Maiden! ;) © 2018 Voidpoint, LLC

Enter your sign in name and password

Sign in options