Neverwinter Nights: Enhanced Edition - niv
We're still working towards a stable patch. This is one step closer, knocking off a few required items off the TODO list for it.

We appreciate any and all bug reports and feedback your testing will generate.

Known Issues/Caveats

  • Networking relays are still nonfunctional. We will have to address further-reaching changes to the network protocol for the upcoming console release. Any related fixes and features, such as better NAT traversal, have been postponed for now.
  • Polish and Czech charsets cannot render or type some characters.
  • Old campaign database files written with patch 8187 or earlier cannot be read, as the underlying format has changed.
  • The toolset build inside this development patch is currently outdated. You can find the most recent beta toolset here.

Features

  • Model compiler: Added a new alias to nwn.ini: MODELCOMPILER (instead of clobbering the installation directory)
  • New console command: compileloadedmodels (comppiles all loaded models, including binary)
  • New console command: compileloadedasciimodels (compiles all loaded models, only ascii)
  • New console command: compilemodel <name> (specific model, will load and unload it for you even if it is not currently loaded)
  • New command line switch: nwmain.exe compilemodel <name> (same as the above console command; will compile the model and exit the game immediately)
  • NWSync now shows network and storage speed separately while downloading.
  • The NWSync networking protocol has been extended to support multiple language-specific and user-selectable optional manifests in the future (but the client itself cannot fetch them yet - sorry!).
  • We have rewritten large parts of the NWSync storage system to better support the upcoming console releases. Your existing data should - barring bugs - remain unaffected.
  • As a consequence of this, the new max file size for NWSync-served resources is 15MB (down from 100MB). This is unfortunately a platform limitation on some devices. We may revisit this in a future patch based on feedback and as further improvements are introduced.

Fixes

  • NWScript: GetEffectSpellId() was erroneously returning 65535 instead of -1 for effects with no spell.
  • SSL is not a forced requirement for NWSync anymore.
  • For SSL, OCSP stapling verification is now off. There is a configuration key to globally re-enable it, if users so desire.
  • We fixed the configuration option ruleset.hide-hitpoints-gained-on-level erroneously taking the value of ruleset.always-roll-max-hitpoints-on-levelup.
  • [Linux] Switching to fullscreen and back will now preserve window position and dimensions.
  • We fixed difficulty selection being off by one.
  • We fixed the mouse wheel scrolling nuklear-based UI even though the cursor was not hovering over it.
  • We addressed a custom content-related crash when adding invalid items to merchants.
  • A handful of UI-crashes inside NWSync have been fixed.
  • The crash reporter now says which OS it came from.
  • We fixed an issue where playing wav ambient sounds would confuse the resource manager into either leaking or freeing memory excessively.
  • We fixed some achievements not triggering properly: Hoard Mode, Dragons are Friends not Fodder, Hardcore Morag, Hardcore Heurodis, and Hardcore Mephistopheles.
  • Campaign progress now unlocks only the current campaign instead of all.
  • Game autosaving is now a boolean toggle, and the interval is configurable between 1 and 30 minutes.
  • Interval-based game autosaving no longer triggers in singleplayer.
Eurogamer

There's been a slight delay to the console release - PlayStation 4, Xbox One and Nintendo Switch - of golden old role-playing games Baldur's Gate (the series), Planescape: Torment and Icewind Dale.

They were once expected this week but won't be available until October.

Specifically, The Enhanced Edition Baldur's Gate pack, and the Enhanced Edition Planescape: Torment and Icewind Dale double-pack, will be released physically and digitally - globally - on 15th October. (This had been clarified earlier in the year but not widely.)

Read more

Neverwinter Nights: Enhanced Edition - Julius Borisov
Hail adventurers!

We released a new premium module for Neverwinter Nights: Enhanced Edition from the developers of Darkness Over Daggerford, Ossian Studios.

Tyrants of the Moonsea is available now on Steam!

Based on the original module by Luke Scull, this newly enhanced adventure vastly expands the former module by adding 70% more story and gameplay, plus new art and audio!



Tyrants of the Moonsea

