Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
RonnieJamesDiner

Skill Level Experiment - Test WAD & DECORATE

Recommended Posts

Posted (edited)

Hello everyone,

 

I’ve been trying to play around with different ways of incorporating difficulty settings, and for a while I was working on an approach where, rather than creating variation in the number & types of monsters throughout the map across HNTR, HMP and UV, the monsters themselves simply had scaled versions.

 

Using DECORATE, I made two separate versions of each monster – basically a Tier 2 variant, and a Tier 3 variant. The idea was that instead of struggling to maintain a cohesive experience across the map while juggling monster count/type between the skill levels, it simply became a matter of populating the map until I was content with the gameplay, and then adding each monsters’ scaled counterpart.

 

The end result was:

 

The vanilla monsters were flagged for ITYTD and HNTR only

The tier 2 variants were flagged for HMP only

The tier 3 variants were flagged for UV and N only

 

The map would have no difference in monster count, type, or location, regardless of the difficulty setting – however, the versions of each monster became increasingly dangerous the higher the difficulty you went (essentially akin to the fast monster characteristic of Nightmare, except now virtually all of the monsters are included, and the transition in difficulty scale from HNTR to UV is (I hope) rather smooth).

 

The Imp, for example, by default has a pain chance of 200, and its projectile has a speed of 8. Now, its HMP variant has a pain chance of 65, a projectile speed of 14, and the +MISSILEMORE actor flag. Its UV variant has a pain chance of 25, a projectile speed of 18, and the +MISSILEEVENMORE actor flag.

 

None of the monsters have had their health increased. My intent was not to create unnecessary bullet sponges, but rather to nudge combat just a little bit closer to the razors edge as you upped the difficulty, with things like increased damage, speed, and enemies who were overall more aggressive and lethal.

 

The project I had intended to utilize this for has since gone in a slightly different direction, and I’ve opted to resort back to the standard process of incorporating skill levels. At the end of the day, I thought it would be a shame to let this just collect dust (and possibly be forgotten about) on my harddrive, so I thought I’d post it here. If anyone wants to utilize this, it’s yours!

 

All of the monsters are bunched together in their respective HMP and UV categories, as shown below.

 

[edit] The MAPINFO is now also set up with three skill levels - Normal, Medium, and Hard, whereby Normal uses the default monsters, Medium uses the tier 2 variants, and Hard uses the tier 3 variants. Medium and Hard are set to replace the appropriate actors throughout the map via the MAPINFO lump, so you only have to worry about placing the standard default monsters while creating the level. (Thank you, Tango!)

 

-- MAPINFO lump skill definitions --

Spoiler

skill normal
{
    Name = "Normal"
    SpawnFilter = 2
    DefaultSkill
}

 

skill medium
{
    Name = "Medium"
    SpawnFilter = 3
    ReplaceActor = "ZombieMan", "FormerHumanHMP"
    ReplaceActor = "ShotgunGuy", "FormerSergeantHMP"
    ReplaceActor = "DoomImp", "ImpHMP"
    ReplaceActor = "Demon", "DemonHMP"
    ReplaceActor = "Spectre", "SpectreHMP"
    ReplaceActor = "LostSoul", "LostSoulHMP"
    ReplaceActor = "ChaingunGuy", "ChaingunnerHMP"
    ReplaceActor = "Cacodemon", "CacodemonHMP"
    ReplaceActor = "PainElemental", "PainElementalHMP"
    ReplaceActor = "HellKnight", "HellKnightHMP"
    ReplaceActor = "BaronOfHell", "BaronOfHellHMP"
    ReplaceActor = "Revenant", "RevenantHMP"
    ReplaceActor = "Mancubus", "MancubusHMP"
    ReplaceActor = "Arachnotron", "ArachnotronHMP"
    ReplaceActor = "Archvile", "ArchvileHMP"
    ReplaceActor = "SpiderMastermind", "SpiderMastermindHMP"
    ReplaceActor = "Cyberdemon", "CyberdemonHMP"
}

 

