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

Compare with Current View Page History

« Previous Version 10 Current »

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 and you might be blocked from certain content and PWs. Roughly equivalent to patch 8193.34
    • 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 (a pretty ancient version, and for all intents and purposes is relatively light on fixes and gameplay updates compared to now), 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, Upscaling and Quality of Life

  • Keyholing to see through tiles is included
  • Improved UI for some parts of the GUI (such as module selection, options menu, debug menus)
  • You can select a scaling multiplier for the games default UI. This is available in increments of 0.1 up to x4. Necessary for good 2K and 4K monitors usage.
  • AOE targeting indicators added to show where spell will affect things on the ground
  • Various Quality of Life client updates; such as new fonts so no blocky tiny fonts, sorting classes, spellbooks, combat sticky modes, some colour selections for highlighting, unlocked camera limits,

Lighting, Water and Rendering Improvements

The game now uses OpenGL 3.3, and alongside this there is now a new lighting engine enabled by default and new 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: https://nwn.beamdog.net/web/8193.14-comparison-shots/

Rendering now supports the enhanced lighting and uses physically based rendering, although the default game content doesn't use a lot of this it is used by modders.

Enhanced Visual Options

The game includes more visual options including:

  • Better resolution support
  • Anti aliasing up to x4
  • Anisotropic filtering up to x16
  • V-Sync support including adaptive mode
  • Max light sources up to 128 (which can be quite a performance hit, 32 max recommended)
  • HDR Bloom
  • Ambient Occlusion
  • High Contrast
  • Vibrance
  • Sharpen

Optionally these are also available:

  • Depth of Field (mainly good for screenshots)
  • Toon shader (outlines around models)

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 and Fixes

There's a number of fixes and small changes to gameplay issues, primarily:

  • Sticky modes for combat abilities as an option - recommended to turn this on, really useful to stop power attack constantly disabling
  • 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
  • Area of Effects keep up with the creature they're applied to properly
  • Spell targeting showing where spells will affect has been added
  • Faster area load times especially in singleplayer
  • Crash fixes for a variety of rare and not-so-rare issues

Script Changes

A lot of new script functions, which include major and minor improvements to NWN:EE including:

  • Full fast sqlite database support built in (sqlquery type and lots of functions)
  • A full ability to generate new User Interface panels native to the client (Nui panels)
  • General Json support plus ability to convert objects/areas to Json, manipulate the Json for advanced changes, and convert back to objects/areas.
  • 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, GetEffectInteger 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 effects (EffectBonusFeat, EffectForcedWalk, EffectPacified) and additions to existing effects (eg EffectPolymorph, EffectDamageReduction)
  • More information from players, useful in multiplayer (GetPlayerBuildVersionMajor, GetPlayerBuildVersionMinor, GetIsPlayerConnectionRelayed plus various ways to see client options)
  • Wind control to go along with unhardcoded weather (SetAreaWind)
  • Set an objects hitpoints without EffectHeal/EffectDamage (SetCurrentHitPoints)
  • ...plus loads more

New events:

  • OnNuiEvent - modder generated User Interface interactions
  • OnPlayerGuiEvent - GUI events can be surpressed or detected
  • OnPlayerTarget - can call to have a players mouse change icon and able to select something
  • OnPlayerTileAction - tile actions

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
  • NUI functions for clientside user interfaces and GUI overrides
  • Higher TMI limit
  • Improved compiler - now also standalone and open sourced
  • Improved under the hood VM (script virtual machine) performance

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
  • You can now link an external script editor to the game to, for instance, edit scripts in VScode instead of the internal editor

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 hugely lowering the amount of scripts needed for conversation scripts
  • 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)
  • Support for ambient/battle music not having TLK entry references, can be now done with strings (various 2da Files now have this)
  • Additional Ossian Studios content from Darkness over Daggerford (models, creatures, etc), Tyrants over Moonsea 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.
  • Lots of minor quality of life improvements such as alphabetically ordered lists, panel UI changes and bugfixes

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
  • Maximum classes allowed raised optionally to 8 (set in ruleset.2da)
  • Maximum 2da rows increased in several instances, see
  • 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 (most) 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, as well as Favoured Enemy per-race, 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