The harsh frontier land known as the Moonsea is besieged by demons. A mysterious cult has arisen, bent on death and destruction. Amid the chaos, war is imminent between the powerful city-states and their tyrannical rulers.

Accompanied by the dwarf merchant Madoc, you approach the town of Voonlar just as the worst snowstorm of the year hits. You soon discover that only you can prevent the total annihilation of the Moonsea at the hands of a legendary and ancient evil...



Features

A 20+ hour high-level adventure set in the perilous Moonsea region of the Forgotten Realms! Featuring new monsters, new tilesets, 35 minutes of new music, and 1,000 lines of new character VO.

- An expansion-sized high-level adventure with 20+ hours of gameplay
- Use the world map to explore 18 areas in the Moonsea region including Zhentil Keep, Cormanthor, Thar, and prominent city-states.
- Recruit from 5 different companions for your party
- 5 new monsters to do battle with
- 14 new character portraits
- 35 minutes of inspiring new music including exhilarating combat tracks
- 1,000 lines of new character VO

Deluxe Bundle!

We've added to the Neverwinter Nights: Enhanced Edition Deluxe Bundle:
- Tyrants of the Moonsea
- Tyrants of the Moonsea Official Soundtrack

Complete your bundle & save on ALL enhanced NWN:EE products!

Steam Daily Deal: 75% OFF

Get Neverwinter Nights: Enhanced Edition! Join the community today & snag the classic D&D adventure today and open the gates to scores of community content, premium modules, DM Toolsets, persistent worlds and more...
Neverwinter Nights: Enhanced Edition - Valve
Today's Deal: Save 75% on Neverwinter Nights: Enhanced Edition!*

Look for the deals each day on the front page of Steam. Or follow us on twitter or Facebook for instant notifications wherever you are!

*Offer ends Saturday at 10AM Pacific Time
Neverwinter Nights: Enhanced Edition - Julius Borisov
From the developers of acclaimed adventure Darkness Over Daggerford, Ossian Studios, comes a new premium module for Neverwinter Nights: Enhanced Edition --> Tyrants of the Moonsea!

Based on the original module by Luke Scull, this new, enhanced version of Tyrants of the Moonsea vastly expands this former premium module by adding 70% more story and gameplay, as well as a a large amount of new art and audio content. Read on for details!



STORY
The harsh frontier land known as the Moonsea is besieged by demons. A mysterious cult has arisen, bent on death and destruction. Amid the chaos, war is imminent between the powerful city-states and their tyrannical rulers.

Accompanied by the dwarf merchant Madoc, you approach the town of Voonlar just as the worst snowstorm of the year hits. You soon discover that only you can prevent the total annihilation of the Moonsea at the hands of a legendary and ancient evil...

FEATURES
A 20+ hour high-level adventure set in the perilous Moonsea region of the Forgotten Realms! Featuring new monsters, new tilesets, 35 minutes of new music, and 1,000 lines of new character VO.

- An expansion-sized high-level adventure with 20+ hours of gameplay
- Use the world map to explore 18 areas in the Moonsea region including Zhentil Keep, Cormanthor, Thar, and prominent city-states.
- Recruit from 5 different companions for your party
- 5 new monsters to do battle with
- 14 new character portraits
- 35 minutes of inspiring new music including exhilarating combat tracks
- 1,000 lines of new character VO

PLUS - THE ORIGINAL SOUNDTRACK!
Composed by Mark Braga, Kalen Smith and Will Musser, the inspiring original soundtrack for Tyrants of the Moonsea will also be available on Steam!
Neverwinter Nights: Enhanced Edition - niv
This is a stabilisation effort following 8188. We’re working towards a stable patch before the new renderer will happen. Please help test, your feedback is invaluable!

Known Issues/Caveats

  • Networking relays are still nonfunctional. We will have to address further-reaching changes to the network protocol for the upcoming console release. Any related fixes and features, such as better NAT traversal, have been postponed for now.
  • Old CampaignDB files remain unreadable (for now, see below).
  • GetEffectSpellId() returns the wrong value for invalid spells (65535 instead of -1).

