You are here

Monster Design (Tutorial)

Author: 
Genisys / Guile
Old Vault Category: 
other

I hope with the other tutorials I've posted that you understand the importance of & versatility of variables, leaving the fundamentals way behind, let's talk about creating stellar monsters using the X2_Default_AI System, which can help us create meaningful combatants who actually think & do what they should do!

If you take a close look at the x2 monster AI coding from the include file, you'll find that you can add specific variables to the Monsters when you create them to get them to act a certain way, and this is so very critical to realize if you want to create monsters that don't just "stand around", as some players are often want to complain about after downloading modules that are poorly created by novice builders who don't really understand the more intricate controls at their disposal in nwn.  For example, if we go to the creature's Advanced Tab and select the "Variables" button, a window will pop up letting us add new variables...

For most of the settings, 1 = On & 0 = Off, but some allow us to use Percentile Whole Numbers, e.g. 0 - 100, with 0 being never or off and 100 being all of the time / on.  If we set the following variables on the monster it will attack at all times & will NOT aid other monsters who get hurt. (A very desirable thing, since monsters waste a lot of time looking at their buddies too!) (Lol!)

X2_L_BEH_COMPASSION     int      0

X2_L_BEH_OFFENSE              int      100

If we want to make it so the Monsters don't get stuck all the time when they are trying to get at the PC, we can give them incorporeal state, so they can pass through one another like ghost, & I should warn you here, because if 40 gibberlings have this ability, then all 40 gibberlings are going to gang up on the PC at one time!!  (Probably desirable, considering they are so weak!)

X2_L_IS_INCORPOREAL     int      1

Most of the variables do a good job of explaining themselves, but I'll show you how to make a better mage by using the variables set below

X2_L_BEH_MAGIC                    int     100

X2_SPELL_RANDOM                int     100

X2_L_BEH_COMPASSION           int     0

X1_L_IMMUNE_TO_DISPEL       int    1

X2_L_BEH_OFFENSE                int     40

This should make the mage back up some if they get too heated in combat, they will always use spells, and they will cast random spells, so they don't simply spam from highest to lowest, redunantly casting the same spell all the time.  They won't heal / buff companions either....  One commong issue with most casters, especially if you are using the default spells given to them with the level up wizard, is they cast far too many buffs, and do little offensive casting, so you should make sure you create a good list of spells (that you've tested out) and SAVE THEM, so you can load them later into other casters you create.  (Very important to remember!)

I'm sure you can handle the rest, but please test everything out thoroughly, for making great monsters requires you to challenge them one on one & in large groups to ensure that their AI Behavior is doing what you want it to do, and yes this is tedious and time consuming, but you end up with better monsters!  I'd recommend you make at least 5 template monsters that you will make as your standard monsters, after testing them, they should be lower level (3-6?), and all of the variables should be properly set on them & tested thoroughly...

Next, let's talk about feats, feats are given to monsters if you use the Level Up Wizard (Recommended, unless you are making a prestige class monster, this requires adding feats / changing alignments, & ensuring they have all of the requirements FIRST!), but if you start adding feats you can bug the creature out, and this is what leads them to standing around too much, so, if you don't want them using a feat, remove it, but keep track of how many feats you have taken and added, for everyone that you add, you should take one away, and this may ensure that the creature doesn't bug out.  Also, don't give them feats their class / race wouldn't normally have, e.g. immunity to sleep to a human, etc....

I'd recommend NOT using the feats Disarm & Knock Down on monsters at all (It's quite annoying I assure you!), also avoid using dispels, timestop, and other annoying spells that PCs hate a lot, unless of course it's a boss, then everything is of course fair game. :D  (I thought it was really cool in the OC when the boss casted time stop, that blew me away! :)

Another thing to remember is, if you are playing with higher level items in your module, any Spell Resistance given to an item that is over 24 will most likely render special abilities of monsters totally worthless, 28 SR may be beatable with level 15 Special Abilities, but 32 is a bit of a problem, and of course you have to keep in mind that higher level Monks will ignore all special abilities that target a PC.  Which means, if it's not a low level creature, then Special Abilities should be relegated to buffing / healing self, but I wouldn't recommend using Special Abilities to heal, as these are actually cast abilities, and they can get disrupted upon critical hits or high damage hits.

Only give monsters standard NW Potions, e.g. the 1 stack heal potions, do not give them custom potions, they likely won't use them without additional coding, though you can use the talent fast buff to get them to use all potions in their inventory. (Read more about that in the Lexicon, as I didn't plan on giving a dissertation / tutorial on that.), if you want to be a great NPC / Monster creator, then you need to learn how to code their Event Scripts, and this is where stuff gets technical and very difficult, and you will need to test the heck out of ANY modifications!

Avoid using loops as much as possible, because when multiple of these creatures get spawned, the looping can really slow down your server / module, or even make it pause!  I've seen some really bad coding in monsters before and it caused the module to almost hang sometimes, so be sure that your coding in Events is superb & well tested!  Of course Coding AI exceeds the scope of this tutorial by miles, sorry.  Though I would like to say that, if you are using the OnDamaged event to make a monster attack, you should set a variable on the monster, then set a delay to remove it after X.X Seconds, this way it doesn't constantly find the last damager & go after them, otherwise it will lead to the monster constantly picking a new target & never attacking, and I've seen this bug on multiple servers btw.  (I would recommend setting a monster's AI to normal during combat, using the SetAILevel() function)

