Someone64 wrote:New bug report: Sometimes the key gives up floating towards the player from terrain obstructions then gets stuck in really bad places.
Just curious, was the keymaster in these situations a Lost Soul? I'm investigating a spot where the issue you describe happens consistently - doom.wad E2M5 on HMP - and it's because the keymaster ceased to exist (as opposed to just lying around dead like all other monsters do).
Re: [WIP] KEYMASTER - a tiny gameplay mod
Posted: Wed Jun 21, 2017 11:54 am
by JPL
Okay, I've updated the build with some better handling for when the keymaster is destroyed; it definitely fixes the E2M5 HMP case.
Also added a repeat delay for the "need key" sound so it doesn't spam when you run across exit teleporters.
Re: [WIP] KEYMASTER - a tiny gameplay mod
Posted: Thu Jun 22, 2017 6:53 pm
by JPL
JPL wrote:- A keyless player can get stuck on a level like TNT MAP31, where you fall down a pit to exit. Since this mod is most fun when you have some prior knowledge of a given level layout, presumably you can avoid such pitfalls.
I figured out how to fix this, and have updated the build. "Cross to exit" ie exit teleporter lines are now marked blocking on start, and give the "need key" message when you bump into them. Getting the key sets these lines back to non-blocking.
Re: [WIP] KEYMASTER - a tiny gameplay mod
Posted: Thu Feb 08, 2018 11:21 pm
by Someone64
Sorry to necro the thread but I love this mod and I got a bug report for it: When playing with the DUMP-3 Weapons Pack using the SSG "Maestro", it causes a VM execution error when you pump the shotgun on a Keymaster. It fires a ton of projectiles that all stick to where they hit then detonates them in a staggered fashion when you pump it.
Spoiler:
Image is cut off unless you view it in a new tab.
I haven't had this happen when playing with the weapon pack by itself so I assume Keymaster is at fault here.
Also, this strange thing will sometimes happen where a Keymaster will die and the key just stays on its corpse and I have absolutely no idea what causes it. I can't even interact with the key after that. Happens ever so slightly more often when playing with Russian Overkill.
Re: [WIP] KEYMASTER - a tiny gameplay mod
Posted: Sat Apr 28, 2018 1:35 pm
by JPL
Someone64 wrote:Sorry to necro the thread but I love this mod and I got a bug report for it: When playing with the DUMP-3 Weapons Pack using the SSG "Maestro", it causes a VM execution error when you pump the shotgun on a Keymaster. It fires a ton of projectiles that all stick to where they hit then detonates them in a staggered fashion when you pump it.
Spoiler:
Image is cut off unless you view it in a new tab.
I haven't had this happen when playing with the weapon pack by itself so I assume Keymaster is at fault here.
Also, this strange thing will sometimes happen where a Keymaster will die and the key just stays on its corpse and I have absolutely no idea what causes it. I can't even interact with the key after that. Happens ever so slightly more often when playing with Russian Overkill.
Just uploaded a new version to the mod's permanent home: https://jp.itch.io/doom-keymaster . It should fix the VM abort you're seeing there, just a simple null check.
Not sure what to do about the second issue, it's possible some other mod is modifying the key on spawn or something? If you come up with a reliable repro case let me know.
Re: [WIP] KEYMASTER - a tiny gameplay mod
Posted: Sun Mar 31, 2019 9:31 pm
by Neophyte_Ronin
Script error, "keymaster.pk3:keymaster_zscript/handler.txt" line 97:
Invalid statement
Script error, "keymaster.pk3:keymaster_zscript/handler.txt" line 191:
Invalid statement
Got this from the latest release. When I checked the lines, all they have is a "{" Bracket. I'm going to check to see if changing this will let it through GZDoom 3.7.1.
Re: [WIP] KEYMASTER - a tiny gameplay mod
Posted: Sun Mar 31, 2019 10:02 pm
by JPL
Neophyte_Ronin wrote:
Script error, "keymaster.pk3:keymaster_zscript/handler.txt" line 97:
Invalid statement
Script error, "keymaster.pk3:keymaster_zscript/handler.txt" line 191:
Invalid statement
Got this from the latest release. When I checked the lines, all they have is a "{" Bracket. I'm going to check to see if changing this will let it through GZDoom 3.7.1.
Are you playing the build that I uploaded about 3 hours ago? I fixed a crash in that one and ripped out some old code. I don't see the error you're seeing in 3.3.1 release and in latest git master.
Re: [WIP] KEYMASTER - a tiny gameplay mod
Posted: Mon Apr 01, 2019 8:03 am
by Baratus
This is such a cool mod, and I love how it changes the order of progression with whatever levelset you load it up with, plus the replay value of having the keymaster/arrow spawns randomised each time. I've found this particularly fun to play with Heretic, as many of the levels are large and non-linear and have a focus on exploration, and it's certainly freeing to have full access to the level while still having a clear objective to follow. Two thumbs up!
Re: [WIP] KEYMASTER - a tiny gameplay mod
Posted: Tue Apr 02, 2019 9:18 am
by wildweasel
For some reason I had never given this mod a chance until now, it's actually rather excellent and has served to revitalize some old megawads that I had grown bored of before. That said, I do have a VM abort to report:
This occurred on Map11 of MARSW301.wad; I had just laid the killing blow on the Keymaster who happened to be a Cyberdemon and the last monster in the map. It is entirely possible this is a conflict of my rather absurd load order, but I suspect the most likely conflict is with the DoomRLA Monster Pack. Probably a case of "don't do that," but it's worth noting that the mod works quite well otherwise, and this is the first problem I've observed with it in several hours.
Re: [WIP] KEYMASTER - a tiny gameplay mod
Posted: Tue Apr 02, 2019 9:58 am
by Neophyte_Ronin
I got that exact same execution abortion just an hour ago as of this post. I was astounded--it was during a romp through Project Brutality, but I did not have the Doom RLA Monster Pack going.
EDIT: And yes, this mod is a whole new way to experience any Doom Level Pack. It turns linear maps into somewhat non-linear and exploratory--approaching the game out of order is very tricky and leaves so many opportunities for awesome multi-player.
// if key has been dropped, lerp it towards last player to damage KM
// (player #0 if no player ever has, which should be rare)
if ( masterKey )
{
Vector3 d = masterKey.Vec3To(lastKMDamagePlayer);
if ( d.length() > 10 )
{
d /= KEY_MOVE_RATE;
d += masterKey.pos;
masterKey.SetOrigin(d, true);
}
// once spawned, glitter on key not master
if ( keyGlitter )
{
keyGlitter.SetOrigin(masterKey.pos, true);
}
}
else
{
// position stuff attached to keymaster
keyGlitter.SetOrigin(keyMaster.pos, true);
int keyZ = int(keyMaster.pos.z + (keyMaster.height / 2));
keyZ += GetKeyIndicatorOffset(keyMaster);
Vector3 kip = (keyMaster.pos.x, keyMaster.pos.y, keyZ);
keyIndicator.SetOrigin(kip, true);
}
Relevant code, line 389 being the first statement in the else block. Neither keyGlitter nor keyMaster are null-checked at this point, which means if either is removed from the world (keyMaster is more likely for this to happen to I think) and their pointer becomes null the game goes kaboom.
Re: [WIP] KEYMASTER - a tiny gameplay mod
Posted: Tue Apr 02, 2019 10:54 am
by JPL
Good catch, thanks for the bug report folks. I should have a fix for this out within a day or two.
These are pretty rookie ZScript mistakes, which goes to show that I made Keymaster before most of my other ZScript mods and didn't yet know when a NULL check was necessary.
I'll probably also rework the HUD drawing to use Screen instead of StatusBar, as that's the best way I've found to make something resolution-independent.
Most of all though, thank you all for playing and for the kind words!