Just something I thought up due to the simple fact that there are some habits out there that just kill a map, mod or a combination of both, I just wanted a small repository of general nitpics
Spoiler:
For mappers
Ensure that maps have a shotgun or chaingun spawn if you want to give the player a shotgun or chaingun and not rely on shotgunners or chaingunners.
Make sure that actors can fit in places they are in.
Ensure to enable or disable jumping if need be, jumping is assumed to be allowed by default.
If you want to do a death restart, use ResetInventory in MAPINFO as to not break things.
Use Numbered Scripts if you must use ACS
for modders
Ensure that shotguners and chaingunners replacements drop shotguns and chainguns respectively
"timing your clicks for a faster fire-rate" is annoying, either allow the weapon to fire again at the next click or holding down the button refires the gun
Ensure that replacement weapons still fulfill the role of the original weapon (Don't give me a single-shot rifle on a chaingun spawn)
Channge the text in options if you made any button do something different from the original name (if reload throws knives, then tell me in the options)
Use Named Scripts if you must use ACS
EDITED FROM COMMENTS
For mappers
Make sure there's enough firepower for someone to finish the level even if their aim is far from perfect and they don't find any of the secrets. [Edited by Matt]
Ensure the player cannot reach an impossible place or get stuck in geometry through crouching or jumping. This is best practice and preferred over simply disabling crouch or jump because relying on those things leaves you with all sorts of little barriers that break suspension of disbelief ("okay so I can run faster than a cheetah and punch a guy (who weighs about as much as me) across a room, but I can't climb over this 3' rock to take this perfectly sensible-looking shortcut to the goal")
[Edited by Matt]
If you want to do a death restart, use ResetInventory in MAPINFO as to not break things.
Use Named Scripts if you must use ACS [Edited by Matt]
A single properly texture-aligned wall is worth a hundred little bits of sector geometry detailing. [Added by Matt]
Use low lighting and soft pulsating strobes. Engage claustrophobia. Plop down a corpse before an ambushy door. [Added by leileilol]
Choose your music and ambience accordingly! [Added by Reactor]
Have fun and enjoy what you're doing. [Added by TerminusEst13]
for modders
Ensure that anything that drops ammo in vanilla still drops ammo in your mod such that it would be usable in an analogous situation. [Edited by Matt]
Make sure that actors can fit in places they are typically found in. [Added by Matt]
"timing your clicks for a faster fire-rate" is annoying for a lot of people, add an option to either allow the weapon to fire again at the next click or holding down the button refires the gun [Edited by Matt]
Ensure that replacement weapons can, at least with some imagination, still fulfill the needs addressed by the original weapon (If you give me a single-shot rifle on a chaingun spawn it'd better hit hard enough to obviate any need to painlock trash mobs) [Edited by Matt]
If you typically use one kind of button to do something else (e.g., Reload throw knives), add it to a custom options menu for your mod even if it's technically not a new custom key, and label it accordingly. [Edited by Matt]
To the extent that it is reasonable to code the effect in ZScript, MAPINFO, etc., don't use ACS [Edited by Matt]
Don't spawn actors if you don't have to. Learn ZScript, not the crazy hacks we had to do before ZScript. [Edited by Matt]
Have fun and enjoy what you're doing. [Added by TerminusEst13]
feel free to add or criticize
Last edited by insightguy on Mon May 21, 2018 9:58 pm, edited 3 times in total.
Use low lighting and soft pulsating strobes. Engage claustrophobia. Plop down a corpse before an ambushy door. That's the commandment of a doom mooder mapper
Disable jumping may not be a dumb idea at all, if the layout and the environment is able to support the different conditions. Remember the game Skyroads? Difficult as fuck, but so entertaining! Each level has a specific grav-o-meter setting, which greatly effects jumpin' around those blocks. Set the grav-o-meter low, and you can jump higher than a house. Set the grav-o-meter too high, and you can't jump at all! It was a very tough level to finish, but it did offer some nice variety.
Some other maps can be also damn great, if you actually enable higher jumping, like on the Moon. I remember I had so much fun in Half-life during the Xen levels in that low gravity environment...
Ensure that maps have a shotgun or chaingun spawn if you want to give the player a shotgun or chaingun and not rely on shotgunners or chaingunners.
Make sure there's enough firepower for someone to finish the level even if their aim is far from perfect and they don't find any of the secrets.
Make sure that actors can fit in places they are in. [this seems to go without saying for a mapper]
Ensure to enable or disable jumping if need be, jumping is assumed to be allowed by default.
Ensure the player cannot reach an impossible place or get stuck in geometry through crouching or jumping. This is best practice and preferred over simply disabling crouch or jump because relying on those things leaves you with all sorts of little barriers that break suspension of disbelief ("okay so I can run faster than a cheetah and punch a guy (who weighs about as much as me) across a room, but I can't climb over this 3' rock to take this perfectly sensible-looking shortcut to the goal")
If you want to do a death restart, use ResetInventory in MAPINFO as to not break things.
Use NumberedNamed Scripts if you must use ACS
A single properly texture-aligned wall is worth a hundred little bits of sector geometry detailing.
for modders
Ensure that shotguners and chaingunners replacements drop shotguns and chainguns respectively anything that drops ammo in vanilla still drops ammo in your mod such that it would be usable in an analogous situation.
Make sure that actors can fit in places they are typically found in.
"timing your clicks for a faster fire-rate" is annoying for a lot of people, add an option to either allow the weapon to fire again at the next click or holding down the button refires the gun
Ensure that replacement weapons can, at least with some imagination, still fulfill the role ofneeds addressed by the original weapon (Don'tIf you give me a single-shot rifle on a chaingun spawn it'd better hit hard enough to obviate any need to painlock trash mobs)
Change the text in options if you made any button do something different from the original name (if reload throws knives, then tell me in the options)If you typically use one kind of button to do something else (e.g., Reload throw knives), add it to a custom options menu for your mod even if it's technically not a new custom key, and label it accordingly.
Use Named Scripts if you mustTo the extent that it is reasonable to code the effect in ZScript, MAPINFO, etc., don't use ACS
Don't spawn actors if you don't have to. Learn ZScript, not the crazy hacks we had to do before ZScript.
I would also like to add that choose your music and ambience accordingly! May sound self-explainatory, but many games suffer from not having an relevant music or ambience for that particular scenario they are used in. I know, this is only nitpicking, as music & sounds don't affect the actual gameplay very much, but they do add a lot to the atmosphere.
I'd like to add a couple of points. It is more for modders, but applies to mappers as well:
- explicitly state if your work can be modified and redistributed or not. This will prevent confusion and unnecessary permission requests.
- if you can, allow modifying and redistributing your work, at least some parts. This helps your project to live longer, allows maintenance fixes, and may save time for other people who won't have to do the same things again.
Something I heard a long time ago is "make something you'd enjoy playing." (This is probably why I almost never make Doom maps. :v ) Or to rephrase:
TerminusEst13 wrote:- Have fun and enjoy what you're doing.
If I were going to set any outright rule, it would be "do your research". Play some good maps, play some mediocre maps, play some bad maps. Read some guides if you need more direction. Overall, experience is going to be the best teacher. Basically, assume the first few (or several) things you make are not going to be amazing, but you can get there if you keep at it.