Features

  • Nuklear-based UI is now skinned with textures loaded from ResMan. The skin is a placeholder and the art is work in progress. New options to configure the used font have been added.
  • All HTTP traffic now requires valid HTTPS certificates, with proper OCSP stapling enabled. The game does not speak to http servers anymore (except localhost for testing). This includes all NWSync repositories.

Fixes

  • Running the game and server on Linux systems has been fixed.
  • NWSync SQLite migration stability has been improved. They are now defined in code, and no longer in the installation directory. The schema, of course, remains public.
  • The game no longer renders white boxes where console font should be. This should also fix the issues where other text overlays and opening the radial menu sometimes result in huge white boxes all over the screen.
  • The effect limit configuration keys have been uncapped. They used to be limited to [1, default]; they now are [0, 255]. Beware: You may run into strange behaviour if you exceed a total bonus/penalty of -128, 127 or 255 regardless of configuration; since some values are internally typed with 8 bits.
  • Hosting local multiplayer games on Mac and Linux, where the system hostname is not resolvable through DNS, has been fixed.
  • The server config "Server vault by player name" does not require "Sticky player names" enabled anymore to work. This will help servers that want to set up custom authentication schemes.
  • We fixed an issue where the threadpool would not spawn enough worker threads if your CPU had less than three (virtual) cores.

Ruleset
  • New column in racialtypes.2da: SkillPointModifierAbility. This column determines the ability which will provide additional skill points on level up. Can be blank. (INT by default, obviously).
  • New should-really-be-self-explanatory ruleset.2da constants: MULTIPLE_ATTACKS_BAB_PENALTY_MULTIPLIER_MONK, MULTIPLE_ATTACKS_BAB_PENALTY_MULTIPLIER, SPELLCRAFT_NUM_RANKS_PER_SAVE_BONUS
  • ruleset.2da entry lookup has been sped up.

Changed Script Commands
  • The effect limit accessors now adhere to the configuration constraints. Values set through these will always override the user-configured values for the running module only.
Neverwinter Nights: Enhanced Edition - niv
Hello everyone!

This development patch brings in a features that lay the groundwork for a followup patch to the stable branch.

We are releasing this to the dev branch now so that you can help us test it and provide feedback on the direction things are taking. Thus, this patch contains a lot of experimental features with moderate chance for breakage.

Please report any issues you might face on our bug tracker - https://support.baldursgate.com/projects/nwn-ee-public-bugs.

We're aware it's been a long wait since our last patch. Thank you for your patience! We assure you, we are still hard at work on Neverwinter Nights: Enhanced Edition.

Please note that this patch does not represent the full set of features we are working on. Instead, we have split away partial changes so that the community could test and evaluate them while we’re working on other features including the new graphics rendering engine, improved NWSync capabilities, and softening up more parts of the ruleset.

This patch introduces backwards-breaking changes to save games and character files (specifically, the Red Dragon Disciple). Please read the patch notes carefully and make backups of your saves and characters.

Known Issues/Caveats in this patch

  • Networking relays are still nonfunctional. We will have to address further-reaching changes to the network protocol for the upcoming console release. Any related fixes and features, such as better NAT traversal, have been postponed for now.
  • Rendering console text (the yellow debug console) sometimes renders white squares instead.
  • Old CampaignDB files ("CodeBase", "Bioware DB", "FoxPro", etc) remain unreadable (for now, see below).

