You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

There are some major changes in NWN:EE in comparison to the original NWN 1.69. This is a guide for modders primarily but should list all major client changes since of course how a module looks is very important too! They should link to guides or information elsewhere (if not that information should follow on - get on this wiki to add it!). If possible links to a build it first appeared in will be provided but if not check out the general patches page.

Available Clients

There are 6 official versions all containing the base Wailing Death campaign, Shadows over Undrentide and Hordes of the Underdark bundled together, some notes for each:

  • PC - Available from Beamdog, GoG and Steam. This is the most updated version content and patch wise, and only one for development. Linux, MacOS and Windows are all supported (although only Windows has the Toolset supported, it can run reliably in Wine).
    • Beamdog comes with it's own client, plus a steam key, so technically two copies
    • GoG comes with 1.69 as well as EE, if you for some reason wanted 1.69 as well
    • Steam comes with full Workshop and Steam Friends support and achievements, and access to Preview and Beta builds
  • Tablet / Phone editions - these contain some changes for their specific versions, especially around the default texture files the game uses, but otherwise should be able to load singleplayer custom content and persistent worlds (easiest using NWSync) since they match the network compatibility of the PC version. Note that the version will lag behind the PC version meaning some missing assets / fixes / new client functionality and some of the GUI files will be different so changes to them can cause issues.
    • Android - available on the Play store
    • iOS - available on the Apple store
  • Console editions - ported by Skybound Games. These can only connect to 2 persistent worlds, Ravenloft and Arileth, and are stuck at an older version of the game, although for singleplayer content it's quite playable and does include newer lighting and some visual improvements and console-specific controls/UI. You won't ever be building a module for these versions since loading any singleplayer modules or other PW's is, alas, impossible. Don't buy just this version if you want to play NWN custom content!
    • Switch
    • Xbox One
    • Playstation 4

DLC (Premium Modules) are available on most of these platforms, sometimes containing some patches compared to the original Premium Module releases. In addition they're now unencrypted and include sources therefore moddable compared to the old Bioware releases.

Client Changes

You now have a proper \My Documents\Neverwinter Nights (Windows) ~/Documents/Neverwinter Nights (macOS) or ~/.local/share/Neverwinter Nights (Linux) folder for all the custom content and settings files, no need to edit the game folder anymore.

The game runs in 64bit allowing more memory to be used by the game to load high quality assets, and allows more than the NWN default of 64MB texture memory.

UI Improvements and Upscaling

  • Keyholing to see through tiles is included
  • Improved UI for some parts of the GUI (such as debug, options menu)
  • You can select a scaling multiplier for the games default UI. This is available in increments of 0.1. Useful for 2K and 4K monitors for sure.

Enhanced Visual Shaders/Settings

The options menu lists these enhanced visual shaders included for personal taste on most platforms;

  • High Contrast
  • Vibrance
  • Depth of Field (disabled by default - but good for photos)
  • SSAO - Screen Space Ambient Occlusion

Additionally there are a number of texture improvements available for modders

Lighting and Water Improvements

There is now a new lighting engine and water shader; the comparison of the old and new lighting engine is available here, which can be toggled on/off and have various options set for performance reasons:  https://nwn.beamdog.net/web/8193.14-comparison-shots/

Beamdog HD Pack

Beamdog released a set of HD models for the player phenotypes which the community has added fixes and improvements to.

Server Changes

