Big parties = Big Lag; more NPC factions = Less Lag

Moderator: Event DM

Post Reply
User avatar
keikobad
Sage
Posts: 1983
Joined: Sat Apr 26, 2003 7:05 am

Big parties = Big Lag; more NPC factions = Less Lag

Post by keikobad » Thu Jul 29, 2004 12:13 am

Some interesting posts on the Bioforums:

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.

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.
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.

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.
User avatar
Vichan Lyonsen
CCC
CCC
Posts: 3886
Joined: Sat Jul 12, 2003 5:23 am
Timezone: pacific
Location: San Diego PST >GMT-8<

Post by Vichan Lyonsen » Thu Jul 29, 2004 12:29 am

I brought that up in the "other" lag thread :lol: I dont know what can be done about it.. I'm pretty sure some kind of faction stuff is being worked on...but cant say for sure.
I'm embracing my inner curmudgeon.

Player of;
Sh'Meara (Samara) Gwenever
Kala Dall
Arandil
Elder Sage
Posts: 4637
Joined: Mon Dec 30, 2002 2:33 pm

Post by Arandil » Thu Jul 29, 2004 2:30 am

In the last army event we split the groups up for this reason, seemed to work ok too, until we all met up again!
srn
Apprentice Scholar
Posts: 890
Joined: Thu Jan 29, 2004 10:58 pm
Location: Sydney, Australia GMT+10
Contact:

Post by srn » Thu Jul 29, 2004 4:03 am

Being in the same area as other PCs has the same combinatorial explosion problem, with a lower constant.

ie it's bad, but not as bad as being in the same party as well...
User avatar
keikobad
Sage
Posts: 1983
Joined: Sat Apr 26, 2003 7:05 am

Post by keikobad » Thu Jul 29, 2004 5:00 am

I'm starting to see how it can make a huge difference. You know how enemy archers will aim at the party member with the lowest AC? If you have a ten person party going against ten NPC archers, each of those NPCs is checking the AC for each party member before they attack! If those ten people weren't partied, then each archer would just target the first PC that steps in their perception range.
User avatar
Nob
Lore Council Member
Lore Council Member
Posts: 7930
Joined: Mon Jun 30, 2003 1:19 am
DM Avatar: Dead but still a Dreamer

Post by Nob » Thu Jul 29, 2004 5:03 am

The larger problem with "no parties" is how party buffs work and more importantly how an entire class depends on being partied to work correctly.

You'd essentially be killing bards as a viable support class if you forced a lack of parties since their bard song would be completely worthless(and curse song even dangerous since it(at least it did last I checked) affects neutrals.)
User avatar
Aloro
Team Member; Retired with Honors
Posts: 12805
Joined: Sat Dec 28, 2002 5:11 am
Location: Rainbow's End
Contact:

Post by Aloro » Thu Jul 29, 2004 5:36 am

Well, Georg said parties of size 1-8 are best. We should just try to avoid anything larger than that. Likewise, where buffs aren't an issue, it's better to keep smaller groups. That's pretty reasonable, and leaves plenty for support classes to do.

That bit about using more NPC factions is brilliant. I hadn't thought of it that way, but it's obvious. Of course, it's also a lot more work.

* sighs *

No Rest For The Wicked.

- Aloro
Aleksandr Solzhenitsyn wrote:The meaning of earthly existence lies, not as we have grown used to thinking, in prosperity, but in the development of the soul.
User avatar
Khaelindra
Master Sage
Posts: 7001
Joined: Tue May 13, 2003 3:02 pm
Timezone: GMT+1
Location: Almere, the Netherlands(GMT+1, GMT+2 in summer)

Post by Khaelindra » Thu Jul 29, 2004 7:37 am

Aloro wrote: That bit about using more NPC factions is brilliant. I hadn't thought of it that way, but it's obvious. Of course, it's also a lot more work.

* sighs *

No Rest For The Wicked.

- Aloro
Well, just use 3 DM's for an event... :wink:
Lady Divinia Cecil, Combat Medic; Frederique Moriana, Dragon Avalanche; Amber, redhead Bandit Mascotte; Khaelindra, Mystic Archer

AbominationFascination: "Powergaming without RP is masturbatory and RP without combat and growth is fluffy poseurism."

Gary Gygax wrote:
A Master role player is one who is willing and able to bend their character concept to make the game more enjoyable for all involved.


Everybody Loves Paula (tm)
User avatar
girlysprite
Elder Sage
Posts: 3659
Joined: Mon Apr 12, 2004 2:38 pm
Location: In my little pony ranch
Contact:

Post by girlysprite » Thu Jul 29, 2004 10:10 am

There had been idea's for a no party system where people would get xp when they were near the kills...

But I play a bard! I say hurrah for parties!
Gaming doesn't make people voilent, lag does

<Dimotane> I think deep down, when we're honest with ourselves... we're all a pregnant male elf.
Enverex
Sage
Posts: 2060
Joined: Thu Jun 03, 2004 3:05 pm
Location: Worcester, UK
Contact:

Post by Enverex » Thu Jul 29, 2004 10:21 am

girlysprite wrote:There had been idea's for a no party system where people would get xp when they were near the kills...

