Page 1 of 5

[WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Wed May 24, 2017 8:34 pm
by JPL
Hi folks, here's something I made recently to learn ZScript. I'll let the readme explain it:

Code: Select allExpand view
KEYMASTER mod for ZDoom
(prototype build)

- Needs GZDoom 2.5 or higher.
- Works with pretty much any normal Doom or Heretic level - try it with your
favorites!
- On every level, a random monster is made THE KEYMASTER. Tougher and faster
than its comrades.
- Level exits won't work until you've killed THE KEYMASTER and claimed the key.
- But you can't damage THE KEYMASTER until you find THE ARROW OF SLAYING
somewhere in the level.
- To find the ARROW, watch the icon on your HUD and listen for the pulse sound;
it'll get quicker as you get closer.
- Once you have the ARROW the icon & pulse will direct you to the KEYMASTER.
- Doesn't work (but should fail gracefully) on levels with no monsters, no
pickups, no exit switch/teleport lines eg boss levels.


Configuration options:
- Level-Persistent Picks: when True means placement of THE KEYMASTER and ARROW
will always be the same on the same level + skill - good for competitive runs.
When False THE KEYMASTER and ARROW are randomized every level load.
- Start With All Normal Keys: when True all players will start each level with
all normal keys, ie the red/yellow/blue keycards and skulls. When False these
will never be replaced with the ARROW, so be aware that this alters the random
item selection process if you're using Level-Persistent Picks.
- Radar Ping: turns the pulse sound on/off.
- Radar Icon: turns the directional indicator on/off.
- KEYMASTER Health % Bonus: health will be multiplied by this. Crank this up if
you want a fierce(r) battle for the key.
- ARROW Damage % Bonus: once you have the ARROW, all damage dealt to monsters
will be multiplied by this. Definitely changes the feel of combat for the home
stretch!
- KEY Damage % Bonus: once you have the KEY, all damage dealt to monsters
will be multiplied by this. Stacks with the ARROW damage bonus, so with default
settings once you have the KEY you have QUAD DAMAGE!

prototype caveats:
- all audiovisuals are placeholder, though i do love dat key sound
- multiplayer barely tested. arrow + key aren't shared in coop, though all
players still get the damage bonus and all players can exit the level once
one player gets the key.

credits:
- JP ( http://vectorpoem.com )
- Nash on the ZDoom forums for lotsa ZScript help.
- @m0rb for adding Heretic support.
- Major Cooke on the ZDoom forums for help fixing a UI / game code issue.
- Gauntlet, Wolfenstein, and Monkey Island 2 for assets.


Screenshots:
Spoiler:


Update: I streamed some Eps 1, 2, and 3 runs last night:


I've enjoyed developing this and playing levels with it. It changes the gameplay just enough, making you reconsider how you move through a level, where all the items and monsters are, and lends a very different sense of pacing to old familiar levels.

As far as future development goes, it's got pretty much all the features I originally envisioned for it. For an official release it might be nice to do original art for the key and arrow sprites, but I've grown kind of attached to the placeholder ones.

This mod doesn't modify any existing Doom classes (Player, weapons, monsters), so it should play nicely with most other mods. If you find one it doesn't play nicely with, let me know.

I don't have a great multiplayer testing setup, so if people think it's fun in coop I could use some assistance making sure it plays perfectly with that.

Download link: (latest version)
https://jp.itch.io/doom-keymaster

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Wed May 24, 2017 9:17 pm
by Cryomundus
Well holy shit I didn't know you could do this. This is pretty freaking awesome! Definitely gonna give this a go later.

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Thu May 25, 2017 5:13 am
by Gez
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.

A possibility would be to have the exit effect warps you back to the start (chaos device effect) when you haven't killed the keymonster yet.

Note that you can still get stuck if the map blocks paths or relies on W1 teleporters, or is otherwise made with absolutely zero consideration to coop play.

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Thu May 25, 2017 8:50 am
by Deii
This is quite interesting, will be giving it a run when I'm on my computer. :)

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Thu May 25, 2017 11:38 am
by JPL
Gez wrote:
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.

A possibility would be to have the exit effect warps you back to the start (chaos device effect) when you haven't killed the keymonster yet.

Note that you can still get stuck if the map blocks paths or relies on W1 teleporters, or is otherwise made with absolutely zero consideration to coop play.


Yeah, any kind of deadfall or point-of-no-return in a map is a possible chance to get stuck with no way of reaching the Arrow or Key. These situations seem pretty much impossible to detect from code, much less fix. So my gut says this will always have to be a "be aware some random rolls on maps won't work" situation.

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Thu May 25, 2017 1:50 pm
by Ryuhi
This is a really neat idea. I'll throw it in my load order a few times to see how it plays with other mods :D

edit: plays well with a lot of mods, but anything that has a unique HUD kinda has to choose between the pulsing icon and a normal HUD, or its correct HUD and only having the audio cue to go off of. If there was a way to make it independent of the HUD (or at least just play nice with existing ones rather than replace them) this would be a really fun addition for mods like samsara and demonsteele :D

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Thu May 25, 2017 9:20 pm
by Pompous Seed
Any chance of adding the option of replacing the boop noises with something like a timer?

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Fri May 26, 2017 4:55 am
by Jimmy
This is cool!

I caught your Ultimate Doom playthrough stream just after it happened. The game is definitely a lot different in a fun and interesting way, that emphasises and rewards exploration more than anything. Neat.

I'm not too fond of the ping sound. I know I can disable it, but I'd rather have something less, um, "musical" if that makes sense. The actual tone of the sound is a low F#, and it can be really distracting because the chances are it won't be in key with the music.

JPL wrote:
Code: Select allExpand view
- 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.


Is there any way you can change the blocking of the W1 Exit Level lines so they forbid the player from passing over the line until the key is acquired?

EDIT: An amusing thing just happened. The cyberdemon in E4M2 is apparently the keymaster. You can telefrag him and get the key without needing to go for the arrow. :P

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Fri May 26, 2017 6:58 am
by saegiru
Still love the idea of this - noticed in your youtube that you've changed it to a fixed arrow location... is this able to be set to randomized, or is it fixed now?

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Fri May 26, 2017 11:30 am
by JPL
saegiru wrote:Still love the idea of this - noticed in your youtube that you've changed it to a fixed arrow location... is this able to be set to randomized, or is it fixed now?


Fixed location is the new default, but you can turn it back to the old behavior (arrow is randomized every map load) in the options menu.

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Fri May 26, 2017 11:34 am
by JPL
Jimmy wrote:This is cool!
I'm not too fond of the ping sound. I know I can disable it, but I'd rather have something less, um, "musical" if that makes sense. The actual tone of the sound is a low F#, and it can be really distracting because the chances are it won't be in key with the music.


That's good feedback! I'm not a sound designer so I went with the first cool thing that popped into my brain. I could experiment with different sounds, maybe something more like a heartbeat? Something you can hear easily even if you've got music playing.

Jimmy wrote:
JPL wrote:
Code: Select allExpand view
- 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.


Is there any way you can change the blocking of the W1 Exit Level lines so they forbid the player from passing over the line until the key is acquired?


Clever... I could do that, but I'm not sure I could give the "need key" feedback when the player collides with those impassible lines?

Jimmy wrote:EDIT: An amusing thing just happened. The cyberdemon in E4M2 is apparently the keymaster. You can telefrag him and get the key without needing to go for the arrow. :P


That rules, I think I did it myself without realizing. Doesn't seem to break anything...

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Fri May 26, 2017 11:39 am
by saegiru
JPL wrote:
Jimmy wrote:
JPL wrote:
Code: Select allExpand view
- 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.


Is there any way you can change the blocking of the W1 Exit Level lines so they forbid the player from passing over the line until the key is acquired?


Clever... I could do that, but I'm not sure I could give the "need key" feedback when the player collides with those impassible lines?



Would it be possible to spawn some kind of item that is there while it is impassible, then remove it when it's not?

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Sun May 28, 2017 2:57 am
by Someone64
Using GZDoom 3.0.1, is it normal that you always start with all the color keys?

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Sun May 28, 2017 5:15 am
by Hetdegon
Pretty clever mod, not bad at all for a change of pace.

Re: [WIP] KEYMASTER - a tiny gameplay mod

PostPosted: Sun May 28, 2017 9:39 am
by JPL
Someone64 wrote:Using GZDoom 3.0.1, is it normal that you always start with all the color keys?


Yes, that's intended.