Neverwinter Nights Forum News
Posted Sunday, August 31, 2003 - 17:41 CET by Veldrin
Here are today's Neverwinter Nights forum highlights. Please take into account that these are only single parts of various threads and should not be taken out of context. Bear in mind also that the posts presented here are copied as-is, and that any bad spelling and grammar does not get corrected on our end.
David Gaider, Designer
Online Gaming: As said above, lag can happen because of many reasons, most of them tied to the way a module is designed and what machine it does run on (how many areas, how large areas, how many heartbeats, how many different models, how many player engaged in what activity, how much user created content, how well are the scripts coded, how many cpu controlled creatures, how much memory on the server, how much bandwith on the server, what CPU on the server, network latency on the servers internet connections, how many visual effects going on ...., how fast is the client machine, how well is the client machine connected to the internet, ..., how many third party applications running, network firewall/packetfilter involved...)
The list is endless, and most issues boil down to the realm of the creator of the PW and the players. NWN is not, was not and will never be a "build your own PW" game, its "build your own FR module". We can not officially support PWs because NWN was not created with them in mind in the first place. This does not mean PWs can not be done, but it does mean that you can not expect a player designed PW to run as fast as a small scale adventure module without investing a great deal of time and utilitzing design and scripting techniques aiming on reducing lag/optimizing a module for a high number of players. The Live team will fix bugs affecting any kind of multiplayer problem when brought to their attention and when they have enough information to figure out what is going on. Finally HotU will add quite a few very powerful new functions to the scripting language, but many of those come at a cost. When used in a large scale, they may degrade performance. Any new event added costs performance (i.e. OnEquip) because there is now code running at times when the CPU was idle before.
Scripting Wishlist: Talking about hordes.
Sure:
- int GetLastSpellCastClass(); (spell scripts)
Probable:
- int GetSpellResistance(object oTarget);
- int GetObjectIsInLOS(object oObject);
Workaround
- int GetSpellCastLevel(); (can be looked up in 2da)
- int GetCanDamageObject(object oTarget); (could be scripted by examining item properties)
- int GetDamageReductionVersus(object oTarget, int iPower, int iMaxDamage); (could be scripted by examining item properties).
Unlikely because of engine limitations:
- void SetUseable(object oPlaceable, int iUseable);
- void GetUseable(object oPlaceable);
- void SetStatic(object oPlaceable, int iUseable);
- void GetStatic(object oPlaceable);
Unlikely because of the way the game works:
- int GetPathToObjectValid(object oTarget, object oWalker = OBJECT_SELF); (and maybe one for locations, of course).
Unlikely because it can be done via scripting:
- void CopyInventoryTo(object oCopyFrom, object oCopyTo);
... plus a way to override the DetermineCombatRound script with your own scripts at runtime. Hacktastic
Ah, and
Workaround
int GetIsImmuneToSpell(object oTarget, int iSpell);
(can be scripted by examining item properties)
Multiple Henchman: Not initially, a module has to be created with that option activated. Not sure if there are any plans to modify the previous campaigns for that. NWN and SoU are balanced for 1 henchman, you can not just plug in another one without breaking that balance.