Some changes more applicable to multiplayer servers; additionally NWNX is being developed by the community to extend the server features which runs on Linux and is highly recommended.

  • Master Server list is now being maintained by Beamdog
  • You can import old vaults to the EE CD-key style; see here for information.
  • nwsync allows the client to retrieve the files needed to play on a server, and if altered only obtain the different files if some are updated, all without exiting the game.
  • Various new server-specific options in settings.tml
  • Ability to set/get limits to various bonuses the game usually hardcodes (eg; Get/SetAttackBonusLimit)
  • Players can now enter DM mode dynamically - on persistent worlds also locked behind a password - and therefore shift temporarily into DM mode without reconnecting
  • BootPC() allows an optional parameter for the reason you're booted (eg; BootPC(oPC, "Server reboot!"); ) which shows up in the client.
  • Various security and hacking fixes (but don't turn off ELC, client still generate the character the server then validates for creation and levelup!)

Gameplay Changes

There's a number of fixes to gameplay issues (this needs another page by itself), as well as optional changes:

  • Sticky modes for combat abilities as an option
  • Improvements to pathfinding which should make combat and moving around the game world easier
  • Fixes to a lot of issues around Polymorph and some hardcoded abilities such as Smite Good/Evil, Death Attack, Uncanny Dodge, Dispel Magic, and other little oddities
  • Crash fixes for a variety of rare and not-so-rare issues
  • Area of Effects keep up with the creature they're applied to properly

Script Changes

88 and growing new functions, which include major and minor improvements to NWN:EE including:

  • Full fast sqlite database support built in (sqlquery type and lots of functions)
  • Creation, copying and deletion of areas (CreateArea, CopyArea, DestroyArea) and setting area transitions (SetTransitionTarget)
  • CopyObject works with additional objects (Placeables, waypoints, stores, doors, triggers) as does storing or retrieving them from the database
  • Setting the tag of any object dynamically (SetTag)
  • Setting the event of any object, or clearing it (Get/SetEventScript)
  • UUID Support allowing for easy uniqueness compared to tags (GetObjectUUID)
  • Dynamic object and VFX visual transforms (shrink/grow/rotate/translocate), including interpolation between states (Get/SetObjectVisualTransform new parameters for EffectVisualEffect/EffectBeam)
  • Dynamic texture overrides for one or more players (SetTextureOverride)
  • Material (texture property) control (Set//ResetMaterialXXX)
  • Dynamic hilite (mouseover colour "aura") on any object (SetObjectHiliteColor)
  • PostString support - output text to the debug console for a player or replace a font file to show images (PostString)
  • Tagging item properties and effects you can later check (TagEffect, TagItemProperty)
  • More information from item properties (Get/SetItemPropertyUsesPerDayRemaining)
  • Ability to retrieve more information from effects and item properties (GetEffectCasterLevel, GetItemPropertyDurationRemaining etc.)
  • Can hide equipment when equipped (Get/SetHiddenWhenEquipped) so for instance helmets don't have to replace the head model
  • Map exploration control tile-by-tile and set if the minimap works at all (Get/SetTileExplored, Get/SetCreatureExploresMinimap)
  • Information about tiles/locations (GetSurfaceMaterial/GetGroundHeight)
  • More information from creatures (GetDomain, GetSpecialization)
  • More actions to use items (ActionUseItemOnObject/AtLocation)
  • More information from players, useful in multiplayer (GetPlayerBuildVersionMajor, GetPlayerBuildVersionMinor, GetIsPlayerConnectionRelayed)
  • Wind control to go along with unhardcoded weather (SetAreaWind)
  • Set an objects hitpoints without EffectHeal/EffectDamage (SetCurrentHitPoints)

New events:

  • OnPlayerTarget event - can call to have a players mouse change icon and able to select something

Game functionality:

  • A nwscript window in game to run code and specific scripts on any object in the game world (when in Debug Mode or as a DM)
  • PostString allows much easier on-screen debugging
  • You can set a TMI limit for those lengthier script runs in the game options
  • Don't need to cache scripts anymore - the game now effectively caches them all automatically due to modern amounts of memory rather than awful 2002 amounts of memory.

Toolset functionality:

  • The toolset compiler has been improved, increasing the identifier limit to 16K up from 8K, and actually reporting all errors rather than failing silently (such as too many include files) even if the error message isn't always clear (although using an external compiler is a good recommendation)

Toolset Changes

Some improvements to the toolset, beyond updating it to work reasonably well on Windows 10 with performance improvements:

  • You can open more than one area at a time in tabs, and even copy between them
  • Script parameters built into conversations lowering the amount of scripts needed
  • Double clicking an object can open the properties of it, and undo/redo supports moving objects not just placing/deleting them
  • Visual transformations of object can be baked into placed objects in the game (and done dynamically with script commands as above)
  • Support for ambient/battle music not having TLK entry references, can be now done with strings
  • Additional Ossian Studios content from Darkness over Daggerford (models, creatures, etc) and new and revamped tilesets
  • ERF files (.HAK and .MOD usually) can now contain near unlimited items compared to ~16K in 1.69. A 2GB filesize per-ERF is still in place but it allows modules to keep all blueprints, area files and scripts in one module now.

Custom Content Changes

Improvements include a lot of unhardcoding of various things and new things you can do:

  • Unhardcoded various hardcoded set values the engine uses for hardcoded class and abilities; see new 2da ruleset.2da
  • Unhardcoded spellcasting classes - new spellcasters can be added to the game (by mirroring what base spell casters can do); see classes.2da and Custom Spellbooks using classes.2da and spells.2da
  • Unhardcoded stat gains that Red Dragon Disciple and Pale Master have, see classes.2da
  • Unhardcoded weather - new weather can be added, see: Weather
  • Unhardcoded "Programmed FX" - ie you can now add new beams and magic missiles and other things, see new 2da: progfx.2da
  • Unhardcoded most of the racial type modifiers such as skill points multipliers, or bonus feats, see: racialtypes.2da
  • Unhardcoded weapon feats, such as Improved Critical (ie new melee weapons can be added) and unhardcoded modifiers like "Is a monk weapon", see: baseitems.2da
  • Allowed the various default clothing available at character generation to be restricted to gender, alignments, races or classes.
  • Improvements to available model bones/quality so higher quality animations/models can be done, see: Models
  • Additional Custom Animation slots 21 through 70 for a huge number of custom animations on custom models
  • Engine now uses OpenAL for sound and WebM for video files, meaning easier and higher quality Movies and Sounds and Music can be used.
  • Game console has a few more commands for:
    • Panoramic shots with MakePano
    • Aforementioned model compiling

There is also a Console and Debug Panel for tuning custom content, and game models can be compiled in game more easily see Models.

Finally on Steam you can upload to the Workshop modules, hakpacks and custom content.

  • No labels