But I play a bard! I say hurrah for parties!
That would mean you would get people leaching along and nothing to do with the actual team, getting experience...
User avatar
girlysprite
Elder Sage
Posts: 3659
Joined: Mon Apr 12, 2004 2:38 pm
Location: In my little pony ranch
Contact:

Post by girlysprite » Thu Jul 29, 2004 10:46 am

I don't say I support that system...
Gaming doesn't make people voilent, lag does

<Dimotane> I think deep down, when we're honest with ourselves... we're all a pregnant male elf.
User avatar
Dirk Cutlass
Elder Sage
Posts: 4691
Joined: Mon Jan 27, 2003 9:42 am
Location: GMT

Post by Dirk Cutlass » Thu Jul 29, 2004 11:14 am

I have no proof, but I would suspect that there is a similar exponential effect for the number of people in the same area (regardless of party configuration), for the same reasons - because information about actions, spells, conversation, etc. has to be sent to everyone in that area. So there is a big difference in CPU usage between 20 people on the server all in the same area, and 20 people on the server in different areas.

Unfortunately, this effect makes big events (DM or otherwise) like Ferrell Trade Fairs, a real laggy problem :(
User avatar
keikobad
Sage
Posts: 1983
Joined: Sat Apr 26, 2003 7:05 am

Post by keikobad » Thu Jul 29, 2004 5:51 pm

Aren't the bard song effects executed by scripts? Should be able to modify them just like spell scripts so they affect all neutrals (or only hostiles for curse, etc.)
User avatar
Morgoth
Prince of Bloated Discourse
Posts: 270
Joined: Fri Jan 16, 2004 4:46 pm
Location: Toronto Ont. Canada
Contact:

Post by Morgoth » Fri Jul 30, 2004 4:07 am

Dirk Cutlass wrote:I have no proof, but I would suspect that there is a similar exponential effect for the number of people in the same area (regardless of party configuration), for the same reasons - because information about actions, spells, conversation, etc. has to be sent to everyone in that area. So there is a big difference in CPU usage between 20 people on the server all in the same area, and 20 people on the server in different areas.

Unfortunately, this effect makes big events (DM or otherwise) like Ferrell Trade Fairs, a real laggy problem :(
I had made a suggestion as to make the trade hall its own temp server when a trade fair is going on.

also you could make each of the rooms transistion into a new area so as to remove the large group into smaller groups
When the sun goes down the shadows come out to play.
User avatar
Liartes
Sage
Posts: 2155
Joined: Mon Feb 24, 2003 6:19 am
Location: Arizona, USA (GMT -7)

Post by Liartes » Fri Jul 30, 2004 7:40 am

I dunno about parties in NWN, but there's a nice one today/tommarrow (friday) at my friend's place. Anyone in the Phoenix, AZ area, PM me and I'll give you directions. I'm serious.
User avatar
Drysh
Apprentice Scholar
Posts: 607
Joined: Mon Jun 28, 2004 3:34 pm
Timezone: GMT -3
Location: Brazil
Contact:

Post by Drysh » Fri Jul 30, 2004 9:09 pm

girlysprite wrote:There had been idea's for a no party system where people would get xp when they were near the kills...

But I play a bard! I say hurrah for parties!
I've seen a no party system that works very well in a RP server. It is a rebuild of all party based abilities (bard song, spells, etc) to affect all neutrals characteres. That could work :D (and add a lot of work too :().

By the way, a no party system is excelent for RPing:
- You don't have to think about parties and other metagaming things;
- You don't know how many HPs your friends have, and have to guess that (sometimes a fighter is near death with 60 HPs).
- You won't know where your friends are in the minimap (try to use invisibility like this).
- You won't have your alignment changed when someone in your party do something that changes the party alignment (like those CG or NG that chamges your alignment when they are in the death plane - Bug report?).
- In CvC you will have to set your reaction to hostile if you don't want your buffings afecting your enymies too.
- It makes things more "real".

Some examples of how this improve RP:
- Bards: When you sing everyone around is affected (great for presentations).
- Paladins and clerics (and mages): People will notice the invisible spells around you, like if they were a good or evil aura, but (unless the player realy know the spells) they will have to guess what is going on and who is making this.
- Druids: Your area buffings will affect neutral animals around you.

*looks at the title of the post and notices the word party and the word lag* This is about half of the subject... er.. Maybe 1/4
Cheers.
User avatar
Tharliss
Elder Sage
Posts: 3251
Joined: Fri May 16, 2003 8:00 pm
Timezone: PST
Location: Reno, NV (GMT -8)

Post by Tharliss » Fri Jul 30, 2004 9:20 pm

This is an interesting thread and might actually lead to the players actively trying to keep down the lag.

I know most players that are involved in a Guild, or have people they typically rp and adventure, are asked to join a party as soon as they log onto a server. It's always been that way here on Avlis and is similar to saying "Hi Gang, I'm here!" when you log on.

If I understand correctly, this type of action should be discouraged, especially on the days when the server is lagging badly for whatever reasons.

As things are set up now, partying while adventuring or in a DM quest is almost unavoidable, but there is no reason to be in a party if you are on oppossite sides of a server.

I'd suggest that when lag gets bad on a Server, players should make a decision as to whether being partied up is truly needed.
Post Reply