skill hard
{
    Name = "Hard"
    SpawnFilter = 4
    ReplaceActor = "ZombieMan", "FormerHumanUV"
    ReplaceActor = "ShotgunGuy", "FormerSergeantUV"
    ReplaceActor = "DoomImp", "ImpUV"
    ReplaceActor = "Demon", "DemonUV"
    ReplaceActor = "Spectre", "SpectreUV"
    ReplaceActor = "LostSoul", "LostSoulUV"
    ReplaceActor = "ChaingunGuy", "ChaingunnerUV"
    ReplaceActor = "Cacodemon", "CacodemonUV"
    ReplaceActor = "PainElemental", "PainElementalUV"
    ReplaceActor = "HellKnight", "HellKnightUV"
    ReplaceActor = "BaronOfHell", "BaronOfHellUV"
    ReplaceActor = "Revenant", "RevenantUV"
    ReplaceActor = "Mancubus", "MancubusUV"
    ReplaceActor = "Arachnotron", "ArachnotronUV"
    ReplaceActor = "Archvile", "ArchvileUV"
    ReplaceActor = "SpiderMastermind", "SpiderMastermindUV"
    ReplaceActor = "Cyberdemon", "CyberdemonUV"
}

 

HMP.jpg.01776e38a00772b06f458bcc659dcb3e.jpgUV.jpg.6c09275a520c681261a8e11e0991fdad.jpg

 

---------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

If you’re interested, I’ve put together a small demo map which, I hope, adequately showcases the desired effect. There are 80 enemies on the map, whose count/type/location are 100% identical regardless of difficulty (though the Archvile does tend to add to the final count). HNTR are the vanilla monsters, HMP are the tier 2 variants, and UV is the tier 3 set. Try the 3 different skill levels and see how it plays!

 

The map was made in UDMF format, and requires gzdoom. It was tested with the latest build of gzdoom.

 

The map can be downloaded here (v2 now with MAPINFO change) --- http://www.mediafire.com/file/zpf3a6kjo650aay/map01_techbase_v2.wad/file

 

techbase_1.jpg.996bfcddec3861ee0b7ab09ece96ccd5.jpg

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

As I mentioned, the DECORATE and MAPINFO lumps included in the map have everything in them, so if you have any inspiration to use this, or you feel like it might make an interesting addition to something you’re already working on, or you just want to muck around with it, please, feel free!

 

I’ll leave a full list of the variations below. Have a great day, and happy mapping!

 

-- Full list of DECORATE monster adjustments -- 

Spoiler

ZombieMan (HMP) : Reduced horizontal bullet spread to 12, added +MISSILEMORE flag

ZombieMan (UV) : Reduced horizontal bullet spread to 5.5, added +MISSILEEVENMORE flag

 

ShotgunGuy (HMP) : Reduced horizontal bullet spread to 12, added +MISSILEMORE flag

ShotgunGuy (UV) : Reduced horizontal bullet spread to 5.5, added +MISSILEEVENMORE flag

 

Imp (HMP) : Increased projectile speed to 14, reduced pain chance to 65, added +MISSILEMORE flag

Imp (UV) : Increased projectile speed to 18, reduced pain chance to 25, added +MISSILEEVENMORE flag

 

Demon (HMP) : Increased movement speed to 12.5*

Demon (UV) : Increased movement speed to 15*

 

*Spectre variant is identical to Demon

 

ChaingunGuy (HMP) : Reduced horizontal bullet spread to 14, added +MISSILEMORE flag

ChaingunGuy (UV) : Reduced horizontal bullet spread to 7, added +MISSILEEVENMORE flag

 

Lost Soul (HMP) : Increased charge speed to 25

Lost Soul (UV) : Increased charge speed to 30

 

Cacodemon (HMP) : Increased projectile damage to 7, added +MISSILEMORE flag

Cacodemon (UV) : Increased projectile damage to 9, added +MISSILEEVENMORE flag

 

HellKnight (HMP) : Increased movement speed to 10, increased projectile speed to 26, added +MISSILEMORE flag*

