well i went through and figured out possible goals or motivations for NPC bands, what behaviors would result, what types of alliances would therefore form, and under what conditions such alliances would form. since there are about 36,000 bands active at any given time, the "lifespan" of a band is only 3-4 months, and the player will have contact with perhaps at most a couple dozen bands at any given time, i decided that modeling all 36,000 bands was probably overkill. so i then sought to determine the effect of such a simulation on the player,and just model that.
it looks like i can model the effects on the player by just tracking who they are allied with, and randomly assigning a goal to each NPC band. for purposes of forming alliances, it looks like the goals would be:
xenophobic expansion - killers
wealth - raiders
slaves - slavers
prisoners for ransom - kidnappers
subjugation of nearby bands - kings. be my ally or else.
survival - sheep. everyone else. sheep get preyed upon by the other types.
i'm thinking 90% of bands will be sheep, with the other types making up the remaining 10%. or should there be more badguys?
i came up with a few more band goals like knowledge and animals for domestication. i was thinking they would have little effect on alliances. but it looks like player alliances will be partly a function of band member relations. so teaching or gifting of captured animals to "knowledge goal" or "animal goal" bands respectively could increase relations more than usual, increasing the chance of alliance.
the player can form alliances, and ask allies for aid in attacks on nearby bands.
the player can get random encounters of alliance proposals from nearby bands.
the player can get random encounters of calls for aid from allies.
raids on the player's shelter will be expanded to include raider, slaver, kidnapper, and king random encounters, as well as the killers random encounter currently implemented.
a general rule of thumb of "is it in my interest?" will guide calculations of who will ally with whom and who is allied with whom.
alliance and raiding random encounters will be a function of the proximity and goals of nearby bands in the area.
"DirectX is like a belt fed machine gun, where every texture change is like hand loading in a new belt of ammo. worse, every mesh (vb) is a new belt of ammo, and a texture is like breaking the gun down, and setting it up again elsewhere, then loading it, then spraying triangles again. so you want to setup the gun once, string all your belts together, load it once, then just spray."
Rockland Software Productions
"Building PC games since 1988"