[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 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.
User avatar
JPL
 
 
Posts: 516
Joined: Mon Apr 09, 2012 12:27 pm

[WIP] KEYMASTER - a tiny gameplay mod

Post by JPL »

Hi folks, here's something I made recently to learn ZScript. I'll let the readme explain it:

Code: Select all

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
Last edited by JPL on Sat Apr 28, 2018 1:32 pm, edited 7 times in total.
User avatar
Cryomundus
Posts: 495
Joined: Thu Oct 31, 2013 12:33 pm

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post 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.
Gez
 
 
Posts: 17632
Joined: Fri Jul 06, 2007 3:22 pm

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post 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.
Deii
Posts: 186
Joined: Sun Nov 01, 2015 6:50 pm
Discord: Deii #0915

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post by Deii »

This is quite interesting, will be giving it a run when I'm on my computer. :)
User avatar
JPL
 
 
Posts: 516
Joined: Mon Apr 09, 2012 12:27 pm

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post 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.
User avatar
Ryuhi
Posts: 352
Joined: Tue Feb 21, 2017 11:00 pm

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post 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
Pompous Seed
Posts: 212
Joined: Fri Aug 05, 2016 8:41 am

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post by Pompous Seed »

Any chance of adding the option of replacing the boop noises with something like a timer?
User avatar
Jimmy
 
 
Posts: 4715
Joined: Mon Apr 10, 2006 1:49 pm
Discord: Jimmy#4100
Twitch ID: JimmySquared
Operating System: Windows 10/8.1/8/201x 64-bit

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post 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 all

- 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
User avatar
saegiru
Posts: 143
Joined: Mon Jun 23, 2014 1:55 pm

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post 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?
User avatar
JPL
 
 
Posts: 516
Joined: Mon Apr 09, 2012 12:27 pm

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post 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.
User avatar
JPL
 
 
Posts: 516
Joined: Mon Apr 09, 2012 12:27 pm

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post 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 all

- 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...
User avatar
saegiru
Posts: 143
Joined: Mon Jun 23, 2014 1:55 pm

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post by saegiru »

JPL wrote:
Jimmy wrote:
JPL wrote:

Code: Select all

- 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?
Someone64
Posts: 414
Joined: Tue Feb 23, 2016 11:59 am

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post by Someone64 »

Using GZDoom 3.0.1, is it normal that you always start with all the color keys?
User avatar
Hetdegon
Posts: 319
Joined: Sat Oct 30, 2004 12:55 pm
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support
Location: Chireiden

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post by Hetdegon »

Pretty clever mod, not bad at all for a change of pace.
User avatar
JPL
 
 
Posts: 516
Joined: Mon Apr 09, 2012 12:27 pm

Re: [WIP] KEYMASTER - a tiny gameplay mod

Post 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.

Return to “Gameplay Mods”