http://nwn.bioware.com/forums/viewtopic ... 9&forum=56
If you're going to party at all, it should be small groups. As groups grow, the amount of information being transferred grows dramatically.
1 player shares info 1 way (self)
2 players share info 2 ways (each other)
3 players share info 3 * 2 ways = 6
4 players share info 4 * 3 ways = 12
5 players share info 5 * 4 ways = 20
6 players share info 6 * 5 ways = 30
7 players share info 7 * 6 ways = 42
20 players share info 20 * 19 ways = 380
45 players share info 45 * 44 ways = 1980
It should be obvious here that 2 groups of 2 players (info shared 4 ways) is better than 1 group of 4 players (info shared 12 ways).
5 groups of 2 players (info shared 10 ways) would be better than a group of 10 players (info shared 90 ways).
We have thoroughly tested this and there is a MASSIVE drop in server CPU usage and lag when people drop party.
Brynsaar ran an event with 38 players all in a single party. We spawned 3 creatures and CPU went to 98%, 60 second delays for actions.
Everyone dropped party and we had no lag.
Split into two groups in 2 areas with 10-15 creatures attacking each group and there was barely any lag. This happens nightly on Bryn, we get 40+ logged in, start to lag, I shout for everyone to leave parties and BLAM zero lag.
The lag beast has been in our face for years and no one saw it.
Some interesting suggestions. Of course, if people don't party up for events, they miss out on XP or risk getting hit by death spells. On the other hand, you can adjust the spell scripts to not hurt neutrals if they shouldn't hurt a party, and DMs can just assign XP to folks after the event is done to compensate for the lack of party XP from monsters.Georg Zoeller wrote:That is correct. The more people are in a certain faction/party, the longer operations that target the faction as whole will take. NWN's focus is the party between 1-8 players, anything above should be avoided (by activating multiple parties).
Also keep in mind that certain functions in game and scripting work based of your whole faction (a party is just a faction).
If all your monsters are in the same "hostile" faction, they might get informed of certain events by scripting or in game (i.e. Player X just changed his stance to our faction to "hostile"). If you divide your monsters into more different factions (i.e. "The swamp ogres" or "the mountain trolls"), you will save CPU time, especially if you use scripting functions like GetFactionBestAC* or other faction related information.
Interesting to see that assigning monsters to different factions could help with lag in certain cases, could make it worth the work for certain kinds of areas.