HellKnight (UV) : Increased movement speed to 12, increased projectile speed to 36, added +MISSILEEVENMORE flag*

 

*BaronOfHell variant is identical to HellKnight

 

Revenant (HMP) : Increased projectile speed to 13, reduced pain chance to 45

Revenant (UV) : Increased projectile speed to 16, increased movement speed to 12, reduced pain chance to 15, added +MISSILEEVENMORE flag

 

Mancubus (HMP) : Increased projectile damage to 10, reduced pain chance to 15, added +MISSILEMORE flag

Mancubus (UV) : Increased projectile damage to 12, reduced pain chance to 5, added +MISSILEEVENMORE flag

 

Arachnotron (HMP) : Increased projectile speed to 30, reduced pain chance to 64, added +MISSILEMORE flag

Arachnotron (UV) : Increased projectile speed to 35, reduced pain chance to 32, added +MISSILEEVENMORE flag

 

Archvile (HMP) : Increased movement speed to 17, reduced pain chance to 5

Archvile (UV) : Increased movement speed to 20, reduced pain chance to zero (will never enter pain state!)

 

SpiderMastermind (HMP) : Reduced horizontal bullet spread to 14, reduced pain chance to 20

SpiderMastermind (UV) : Reduced horizontal bullet spread to 7, reduced pain chance to 5, added +MISSILEEVENMORE flag

 

Cyberdemon (HMP) : Increased rocket speed to 30

Cyberdemon (UV) : Increased rocket speed to 40, added +MISSILEEVENMORE flag

 

Edited by RonnieJamesDiner

Share this post


Link to post

This sounds extremely interesting and might make for an easier way to implement difficulty settings. I want to try this out as soon as possible. 

Share this post


Link to post

I'm currently doing this for E2, except not in the fixed game skill format chosen by OP. Instead, I've separated possible "skill settings" into their own categories, such as 'number/type of monsters' in case of the normal game skill setting, a setting for 'progression puzzles difficulty' and a setting for 'monster AI'. You can set these to different levels, enabling you to mix and mash according to your own preferences. Eg. a HMP game, but with ITYTD puzzles and UV monster AI.

Share this post


Link to post
14 hours ago, elend said:

This sounds extremely interesting and might make for an easier way to implement difficulty settings. I want to try this out as soon as possible. 

 

Thanks! There were a few things I wasn't sure about (such as the Archvile not having a pain state in UV), but people can adjust the numbers however they see fit.

 

1 hour ago, Mordeth said:

I'm currently doing this for E2, except not in the fixed game skill format chosen by OP. Instead, I've separated possible "skill settings" into their own categories, such as 'number/type of monsters' in case of the normal game skill setting, a setting for 'progression puzzles difficulty' and a setting for 'monster AI'. You can set these to different levels, enabling you to mix and mash according to your own preferences. Eg. a HMP game, but with ITYTD puzzles and UV monster AI.

 

That sounds fantastic, I'm rather curious about how you implemented puzzles that change depending on the skill level! Sounds exciting :D

Share this post


Link to post

really cool idea! are you placing each variant by hand though? this sounds like something that would be perfectly suited to use the "ReplaceActor" property in a MAPINFO skill definition

Share this post


Link to post
1 hour ago, Tango said:

really cool idea! are you placing each variant by hand though? this sounds like something that would be perfectly suited to use the "ReplaceActor" property in a MAPINFO skill definition

 

Oh my god... well, I'm sure using that now! I had no idea you could replace actors in specific skill level definitions like that, (yes, I was carefully hand placing each and every variant). This has just about made the whole process 1000x more efficient, thank you so much! You learn something new every day. I've updated the original post, as well as the link to the new version of the demo map with the MAPINFO lump changes.

 

I wasn't exactly sure how to edit the pre-existing skill levels, without making new ones. As I currently have it (for the demo map), the MAPINFO lump clears the existing skills, and adds the 3 that I was concerned with - Normal (default monsters), Medium (tier 2), and Hard (Tier 3). I'll continue to play around with this and see what else I can learn. Thanks, again! 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×