Battle Areas

Moderator: Event DM

Post Reply
User avatar
Sparrowhawk
Scholar of Fools
Posts: 302
Joined: Fri Jul 25, 2003 3:50 am
Location: Sacramento, CA
Contact:

Battle Areas

Post by Sparrowhawk » Tue Jan 06, 2004 7:26 pm

Saw this on vault front page, hopefully not a repost. Probably no surprise to anyone (especially since the NWNX2 mention was posted elsewhere), but thought they were some words of wisdom that may be a good reference.

Georg Zoeller - Designer -

Battle Scenes:
Some things we used for the large battles in HotU:

Graphics/Level Design
a) Use only up to 7 different creature appearances, the less the better.
b) Use predefined appeareances only instead of using creatures with customized appearances/outfits
c) Use few placeables that have a walkmesh in the area the battle takes place. The fewer the better
d) Never place placeable objects on tile seams
e) Use well designed, small areas for the battle - in any case stay below 16x16, better below 10x10
f) Switch off tile features like torches or smoke. Don't place smoke or fire placeables if not neccessary
g) Remove "persistent" effect spells (i.e. acid sheath) from the spell list of the creatures that participate in the combat. Nothing kills the frame rate faster than a lot of fancy fire shields
h) Minimize the use of weapons with particle effects (like flame arrows) in the battle.
i) Don't use "persistent corpses". Try to have no treasure on most creatures that get killed in the battle - this prevents lootbags to be spawned
j) Use open areas, the narrower the areas get, the higher the impact of pathfinding on the CPU.

Scripting
a) Remove most of the event scripts from all the creatures involved in the combat. Instead use "squad leader" creatures that give commands to the other creatures (squad based AI)
b) The OnBlocked event fires for creatures blocking another creatures path - it makes a very nice spot for a target selection routine
c) Tweak the spellcaster's spell lists to include only few cpu intensive spells (usually missile storm or area of effect spells) - they take too much CPU when
d) Use the module's script caching features. Tools like NWNX2 provide options to screen script usage / execution times and allow you to get a good picture which scripts should be cached - caching all nw_c2_* scripts makes perfectly sense as do all the x2_pc_* scripts.

some random ideas to make the battle look cool:

a) There are ballista bolt and arrow projectiles in spells.2da. Using ActionCastFakeSpellAtLocation allows you to create swarms of arrows or incoming ballista bolts or rocks hurled by catapults for the right battle feeling
b) Have creatures react to certain things (i.e. signal them an event if a player opens a gate or approaches a catapult). This will make the battle feel more intense and add the illusion of intelligent creatures.
c) lay down triggers that spawn random things like hails of arrows or monsters bursting through a gate.
My Site - My Forum - Stop by and loiter.
Post Reply