Atroxian Realm (Version 1.2 Released)

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.
User avatar
Syllypryde
Vorticon Elite
Posts: 1025
Joined: Tue Jan 20, 2009 18:33
Location: Michigan
Contact:

Re: Atroxian Realm (Version 1.1 Released)

Post by Syllypryde »

K1n9_Duk3 wrote: Wed May 15, 2019 20:46 One of these 24 levels is reserved for the boss battle and that's the only one of them that doesn't have a 3-Up in it. The boss battle has its own level due to memory limitations and is more or less part of the Sky Sactum level. If you exit to the world map during the boss battle, you have to re-play the Sky Sanctum level to get to the boss again.
Oops, I forgot Level 17 Realm Reactor does not have a 3up because it is the boss where you fight Atroxus. I had also forgotten that you are forced to play Sky Sanctum again if you go back to the world map at the boss level. Thank you for clearing all that up. I have never exited to the world map on Realm Reactor personally, so it never occured to me that Sky Sanctum would have to be replayed.
.niarb ym fo
snoitulovnoc eht tuaba
selbbarcs ssensuoicsnoc
rehgih a ekil smees
ShikadiQueen
Grunt
Posts: 3
Joined: Wed Sep 04, 2019 8:05

Re: Atroxian Realm (Version 1.1 Released)

Post by ShikadiQueen »

My biggest disappointment about this mod is that the game doesn't last forever. It's that good.

I've not been keeping up with this community for quite a while (pretty much since around the time the last episode of Ceilick's TUIT trilogy was released), but recently I had a look around and decided to try this out and I'm just absolutely amazed by the amount of work that went into this mod. To think that it's the late 2010s and people still pour so much love into creating such huge and fun mods for the original Keen games is just incredible. And if I hadn't been told upfront that it was a Keen 4 mod I would've assumed it was a whole new game and wouldn't have started playing the guessing game of which enemies got replaced into what. :P (I saw that final level coming but I never expected it to be as elaborate and tense as it turned out)

I also like how even though it's a source mod, it still keeps the general feel of the original Galaxy games enough to feel like a sequel that would fit right in with them. The attention to detail in the graphics, music and level design is also something I can't praise enough. Not to mention that the story really kept me going and at every point in the game I felt the urge to find out what would happen next. It's just all around amazing, so good job to Gridlock and everyone else involved, and I hope a full sequel materializes some day! I've just started playing the Alphamatic in the meantime.
Gridlock
Vorticon Elite
Posts: 617
Joined: Thu Aug 12, 2010 2:20

Re: Atroxian Realm (Version 1.1 Released)

Post by Gridlock »

Thank you for the kind words!
I hope a full sequel materializes some day!
Me too!

It is something I work on occasionally, though at a snail's pace. Since it's planned to be a fangame in Unity rather than a mod, there's a colossal amount of engine building and R&D I have to get through. There's a thread with some discussion if you haven't seen it: viewtopic.php?f=2&t=4093
Image
Armageddon Begins Again. The Alphamatic has arrived.

Atroxian Realm: viewtopic.php?f=4&t=3536
The Alphamatic: viewtopic.php?f=4&t=4086
banana
Grunt
Posts: 19
Joined: Wed Sep 11, 2019 15:03

Re: Atroxian Realm (Version 1.1 Released)

Post by banana »

This one is absolutely amazing. I played through it once on Normal and twice on Hard and had a blast with it. I still haven't found the 3-Up in Atroxian Mines or found the way to the one in the Catacombs, but I did manage to get all the other ones. Just saying it has 24 levels doesn't fully do it justice, because a lot of these levels are enormous. I'm particularly impressed with how well you manage to craft levels this big while staying with some cohesive theme. Some are quite complicated, it took me quite a while to find my way in Atroxian Base, Fort Atrox, and Atroxian Mines the first time as didn't fully know where to go anymore, but the blinking arrows help a lot and Checkpoints are such a huge boon to not be punished as much for a little mistake.
I haven't encountered any crashes at all, maybe that's because I've only played version 1.1. I did notice the Krile Spirit resurrecting the Axosis near the green gem in Catacombs, no idea what causes that.