One of the most common builder mistakes about ecounters / monsters is, making monsters too weak, too overpowering, or spawning too many of them on a soloing PC, even weak monsters when in large numbers can be seriously overpowering, especially at low levels when mages or rogues come walking by, and many adventurers have met their ends to a war band of goblins shooting massive arrows at them. (Hehe, snickers viciously)  We need to learn how to properly set up encounters so that the PC isn't overwhelmed, by NOT using a standard 4 / 6 / 8 minimum creatures setting, bad idea, but rather giving a lower minimum & higher maximum, should a higher level party come strolling through the area.

I wouldn't recommend loading up multiple different monsters in encounters, it really does add to area load time, especially in the toolset!  Also, if you can learn to use waypoint & the OnEnter event of an area to spawn in creatures in an area, then DO IT, this way the PCs can see the monsters long before they get to them, & instead of having monsters dropped in their laps all of the time, which can lead to sudden death in many cases.  I find it rather annoying and entertaining to see all of the nOOb builder mistakes, but we all need to become aware of how to not only build better monsters, but also how to properly place them.

Next, I'd like to talk about equipment, it's better to just use the default appearance, a creawture claw & a creature skin, with no items, and loading up the Creature Skin with all of the the properties you want them to have, e.g. True Seeing, etc, but be wise enough to use Damage Reduction instead of Damage Resistance, this way you don't have to load in the 3 physical damage types, and if you want to give them elemental damage resistance, I'd recommend giving them lower damamge immunity instead, this way weapons & spells don't get nullified in value.  Another mistake I made while building was giving all of the monsters immunity to everything, especially critical hits, bad idea, and this is because every monsters needs some sort of weakness, having tree trunk mobs who are hard to damage is VERY boring let me assure you!

I've also seen some builders put annoying special abilities on lower level monsters, again this is a bad idea because it can be way too overpowering, and to give you an example of such, I logged into this one server, just starting out after a few hours (still very low level), I encountered a goblin druid who shape shifted on me and proceeded to whipe the floor with my body quickly.  I was completely turned off by this, it was grossly unfair to a low level character with no good gear on. (Muder really)

I'm not saying this to knock builders, I'm saying it so YOU won't make the same builder mistakes!  It's mighty annoying to see people who poorly create monsters & encounters, never testing it, and then letting their players "deal with it", if it's really bad, the players will just leave, and not return, realizing that there wasn't quality time spent on design.  If you want to attract the best players, you really do have to put the time into monster / encounter creation & test the heck out of it!

Anyway, I didn't really want to talk too much about that, mainly I want you to realize that monsters should be challening, but not over powering, and they need to be balanced so that you don't keep running into the vanilla villan badass who can't be beaten!  (Very bad way to build monsters)  Neither do you want to keep running into god slayer mobs, who kill you in one round, another insanely difficult thing that's extremely hard to deal with for most non-casters.  (Unless you like chugging heals continually, I don't!)

Combat shouldn't be long, drawn out and obviously boring, so if it's too hard to hit a monster, then you've probably made a boring monster, likewise, if it has far too many hit points, or it's Challenge Rating is way off the charts (For a non-boss), then it's likely going to be over powering.  While I'm on the subject, you can give monsters items that are NOT identified, and equip them with it.  (This may or may not raise their CR level, don't remember off hand)  I do know, the more powerful items you give them, the more hit points, or higher AC you give them, the higher their CR goes, also if you make their movement faster (Especially DM Speed).

At some point of course you are going to want to make those God Monsters, you know the level 60s that are super bad ass?  Of course these should be reserved to bosses or mobs who aren't extremely overpowering, meaning with good gear the PCs should be able to handle them at level 40+, as they are just bosses henchment, and not the actual boss.  Rewards of course are entirely up to you, but I don't think bosses should come empty handed, and a lot of players like doing bosses to get the end reward, even if their henchment drop nothing.

Ultimately, it's up to you to learn by building & testing, cause nothing subsitutes experience, also you should realize that, no matter what you make, you really aren't going to challenge a high level party much, even level 60 god monsters are very beatable when the right party is together & all buffed up ready to stomp some heads!  SO, don't fret if the party whipes the floor with your boss, just don't go toughening up every boss to handle large level 40 parties, that's a very bad idea, and if you want to make a purely party module then of course you can ignore this advice.

Another thing to be aware of is, don't build monsters that spam no-save spells all the time, e.g. Ice Storms, Issac Missle Storms, etc., mainly because it's unfair to solo players, especially if multiple casters are in an encounter, though at lower levels, mages should have higher CR by default, so that they can give greater rewards in XP, and they should also have higher Constitution so they can have higher Concentration Checks and last longer in combat against melee fighers hacking on them, so if they end up with an insanely high CR, that's OK!

(I may add some more to this later, let me know what you thought below) - Project Q Troll Battle Picture only used for Theme Value

Genisys / Guile

Migrate Wizard: 
First Release: 
  • up
    100%
  • down
    0%
Genisys

Did anyone enjoy the article?

 

Feel free to add any comments or "Constructive Criticisms" below...

  • up
    100%
  • down
    0%
Liverbird

Posted above comment twice, more in depth review after I've read and and tested it. 

  • up
    100%
  • down
    0%
Liverbird

Just what I was looking for, thanks

  • up
    100%
  • down
    0%
Dragooneer

Thank you for this.  I'm always learning new things whether its from your tutorials like this or your module/export projects.  Sometimes its the simplest of things you include in your projects that actually sometimes overshadow what the whole project was about.  

Thank you for invaluable information and plenty of examples. 

  • up
    100%
  • down
    0%