[WIP] KEYMASTER - a tiny gameplay mod

Projects that alter game functions but do not include new maps belong here.
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Cryomundus » Sun May 28, 2017 2:42 pm

Can I ask why? Having all the keys just seems to to really break the flow of a level, and I don't know why you would do that. Wouldn't it be better to have it as an option?
User avatar
Cryomundus
 
Joined: 31 Oct 2013

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Sun May 28, 2017 3:09 pm

Cryomundus wrote:Can I ask why? Having all the keys just seems to to really break the flow of a level, and I don't know why you would do that. Wouldn't it be better to have it as an option?


The whole point of the mod is that your flow through the level is different than if you were playing it vanilla, and that the existing color key system is irrelevant. On some maps you can walk right up to the exit very early in, but it doesn't do you any good until you find the keymaster.
I could add a "never auto-give keys" option, but then I'd need to add a check to the Arrow spawning so that it never replaces a key, which in turn would change the list order it uses for level-persistent random picks - ie the arrow would be in different places depending on if you had that option on.
I'll add it to my "possible TODO" list. Screw it, I'll add it. It's a totally reasonable option. Build has been updated.
User avatar
JPL
 
 
 
Joined: 09 Apr 2012

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Someone64 » Mon May 29, 2017 9:52 am

With the latest version I'm just getting VM execution failed tried to read from address zero from hud.txt.
Someone64
 
Joined: 23 Feb 2016

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Mon May 29, 2017 11:40 am

Someone64 wrote:With the latest version I'm just getting VM execution failed tried to read from address zero from hud.txt.

Hmm, I can't reproduce that... which map / WADs are you loading?
User avatar
JPL
 
 
 
Joined: 09 Apr 2012

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Someone64 » Mon May 29, 2017 1:11 pm

Ah, found out that it's Tilt++ that was doing it. It wasn't happening before you added the settings for giving keys.

New bug report: Damage bonuses don't work in Project Brutality 3.0 test. Have not tried it on the old Project Brutality or just Brutal Doom yet.

EDIT: Another one. Due to PB's unique spawning system the barrels will consistently be picked to be the keymaster instead of monsters. Other mods with special spawning systems probably also have this issue.
Someone64
 
Joined: 23 Feb 2016

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Mon May 29, 2017 2:10 pm

Someone64 wrote:Ah, found out that it's Tilt++ that was doing it. It wasn't happening before you added the settings for giving keys.


Okay, so I've fixed the crash and updated the build, but now something weird happens. Keymaster stops working entirely based on which order you load Tilt++ vs KM with. If I run
Code: Select allExpand view
gzdoom Tilt++.pk3 keymaster.pk3

then both mod function correctly. Whereas if I run with
Code: Select allExpand view
gzdoom keymaster.pk3 Tilt++.pk3

KM doesn't run at all... no HUD, no keymaster, and you can exit levels normally.

Any ZScript lords understand why that is?

New bug report: Damage bonuses don't work in Project Brutality 3.0 test. Have not tried it on the old Project Brutality or just Brutal Doom yet.

EDIT: Another one. Due to PB's unique spawning system the barrels will consistently be picked to be the keymaster instead of monsters. Other mods with special spawning systems probably also have this issue.


KM compiles a list of "monsters in the level" on start based on the bIsMonster actor flag. If PB is giving barrels the bIsMonster flag for some strange reason, then yeah they might get chosen as the keymaster. Same with the "damage bonus", which is setting the DamageFactor property on all monsters under the hood... if PB is setting that on its own (seems likely?) without respecting the existing values, it'll stomp whatever KM did. Not sure how to fix that.
User avatar
JPL
 
 
 
Joined: 09 Apr 2012

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Mon May 29, 2017 2:13 pm

Ah, just compared Tilt++'s MAPINFO with KM's:

Code: Select allExpand view
GameInfo
{
    EventHandlers = "TiltPlusPlusHandler"
}


Code: Select allExpand view
GameInfo
{
    AddEventHandlers = "KeyMasterHandler"
    StatusBarClass = "KeymasterStatusBar"
}


Tilt++ is undoing the handler that KM adds, so that's a fix for Tilt++ actually. Ah, I see in that thread Nash has chimed in with the same fix.
User avatar
JPL
 
 
 
Joined: 09 Apr 2012

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Nash » Mon May 29, 2017 3:13 pm