Features

  • Both client and server are now 64bit binaries. We do not provide 32bit binaries anymore as of this patch. (The binary directories in the game install are now misnamed; we didn't change this yet but will in a future patch.)

  • Achievements have been added to the Steam release. These are the same as have been available on Android for a while. There is a Debug UI panel that allows you to clear previously-achieved achievements if you’d like to start fresh. Please note that they will remain flagged as Hidden until support for them hits the stable branch.

  • CodeBase (“Bioware Campaign Database”) has been replaced with sqlite3, as the old database code would not work when compiled with a 64bit compiler. Moving forward, we will be writing new, minimal code to import existing CodeBase entries; but for now, old data remains inaccessible. All new database files end up in the database/ directory in your user home. They have the extension .sqlite3.

  • A debug UI for advanced users to showcase experimental new features and UI scenes has been implemented (Ctrl+Shift+F12 to access).

  • A new configuration system has been put in place. Most client and server config is now stored in a file called settings.tml, instead of nwn and nwnplayer ini.
  • A lot of new configuration keys have been added, too numerous to list here.
  • Configuration will be imported from ini files. Once imported, the .ini will not be written anymore (but left in place in case you want to go back to a previous build).
  • All configuration keys can be overridden via ENV variables (useful for automated server setups), like so: NWN_CONFIG_SET_key, where key is the fully-qualified configuration key.
  • Some configuration still remains in .ini files; these will be migrated as we go along.
  • The .tml file is in TOML format and has a full schema embedded for better introspection and tool-based editing.
  • The debug UI offers access to the full new configuration system.

  • Networking/Crypto: Servers can now have fixed identities that persist between restarts. This identity is stored in a file named “cryptographic_secret” in the user home. Leaking this identity allows others to impersonate your server, much in the same way as leaking a private CD key. Favourites and History storage will now use server identities if available, so that floating IP/port servers can be found again easily.

  • The game now defaults to windowed mode (instead of exclusive fullscreen) on new installs.
  • The game will now remember the window position between restarts when in windowed mode.
  • A simple frame limiter has been added, which can be used to reduce CPU/GPU usage on battery-constrained devices. It is accessible through the Debug UI as explained below.
  • Walking/Running with shift held down is now an invertible config toggle. This is also accessible through the Debug UI.

  • NWSync now automatically purges outdated server manifests, removing stale and unneeded data. Manifests are considered outdated if they are coming from the same server URL and carry the same group_id (see NWSync documentation).
  • NWSync can now download offline modules from preconfigured servers. This is a experimental feature and only accessible via the Debug UI, and requires adding a specially-prepared repository.
  • The debug UI offers to purge unwanted nwsync manifests and all associated data. This will eventually be turned into a more user-friendly UI.

  • Music and ambient sounds are now loaded through ResMan and can thus be in hak and nwsync.
  • The game will now read plain mp3 files (the .bmu extension rename is still required, because this extension is used in all existing resources/haks).
  • The game user home (i.e. Documents/Neverwinter Nights) is now provisioned “development” directory, which detects changes and content is reloaded at runtime. This directory sits at the very top of the resources search path (unlike override/, which is sitting below ERF containers such as HAKs).
  • NB: This content reload only affects resource types that are not cached. For example, it can be used to inject scripts or GFF data, but not replace textures on the fly.
  • ResMan resource management and priorities has been rewritten. The debug UI can show this to you.
  • [Linux/Mac only] The game can now optionally mmap() all core game resources. This speeds up loading times drastically on some systems. This is turned off by default.

  • We have added a script command to JIT-compile and run a chunk of NWScript.
  • We have added functionality that allows attaching UUIDs to objects. These UUIDs are persisted to GFF and can be used by authors to identify items across module restarts, among other use cases.
  • Script calls that serialise/deserialise objects (StoreCampaignObject and CopyObject as of now) can now work with the following object types: Creatures, Items, Placeables, Waypoints, Stores, Doors, Triggers.

Fixes

  • C++: Thousands of cases of undefined behaviour have been addressed. A lot of code duplication has been removed in the process.
  • KTX texture loading order has been fixed.
  • The Load/Save dialogue now properly removes savegames from the resource manager when exiting the UI.
  • GL Render Culling was fixed (i.e. flickering trees and keyholing showing backfaces of geometry instead of punching through).
  • We fixed invalid user savegames being deleted on read errors; for example when erroneously storing savegames in subdirectories, or when AV denies access to reading the .sav.
  • Automatic tangent generation has been fixed.
  • Steam CD key retrieval should be more robust; and in the case of errors, will emit a useful support token that can be used to follow up with Beamdog.
  • A memleak in script evaluation was fixed.
  • SetPhenoType: The constraint condition was too narrow in clamping the phenotype; this has been fixed.
  • SetName() on areas now sends the configured language, instead of English.
  • The rather arbitrary builtin effect icon limit has been removed.
  • Object Visual Transforms: We now send VTs for newly-created doors and placeables. Some inefficiencies in network updates have been removed.
  • Material Shader Params: Some inefficiencies in network updates have been removed.
  • The server now waits 3 seconds before attempting to list with the master, allowing a module to load in non-interactive use.
  • Running a local multiplayer game now should never reject the primary player if the master is unreachable.
  • A case where arturo texture animations failed to animate has been addressed.
  • A bug in the creature serialisation code (for StoreCampaignObject) has been addressed where it would erroneously embed transient object IDs for inventory items, resulting in issues when loading this creature again in a persistent world setting.
  • A nullptr deref crash related to funny/zombie-walking a player was fixed.
  • A nullptr deref crash when clicking placeables without a valid player creature was fixed.
  • A thread race crash during sound system initialisation was fixed.
  • A nullptr deref crash when the server sends a weapon switch request for a creature where the model did not yet load was fixed.
  • A selection of nullptr deref crashes when the server sends a creature update for a non-existing creature were fixed.
  • A case where encounters containing creatures only of the same CR would fail to select the proper amount/difficulty was fixed.


Ruleset

  • classes.2da: New column StatGainTable. This column contains a table that describes ability and natural AC progression per level.
  • Palemaster Natural AC progression has been changed to use this mechanism.
  • Dragon Disciple Natural AC and Ability progression has been changed as well. As a consequence of this change, existing creatures will be stripped of their baked-in modifiers; thus changing characters/saves irreversibly and making them invalid with older game versions. Character changes are tracked in the character file itself: A new field “DataMigration” has been added to the GFF CreatureStats struct to accommodate this. In the interest of transparency, changes made to character files are published in the patch notes, below. If you want to return to a previous game version, make sure to create a backup first.
  • racialtypes.2da: New columns to configure extra skill points and feats at first level.
  • racialtypes.2da: New columns to configure the skill points modifier at first level.
  • racialtypes.2da: New columns to configure Ability Point Buy.
  • racialtypes.2da: New columns to configure normal feat progression.
  • ruleset.2da: New 2da added that contains a set of builtin ruleset defines. These defines were previously hardcoded in the game engine and are now overridable on a per-module basis. No explicit guarantees of functionality are given due to their scope and amount; however we will gladly listen for feedback on what works, what doesn’t work as expected, and what needs changing to accommodate further use cases. We reserve the right to change and remove entries with future patches.

You can find all of these files in the game installation directory, subdirectory ovr/.

Irreversible character data migrations in this patch

  • DataMigration < 1: Dragon Disciple Class:
  • if (level >= 10) STR -= 4;
  • if (level >= 4) STR -= 2;
  • if (level >= 2) STR -= 2;
  • if (level >= 7) CON -= 2;
  • if (level >= 9) INT -= 2;
  • if (level >= 10) CHA -= 2;
  • // Note: Natural AC was already calculated at runtime and not persisted to character data.


New Script Commands

// Execute a script chunk. // The script chunk runs immediately, same as ExecuteScript(). // The script is jitted in place and currently not cached: Each invocation will recompile the script chunk. // Note that the script chunk will run as if a separate script. This is not eval(). // By default, the script chunk is wrapped into void main() {}. Pass in bWrapIntoMain = FALSE to override. // Returns "" on success, or the compilation error. string ExecuteScriptChunk(string sScriptChunk, object oObject = OBJECT_SELF, int bWrapIntoMain = TRUE); // Returns a UUID. This UUID will not be associated with any object. // The generated UUID is currently a v4. string GetRandomUUID(); // Returns the given objects' UUID. This UUID is persisted across save boundaries, // like Save/RestoreCampaignObject and save games. // // Thus, reidentification is only guaranteed in scenarios where players cannot introduce // new objects (i.e. servervault servers). // // UUIDs are guaranteed to be unique in any single running game. // // If a loaded object would collide with a UUID already present in the game, the // object receives no UUID and a warning is emitted to the log. Requesting a UUID // for the new object will generate a random one. // // This UUID is useful to, for example: // - Safely identify servervault characters // - Track serialisable objects (like items or creatures) as they are saved to the // campaign DB - i.e. persistent storage chests or dropped items. // - Track objects across multiple game instances (in trusted scenarios). // // Currently, the following objects can carry UUIDs: // Items, Creatures, Placeables, Triggers, Doors, Waypoints, Stores, // Encounters, Areas. // // Will return "" (empty string) when the given object cannot carry a UUID. string GetObjectUUID(object oObject); // Forces the given object to receive a new UUID, discarding the current value. void ForceRefreshObjectUUID(object oObject); // Looks up a object on the server by it's UUID. // Returns OBJECT_INVALID if the UUID is not on the server. object GetObjectByUUID(string sUUID);
Neverwinter Nights: Enhanced Edition - Julius Borisov
Hello, friends!

We’ve been substantially updating the Neverwinter Nights Toolset, and want you to test our newest build which adds tons of fixes, optimizations, & new features!

Grab the new Neverwinter Nights: Enhanced Edition Toolset build at this link, test it out, and share your feedback!

We've uploaded an out-of-band update for the Toolset so that content creators could test it without having to wait for a patch (which will take a while with the work on the renderer and 64-bit integration).



Check out a small video illustrating new features: https://www.facebook.com/Beamdog/videos/2319128681662635/
Neverwinter Nights: Enhanced Edition - contact@rockpapershotgun.com (Alice Bell)

Neverwinter Nights is a Dungeons & Dragons RPG from the early 2000s and it very handily got an enhanced edition last year. What timing! There s a sequel where you have prettier character models, but I still prefer the first one. This is party because I like complex RPGs, but mostly because of Aribeth.

(more…)

Neverwinter Nights: Enhanced Edition - niv
We're shipping a quick pre-holidays development patch for Neverwinter Nights: Enhanced Edition. We're at 8187 now!

Changes
  • We ported keyholing from Android. It is turned ON by default, but can be turned off with a console command (KeyholeToggle) or the setting in nwn.ini. A UI setting will be added before the next stable patch ships.

  • Shaders now support #include. Use with care: It's not a real preprocessor, just a verbatim string replace.
  • We're changing how networking is done in NWN:EE, with the following benefits: Cryptographic server and client identity authentication; full network encryption to prevent traffic snooping - and in the case of public servers via the master, connection hijacking; floating connections (you might be able to IP/port-hop and retain your connection); better use of compression; and no more host/port confusion when connecting multiple times from behind the same LAN.
  • NWSync now cleans up downloaded manifest mappings when getting updates from known servers. It will not remove unreferenced data yet (as desktop users might not want to lose it), but that will come next.
  • NWSync will automatically reconnect you to the server if you are still around after the download finishes (based on keyboard/mouse input detection).

Fixes
  • Performance and memory usage improvements at NWSync startup.
  • History/Favorites have been fixed to once again show what has been saved to the .ini.
  • We fixed the SetName and SetHiddenWhenEquipped script commands not reliably updating all clients.
  • We fixed some doors becoming unclickable after having been destroyed, despite having a scripted transition present.
  • We fixed the script compiler sometimes confusing functions where the full name of one is a prefix of the other ("Action" <-> "ActionTwo").
  • We fixed module content (hak, tlk, nwsync) not properly unloading when disconnecting from a server.
  • We fixed a bug where resources were indexed twice when loading a module, resulting in prolonged load/connect times.
  • We fixed an issue where sending visual transforms or material updates for creatures only seen on the party bar, but not yet in an area, crashed clients.

Known Issues
  • Relay network functionality is not yet functional for this new patch. This will not impact connectivity, unless both server and client are behind very restrictive NAT.



We'd like to wish you all a very happy new year! Level up responsibly!
...