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

[WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Wed May 24, 2017 9:34 pm

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://www.dropbox.com/s/kpd6ou48lexoe ... r.zip?dl=0
Last edited by JPL on Thu Jun 22, 2017 7:52 pm, edited 6 times in total.
User avatar
JPL
 
Joined: 09 Apr 2012

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Cryomundus » Wed May 24, 2017 10:17 pm

Well holy shit I didn't know you could do this. This is pretty freaking awesome! Definitely gonna give this a go later.
User avatar
Cryomundus
 
Joined: 31 Oct 2013

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Gez » Thu May 25, 2017 6:13 am

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.
Gez
 
Joined: 06 Jul 2007

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Deii » Thu May 25, 2017 9:50 am

This is quite interesting, will be giving it a run when I'm on my computer. :)
User avatar
Deii
 
Joined: 01 Nov 2015
Discord: Deii #0915

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Thu May 25, 2017 12:38 pm

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
JPL
 
Joined: 09 Apr 2012

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Ryuhi » Thu May 25, 2017 2:50 pm

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
User avatar
Ryuhi
 
Joined: 21 Feb 2017

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Pompous Seed » Thu May 25, 2017 10:20 pm

Any chance of adding the option of replacing the boop noises with something like a timer?
Pompous Seed
 
Joined: 05 Aug 2016

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Jimmy » Fri May 26, 2017 5:55 am

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
User avatar
Jimmy
Joyful Barrel
 
Joined: 10 Apr 2006
Location: Perth, WA
Discord: Jimmy#4100

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby saegiru » Fri May 26, 2017 7:58 am

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
saegiru
 
Joined: 23 Jun 2014

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Fri May 26, 2017 12:30 pm

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
 
Joined: 09 Apr 2012

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Fri May 26, 2017 12:34 pm

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...
User avatar
JPL
 
Joined: 09 Apr 2012

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby saegiru » Fri May 26, 2017 12:39 pm

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?
User avatar
saegiru
 
Joined: 23 Jun 2014

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Someone64 » Sun May 28, 2017 3:57 am

Using GZDoom 3.0.1, is it normal that you always start with all the color keys?
Someone64
 
Joined: 23 Feb 2016

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby Hetdegon » Sun May 28, 2017 6:15 am

Pretty clever mod, not bad at all for a change of pace.
User avatar
Hetdegon
Dimensional Police
 
Joined: 30 Oct 2004
Location: Chireiden

Re: [WIP] KEYMASTER - a tiny gameplay mod

Postby JPL » Sun May 28, 2017 10:39 am

Someone64 wrote:Using GZDoom 3.0.1, is it normal that you always start with all the color keys?


Yes, that's intended.
User avatar
JPL
 
Joined: 09 Apr 2012

Next

Return to Gameplay Mods

Who is online

Users browsing this forum: Garrett_42, JimmyJ, namsan, Valherran and 7 guests