One thing is that I didn't notice much difference between Normal and Hard difficulties, the number of enemies seems to remain relatively the same. And by the end of my last play on Hard I had over 200 lives and over 500 ammo at the start of Sky Sanctum. There are so many extra lives in this game that combined with the Checkpoints you don't really lose any lives on average when at a hard place where you have to try several times, for instance for the 3-Up at Cargo Transit A. And then when you're past it successfully you're up a couple of lives, regardless of how many attempts it took. I don't have a clue how feasible it is, but would it be an option for Hard difficulty to have the level-up stars not respawn when reloading from a Checkpoint if you collected it after you were at the Checkpoint but before you died? The second part of Kridonea Ruins is also quite abuseable like this where you can just keep on collecting the 3-Up and the ammo next to the Checkpoint and then die by the Axosis over and over again.
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 781
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: Atroxian Realm (Version 1.1 Released)

Post by K1n9_Duk3 »

banana wrote: Mon Oct 28, 2019 20:18I've only played version 1.1. I did notice the Krile Spirit resurrecting the Axosis near the green gem in Catacombs, no idea what causes that.
As it turns out, my bug-fixes for version 1.1 weren't sufficient to get rid of this particular bug, among other things. These bugs have already been fixed in the current build, but version 1.2 has not yet been released to the public. Sorry about that.

The checkpoints in Atroxian Realm are basically autosaves, that means the level will always be restored to the exact same state as it was when the checkpoint was activated, including the extra lives. What you describe would be more like the checkpoints in BioMenace (and KEENGINE), where the items stay collected and the player is just moved back to the last checkpoint after dying. This is certainly a valid option, but it is a completely different approach and the levels need to be designed to take this into account, so the player can't get stuck when he "respawns" at the checkpoint.

Not resetting the level and just respawning the player at the last checkpoint has other side effects, too. If there are some items (lives, keys, ammo etc.) that are hard to collect without dying, then you could just sacrifice a life and bypass the intended puzzle, because the items would stay collected after respawning. It would also trivialize boss battles, since the player can just respawn, but the health of the boss would not reset. I think that's why BioMenace limits the player to a maximum of 9 lives (most of the time anyway).

The current checkpoint system in Atroxian Realm makes it extremely difficult to have some of the extra lives disappear after loading a checkpoint. And other players actually like this system and have asked for more extra lives to be placed near the checkpoints so that the player can basically have infinite lives. There's just no way to please everyone.
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
Hisymak
Vortininja
Posts: 112
Joined: Sat Mar 26, 2016 20:13

Re: Atroxian Realm (Version 1.1 Released)

Post by Hisymak »

K1n9_Duk3 wrote: Mon Oct 28, 2019 22:05 The current checkpoint system in Atroxian Realm makes it extremely difficult to have some of the extra lives disappear after loading a checkpoint. And other players actually like this system and have asked for more extra lives to be placed near the checkpoints so that the player can basically have infinite lives. There's just no way to please everyone.
In my opinion, at least the 3-ups could be made collectible only once per level. When I played this game, I pretty well knew that I could activate checkpoint, take a 3-up, die and take 3-up again and repeat this infinitely, in order to collect infinite lives. I did not do that even if I could, in order to feel plaing fair.
As there's always only one 3-up per level, could it be somehow programmed to remember a 3-up was already collected and remove it after reloading a checkpoint?
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 781
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: Atroxian Realm (Version 1.1 Released)

Post by K1n9_Duk3 »