Sorry about that. :( There have been a backlog of fixes already committed for my various ZScript mods (DukeShadow and Tilt++) but I just don't have time yet to upload a polished release. In the mean time, users should just edit the MAPINFO and change EventHandlers = to AddEventHandlers = in Tilt++! Sorry again!
User avatar
Nash
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Github ID: nashmuhandes

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Mon May 29, 2017 8:38 pm

Nash wrote:Sorry about that.


No worries! You got the fix out.
User avatar
JPL
 
 
 
Joined: 09 Apr 2012

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Mon May 29, 2017 8:41 pm

Updated the build with Heretic support, thanks to @m0rb from twitter.

All the changes were very simple and coexist nicely with the Doom support, except for the HUD, which I had to separate into filter/game-doomchex/ and filter/game-heretic/ folders because the former derives from DoomStatusbar and the latter from HereticStatusBar. They're identical in every other respect though, so the code duplication there is a real bummer. Can anyone figure out a clever way around that?
User avatar
JPL
 
 
 
Joined: 09 Apr 2012

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby saegiru » Mon May 29, 2017 9:30 pm

JPL wrote:Updated the build with Heretic support, thanks to @m0rb from twitter.

All the changes were very simple and coexist nicely with the Doom support, except for the HUD, which I had to separate into filter/game-doomchex/ and filter/game-heretic/ folders because the former derives from DoomStatusbar and the latter from HereticStatusBar. They're identical in every other respect though, so the code duplication there is a real bummer. Can anyone figure out a clever way around that?


Speaking of status bars - from what I see of the ZScript for the HUD, it looks to override SBARINFO completely and they can't coexist, correct? My knowledge on ZScript is extremely limited currently. You aren't aware of a way to integrate your arrow radar into a current HUD made in SBARINFO is there? I have aspirations of changing Ultimate DoomVisor to ZScript eventually (at which point I think it might be possible), but right now it's in old school SBARINFO and if I load Keymaster up with it, it either overrides it or vice versa.
User avatar
saegiru
 
Joined: 23 Jun 2014

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Mon May 29, 2017 9:43 pm

saegiru wrote:
JPL wrote:Updated the build with Heretic support, thanks to @m0rb from twitter.

All the changes were very simple and coexist nicely with the Doom support, except for the HUD, which I had to separate into filter/game-doomchex/ and filter/game-heretic/ folders because the former derives from DoomStatusbar and the latter from HereticStatusBar. They're identical in every other respect though, so the code duplication there is a real bummer. Can anyone figure out a clever way around that?


Speaking of status bars - from what I see of the ZScript for the HUD, it looks to override SBARINFO completely and they can't coexist, correct? My knowledge on ZScript is extremely limited currently. You aren't aware of a way to integrate your arrow radar into a current HUD made in SBARINFO is there? I have aspirations of changing Ultimate DoomVisor to ZScript eventually (at which point I think it might be possible), but right now it's in old school SBARINFO and if I load Keymaster up with it, it either overrides it or vice versa.


Correct, I'm not aware of any way to "add on to" the existing HUD. Which is a bummer in Keymaster's case because it doesn't add its own SBARINFO data, all it really does is draw that one visual element of the icon fading in and out; it could coexist with a huge variety of other HUDs.
It seems like there's been some discussion of deeper ZScript UI stuff already, but I haven't followed it closely.
User avatar
JPL
 
 
 
Joined: 09 Apr 2012

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Someone64 » Tue May 30, 2017 1:03 am

Found an incompatibility with Colorful Hell. It simply gives the error not enough monsters and pickups consistently.

EDIT: Actually it doesn't seem to work with most monster randomizer mods in general.

Also, suggestion: Can you add compatibility with Legendoom that it works in such a way that instead of using Keymaster's monster buff it gives the keymaster the legendoom legendary effect instead?
Someone64
 
Joined: 23 Feb 2016

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Nash » Tue May 30, 2017 2:08 am

JPL: You might be able to utilize the RenderOverlay EventHandler to draw 2D stuff without overwriting status bar classes. I remember messing around with it in a test WAD once and it worked.
User avatar
Nash
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Github ID: nashmuhandes

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Tue May 30, 2017 2:49 am

Nash wrote:JPL: You might be able to utilize the RenderOverlay EventHandler to draw 2D stuff without overwriting status bar classes. I remember messing around with it in a test WAD once and it worked.


This totally works, thanks so much! Very very easy to move the old status bar code over to a handler. This also removes the need for the separate Doom vs Heretic HUDs.
User avatar
JPL
 
 
 
Joined: 09 Apr 2012

PreviousNext

Return to Gameplay Mods

Who is online

Users browsing this forum: 4page, fin4455, Lagi, MoranaBear, PresBarackbar and 11 guests