It should be obvious that I prefer the BioMenace style for checkpoints, otherwise I wouldn't have implemented them like that in KEENGINE. But let's not forget the "classic" Keen behavior after each death: You can also return to the world map or restart the level (if you haven't reached a checkpoint yet). The checkpoint system in Atroxian Realm was designed to mimic that "classic" behavior consistently (player keeps lives, score & ammo, level resets). So the dicussion should really be about how to handle death in general, not how to handle the checkpoints. There can be valid reasons to use different behaviors for the checkpoints compared to regular level resets, but that's something that the game designer should decide.
Hisymak wrote: Wed Oct 30, 2019 18:26 As there's always only one 3-up per level, could it be somehow programmed to remember a 3-up was already collected and remove it after reloading a checkpoint?
Yes, that would be easy to implement for checkpoints. But it doesn't solve the "problem" if the player exits to the world map or just restarts the level. To handle that, you would need to keep track of which 3-Ups have been collected in which levels. That, too, would be possible, but the code for that would be more complex.

Personally, I don't see the lives as a problem in AR, since losing all your lives only means that your score, lives and ammo are reset and Keen is sent back to the world map. The only potential issue I see is that a large number of lives allows the player to collect items, die, collect the items again etc. to collect "infinite" amounts of points or ammo. If that bothers you, then we should probably be discussing whether or not to reset these values after death, instead of talking about the extra lives.
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
Gridlock
Vorticon Elite
Posts: 617
Joined: Thu Aug 12, 2010 2:20

Re: Atroxian Realm (Version 1.1 Released)

Post by Gridlock »

As it turns out, my bug-fixes for version 1.1 weren't sufficient to get rid of this particular bug, among other things. These bugs have already been fixed in the current build, but version 1.2 has not yet been released to the public. Sorry about that.
I think work on another version fell off because of me. I know we had discussed some planned features, but it's fallen by the wayside. If you have a version 1.2 release candidate with just these bugs fixed, then it's probably fine if you just want to link it. I don't really expect to get around to any more features for AR.
One thing is that I didn't notice much difference between Normal and Hard difficulties, the number of enemies seems to remain relatively the same.
There are more hard mode spawns, although it will certainly be more noticeable in some levels than others. Atroxites I think receive the biggest increase, and there's also things like more turrets that fire. I actually didn't have the ability to add more spawns for certain enemy types on normal and hard mode, such as Axoclaws (Thunderclouds), since the original K4 didn't support that. It could probably be patched in now in the new engine, but I don't intend to go back and modify enemy placement. Some levels are also so close to the engine's sprite limits that I can't really add any more without corruption or crashing.


Discussion over checkpoints and lives has cropped up a few times. For what it's worth, I'm not interested in enforcing "fair" rules regarding lives and farming. There's really no situation where I'd wish for the player to get booted from a level and lose all their progress. If I had my way, I'd remove the antiquated lives system from Keen altogether and replace it with something else that rewards the player for exploration, like an upgrade store or secret story quest. But, I had to work within the confines of the Galaxy engine, so it's there. I really don't think there's a way to fix all these game design balancing issues without completely reworking the design from the ground up. Which I intend to do in Voyage to Veota.
Image
Armageddon Begins Again. The Alphamatic has arrived.

Atroxian Realm: viewtopic.php?f=4&t=3536
The Alphamatic: viewtopic.php?f=4&t=4086
User avatar
Syllypryde
Vorticon Elite
Posts: 1025
Joined: Tue Jan 20, 2009 18:33
Location: Michigan
Contact:

Re: Atroxian Realm (Version 1.1 Released)

Post by Syllypryde »

Personally I have no issue with the extra lives, but as we have discussed dozens of times before, I do understand how many Keeners see the extra lives as useless, especially with farming. On the Ye Olde Pirate Mod and on one of the Keen 4 levelpacks, I believe it was Short Circuit Oracle, there were various patches implemented making it so you could lose any points, rayguns and extra lives when you died.You were only able to keep all of this when you completed a level, solving the farming problem. Now in a checkpoint system, I think it would be unfair for the player to lose all the progress they made up to the checkpoint. Anything collected between the checkpoint and your next death could be lost. No respawning of anything that was collected before the checkpoint. Planet Cloudius IX does this I believe.

There are several patches that can be used to eliminate farming and making points, rayguns and extra lives more valuable. But with the years Gridlock has already put into this mod, I can understand completely him not wanting to spend any more.
.niarb ym fo
snoitulovnoc eht tuaba
selbbarcs ssensuoicsnoc
rehgih a ekil smees
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 781
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: Atroxian Realm (Version 1.1 Released)

Post by K1n9_Duk3 »

Gridlock wrote: Thu Oct 31, 2019 2:48 I think work on another version fell off because of me. I know we had discussed some planned features, but it's fallen by the wayside. If you have a version 1.2 release candidate with just these bugs fixed, then it's probably fine if you just want to link it. I don't really expect to get around to any more features for AR.
Alright then:

Atroxian Realm Version 1.2 (Source Code)

The most important changes include:
  • fixing the remaining Krile Ghost bugs
  • high scores are actually saved to disk now
  • the number of Hyper Stars (3UPs) found during the game will now be shown in the high scores
  • added some code to list the remaining items in the current level (default key: F2)
  • this list can also be shown at the end of each level (can be turned on or off in the Options menu, default is OFF)
  • added a few customizable key bindings (see Keyboard menu)
  • added some new debug cheats
Most of the game files should be the same as in the official v1.1 release. I only changed the EGAGRAPH to add the missing tile graphics for the WallDebug cheat.
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
banana
Grunt
Posts: 19
Joined: Wed Sep 11, 2019 15:03

Re: Atroxian Realm (Version 1.2 Released)

Post by banana »

I get the extra lives thing. Dropping that discussion then, is it intended that you can skip the third red key in Security Layer, the one behind the bridge with the yellow circle marking? In the middle building, you can just not use the switch on the top floor with the green square markings, the bridge on the right side is already open regardless. All that button seems to do is close the left bridge in the building. And if you leave it untouched, you can just pass through the building by passing above the red key door on the ground floor, so you can use the red key originally meant to go there to open the door near the exit instead and complete the level. It almost seems as if that green square switch in the second building is supposed to open the right bridge and that bridge is supposed to start as closed, but it starts as open.
User avatar
keenmaster486
Vorticon Elite
Posts: 542
Joined: Sun Mar 20, 2016 18:29
Location: Tranquility Base
Contact:

Re: Atroxian Realm (Version 1.2 Released)

Post by keenmaster486 »

@K1n9_Duk3, I'd like to bring to your attention that AR 1.2 now fails to load without a "low on memory" error on real DOS. I've tried with JEMMEX too, which gives me the largest free amounts of conventional, upper, XMS, EMS, etc.
I flermmed the plootash just like you asked.
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 781
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: Atroxian Realm (Version 1.2 Released)

Post by K1n9_Duk3 »

keenmaster486 wrote: Sat Nov 09, 2019 15:04 @K1n9_Duk3, I'd like to bring to your attention that AR 1.2 now fails to load without a "low on memory" error on real DOS. I've tried with JEMMEX too, which gives me the largest free amounts of conventional, upper, XMS, EMS, etc.
I take it you're referring to this message:
There is not enough memory available to play the game reliably. You can
play anyway, but an out of memory condition will eventually pop up. The
game was meant to be played in DOSBox. You probably won't be able to free
up enough memory on real DOS PCs.
Obvious reading comprehension jokes aside, the fact is that certain levels in Atroxian Realm require about 500k of free memory to be playable at all. And you actually need at least around 518k of memory to play all the levels with music enabled. If you pay attention to the text-based startup screen of the game, you'll see that there's a box that says "Memory Available to Game". If the "Total" amount (Standard + Expanded + Extended) in this box is less than 500k, then you won't be able to play all levels without encountering an "Out of memory" error. Which is exactly what it says in that message at the beginning.

Do not confuse this with the amount of memory you get from DOS when you type "mem". Mem just shows the amount of free conventional memory before the game is started. The executable itself takes up over 200k of conventional memory, so it is absolutely impossible to run Atroxian Realm without encountering "out of memory" errors if you don't have both EMS and XMS. For example: if you run the game (v1.2) in DOSBox (v0.74), you'll see that the game lists a total of 554k of available memory. This includes 64k of EMS and 63k of XMS. DOSBox also reports 632k of free conventional memory when you enter "mem" at the command prompt. That means you need at least 578k of free conventional memory from DOS in order to run AR v1.2. But there's another issue that I ran into when testing this game (and Keen 4-6 and BioMenace) on actual hardware and that's that the games are unable to use XMS on any of my DOS 6.22 systems. Without the 63k of XMS, it is absolutely impossible to play all the levels in Atroxian Realm.

Unlike Keen 4-6, which just show a "not enough memory" screen and exit to DOS, this source mod actually allows you to play the game even if you don't have enough memory. That's because the part of the code that checks the memory situation was taken from Keen Dreams, not Keen 4-6. That check was also present in version 1.0 of Atroxian Realm, but it didn't use the correct values (it used 335k, the same value that was used in Keen Dreams). After I modified the code to make the game free up as much memory as possible in certain situations that were known to cause "out of memory" errors in v1.0, I took the time to check the memory requirements for every single level (with the built-in M+F10 debug command) both with and without music. After that, I inserted the correct value in the code for the memory check at startup. The code was in the game anyway, so why not make it actually useful? The idea behind this message is that if you don't see this message at startup, then you should never encounter an "out of memory" crash and should be able to play through the entire game from beginning to end. However, you may still encounter the "insufficient memory for background music" error in-game, in which case the game just skips loading the music, but doesn't crash.

If you're curious: level 21 "Kridonnea Ruins" (Part 2) is the level that requires the biggest amount of memory at 499k without music (I rounded up to 500k for the memory check). With music, it's 510k. The second biggest level is level 8 "Security Layer" at 481k without music and 518k with music. Third is level 6 "Atroxian Mines" at 481k without music and 510k with music. All of these levels must be completed to finish the game.

The only way to lower the memory requirements of Atroxian Realm without altering the game itself would be to use some neat code that Lemm came up with. Lemm's code allows the game to draw the sprites and perform the necessary sprite shifts on the fly while drawing the sprites. This can reduce the memory requirements for certain sprites to 25% of the original amount. The downside of this new code it that it requires a relatively powerful machine (I think at least 33 to 40 MHz) to run at acceptable speeds. Since the vast majority would only ever play this game in DOSBox, this means that the default DOSBox cycle count of 3000 wouldn't be enough and people would have to mess with the cycles settings to get the game running at acceptable speeds. Gridlock once told me that he prefers solutions where people can just run the game in DOSBox without having to mess around with the settings, so I didn't bother adding a feature that would be a benefit for 1% of the audience and an inconvenience for the other 99%.

I haven't actually tested this, but based on my calculations, the shiftless drawing code would reduce the minimal memory requirements from 500k (without music) to just under 400k (with music). If you're bored, grab the v1.2 source and Lemm's source modding package and see if you can add the shiftless drawing code to AR.

Edit: The games have issues with XMS on my DOS 6.22 systems, not with EMS.
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
Hisymak
Vortininja
Posts: 112
Joined: Sat Mar 26, 2016 20:13

Re: Atroxian Realm (Version 1.2 Released)

Post by Hisymak »

K1n9_Duk3 wrote: Sat Nov 09, 2019 22:54 The only way to lower the memory requirements of Atroxian Realm without altering the game itself would be to use some neat code that Lemm came up with. Lemm's code allows the game to draw the sprites and perform the necessary sprite shifts on the fly while drawing the sprites. This can reduce the memory requirements for certain sprites to 25% of the original amount. The downside of this new code it that it requires a relatively powerful machine (I think at least 33 to 40 MHz) to run at acceptable speeds. Since the vast majority would only ever play this game in DOSBox, this means that the default DOSBox cycle count of 3000 wouldn't be enough and people would have to mess with the cycles settings to get the game running at acceptable speeds. Gridlock once told me that he prefers solutions where people can just run the game in DOSBox without having to mess around with the settings, so I didn't bother adding a feature that would be a benefit for 1% of the audience and an inconvenience for the other 99%.
Well, what if this code is added into the game, but made optional. It could be activated by a specific commandline parameter. Or even better, the game would detect that it does not have enough available memory on startup or when loading levels, and would automatically switch itself to use the mentioned code.
That can pactically happen when game is not run in dosbox, but the machine those people would run on could have enough power to run fast enough. If not, they would be at least able to run the levels at all.
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 781
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: Atroxian Realm (Version 1.2 Released)

Post by K1n9_Duk3 »

Hisymak wrote: Mon Nov 11, 2019 19:59Well, what if this code is added into the game, but made optional.
This might work in theory, but you need to realize that Lemm's code is not a simple replacement of the original drawing code. You need to modify a lot more than just one function. Adding all the checks that would allow you to have both versions in one executable and swap between them by changing one variable requires a not insignificant amount of new code, which also takes up precious memory.

Also, Lemm's code requires that the "shifts" settings for all the sprites are set to 1 in the EGAGRAPH file. This is what actually lowers the memory requirements (instead of 2 or 4 copies of the same sprite, the game only has to keep one copy in memory). So in theory, you would need a new EGAGRAPH file. The game could be told to ignore the "shifts" value (or pretend the value is set to 1 when in "shiftless" mode), but again, that means more code.

I'm not saying it would be impossible to add all this code. I just don't want to do it, at least not right now.
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
Post Reply