Friday, June 22, 2018

June 22 Livestream Recap

Trent first started work on Neverwinter Nights nearly 20 years ago.
During today’s livestream, Beamdog CEO Trent Oster and Marketing & PR Manager Lee Guille shared the latest Beamdog, Neverwinter Nights: Enhanced Edition, and Infinity Engine news. Bernhard Stöckner (niv), Technical Director on the NWN:EE core team at Beamdog, joined the stream to chat about NWN:EE technical challenges.

Missed the stream ? It's on YouTube and Twitch! Here's a quick summary of the highlights:

“We’ll attempt our newsletter emails to be at least humorous” ~ Trent
  • The 2.5 patch for Baldur’s Gate II: Enhanced Edition has been pushed to next week due to Multiplayer crashes and Linux issues.
  • A new Neverwinter Nights: Enhanced Edition development build is available on Steam and in the Beamdog Client. Check out the full patch notes for the build 8178 here.
  • Let us know about your desired time gaps between stable patches for Neverwinter Nights: Enhanced Edition on our forums.
  • If you can reproduce Intel GPU-related crashes in NWN:EE regularly and reliably on your laptop, contact us, and we may buy it (on the condition it's a local 100% crash repro, the "click here to crash"-type of crash)! It’ll help us understand what part of content in the game is causing crashes and performance issues on Intel laptops.
  • We’re working on a new storyline for Neverwinter Nights: Enhanced Edition.
Bernhard Stöckner (niv) describes a few features planned for Neverwinter Nights: Enhanced Edition.
  • According to niv, after we ship the next stable patch for Neverwinter Nights: Enhanced Edition, we plan to focus on feature development. The biggest thing on the list is probably a multiplayer-compatible content downloader (for such files as HAKs and TLKs).
  • The 64-bit transition is a huge undertaking, and after it’s done, a lot of other features will be possible.
  • If you have suggestions about ways to improve the Neverwinter Vault, share them on our forums.
  • We’ll be bringing more people from the community to talk to during our livestreams. Stay tuned!

Excited for what’s next? Come and join the next livestream next Friday!

Friday, June 15, 2018

Beamdog Client Update 2.1.8

A new update for the Beamdog Client is here! v2.1.8 brings a much asked for feature to, the ability to purchase and play individual pieces of DLC! 

As a part of this update, Neverwinter Nights: Darkness over Daggerford has come to  To install DLC in the Beamdog Client, choose the game the DLC is for and click the dropdown menu beneath the game's name. 

All available DLC for the title should appear. Choose the one you wish to install and click the Apply DLC button. After your DLC has installed, it should appear in-game.

Beamdog Client v2.1.8 Patch Notes
  • Beamdog Client DLC support implemented
  • Added Install DLC button for downloading and installing DLC.  
  • After DLC has finished downloading, it will copy itself to all existing base game versions.
  • Installing DLC will not overwrite any pre-existing files inside the base game that share the same filenames.
  • Added a DLC download progress bar.
  • Added DLC confirmation, error, and instruction messages.
  • Warning text added when trying to uninstall DLC in case user is running the game, an editor, or a server.
  • Uninstalling a base game removes all DLC files.
  • Uninstalling DLC will remove all DLC copies from installed base games.
  • Updating a base game will not remove DLC files.
  • Verifying a base game will not remove DLC files.
  • Added logs tracking installing and removing progress of DLC.
  • Client metadata of any DLC now requires a key-value pair: '"dlc": true' inside their channel info file.
  • Client now prevents uninstalling DLC while game is running or DLC is installing.
  • Fixed a crash when trying to uninstall a non-existing folder.

June 15 Livestream Recap

PAX West! Beamdog will be off to the west coast for a special announcement panel.
Beamdog CEO Trent Oster and Studio Director Phillip Daigle shared the latest news and updates on Neverwinter Nights: Enhanced Edition and Infinity Engine patches. During the livestream Phil and Trent answered fan questions and did a tour around the Beamdog studio.

Missed the stream (done via Phil’s phone due to a sudden Windows update)? It's on YouTube and Twitch! Here's a quick summary of the highlights:

Phil and Trent walked around the Beamdog office.
  • We’re going to do a panel at PAX West (August 31 - September 3, 2018) and preparing to make a wide variety of announcements there! Phil says some of them might be “outside of our usual playbox”. More news soon!
  • We have a lot of very, very exciting plans that we’re hiring up to achieve. Hop over to our jobs page, and apply!
  • Neverwinter Nights: Enhanced Edition development build 8177 is available on Steam and in the Beamdog Client. It focuses on stability, bug fixing, and also adds a few new features. Check out the full notes here!
“We’ll take the look of Neverwinter Nights content to another level” ~ Trent
  • The end of the 2.5 patch cycle for Baldur’s Gate: Enhanced Edition, Baldur’s Gate II: Enhanced Edition, Siege of Dragonspear and Icewind Dale: Enhanced Edition is in sight. Thanks a lot to all our amazing beta testers! We plan to release the 2.5 patch for Baldur’s Gate II: Enhanced Edition next week.
  • We’ll push one additional update to Icewind Dale: Enhanced Edition, which will introduce a new feature (fully toggleable). Phil promises that it’ll make casting a spell like Fireball, and not hitting your party, a lot easier.
  • The work on character model improvements for Neverwinter Nights: Enhanced Edition is progressing, so stay tuned!
  • If you’re interested in Neverwinter Nights: Enhanced Edition Collector’s Edition, share your thoughts on our forum, and let us know what would you like to see in it.
  • Next week we’ll be sitting down with Bernhard Stöckner (niv), the technical director on the NWN core team at Beamdog, to talk about technical challenges of working on Neverwinter Nights: Enhanced Edition.

Excited for what’s next? Come and join the next livestream next Friday!

Friday, June 8, 2018

June 8 Livestream Recap

A VERY early look at Neverwinter Nights: Enhanced Edition on an Nvidia Shield tablet, shown by the Hand of Dan
During today’s livestream Beamdog CEO Trent Oster was joined by Mark Meer, voice of Commander Shepard, Rasaad yn Bashir, Baeloth the Entertainer, Alveus Malcanter, and many other characters. Trent and Mark shared Stream of Many Eyes stories and the latest news on Neverwinter Nights: Enhanced Edition.

Missed the stream? It's on YouTube and Twitch! Here's a quick summary of the highlights:

  • Neverwinter Nights: Enhanced Edition on tablets is in the works! There’s still some work to do to make it possible, so stay tuned for more news! We’re looking into ways to have a list of the best mods available for download. Sign up for our newsletter to get all the information about NWN:EE on tablets first!
  • Neverwinter Nights: Darkness over Daggerford is out on Steam and will come to in the future! Learn about all the fantastic improvements put into Darkness over Daggerford by Ossian Studios here. We support Ossian Studios and want them to do well as they never got to make money from Darkness over Daggerford originally.
  • We’re working to support downloadable content on Hopefully it’ll happen fairly soon.
The Stream of Many Eyes. “A phenomenal, amazing environment to be in” ~ Trent
  • Last week Minsc (Trent), Rasaad (Phil), Biff the Understudy (Lee), and Alveus Malcanter (Mark) took part in the Stream of Many Eyes. Thanks to Wizards of the Coast and all the people who came there, the event was truly epic! Check our Facebook and Twitter for all the photos from the stream.
The Yawning portal is my favourite tavern in Waterdeep ~ Mark
  • We’re working on the next development build for Neverwinter Nights: Enhanced Edition which will address many of the issues on 1.75, including area transition colours and DM interactivity issues with them, door highlights interfering with easily walking through them, chat panels not remembering their positioning, Premium Module crashing and working oddly in Multiplayer. We’re targeting next week as the build is not ready yet.
  • Linux players, if the 2x UI scaling results in clicks not aligning with your cursor, open the nwn.ini file and enable Hardware Mouse to fix this issue.
  • We urge players to submit bugs they encounter on our bug-tracking site. The better repro steps and more detail you can provide in your bug report (especially about Multiplayer bugs), the better chances to fix the appropriate bug will be.
  • We plan to add the remaining official translations of Neverwinter Nights into NWN:EE. The best way to get a translation of NWN:EE into a new language is to volunteer as a translator here!

Excited for what’s next? Come and join the next livestream next Friday!

Thursday, June 7, 2018

Siege of Dragonspear 2.5 Update

The 2.5 update for Siege of Dragonspear is coming to an Android device near you! 

This update focuses on bug fixes and ensuring that player characters can be imported and exported properly for the other Baldur's Gate titles. 

The 2.5 update will first be available on Google Play and will be rolled out to Steam, GoG, Beamdog, App Store, and Mac App store in the weeks ahead. Watch out for future updates on Twitter, Facebook, and in our forum.

Bug Fixes

[Android] Back button should consistently behave as Google expects it to (36232)
[Android] Game should not crash when singing or humming at the menhirs with less than 16 CHR (36716)
[Android] Imoen Assassination Cutscene should focus on Imoen (33639)
[Android] The Color Choice bar should be responsive to dragging motions (33187)
[Android] The onscreen keyboard should close when it is no longer using 'Multiplayer Chat' or 'Journal' (33728)
[Android] [iOS] Modifying character inventory should not erroneously trigger the "wizard spells have been disabled" flag (33417)
[Android] [iOS] The Wraith should be visible to all players when using the team's Mage to dispel the stone's effects in Bridgefort (35117)
[Android][iOS] Characters should not frequently clip through a door when standing between other characters and the door (35327)
[Android] [iOS] UI overlay should not disappear when identifying an item and saving the game simultaneously (34991)
[iOS] SoD should be able to import BG:EE saves (35915)
[Multiplayer] Permissions should work correctly for the 'Character Arbitration' menu (33895)
Opening container in inventory should not cause game to crash (35868)
Importing a Cleric/Fallen Ranger should not mislabel them as Fallen Cleric/Fallen Ranger (37162)
Multi-class characters should not use the bio of their first-listed class. (36286)
Spell Immunity should show schools when used in a Contingency (36129)
6th party member should not get stuck when leaving Bridgefort (35867)
Enemy AI shouldn't cast spells when panicked (35430)
Character wearing Dragonscale Armor should not get killed by Cloudkill (35091)
You should not be able to leave the Dual Class proficiency screen until proficiency points are all spent (33766)
Listed area of effect for items and spells should be correct (31851)
M'Khiin should not repeat her dialogue about hidden goblin treasure if spoken to again (36009)
Elven Chain Mail should have the correct unidentified name (35784)
Throwing Axe +1 should have portrait icon when used in combat (35743)
Legacy of Bhaal mode should not result in more than one interrupt per rest (35670)

Friday, June 1, 2018

Neverwinter Nights: Darkness Over Daggerford Is Now Available!

Beamdog and Ossian Studios are excited to announce the award winning premium module Darkness over Daggerford has been enhanced for Neverwinter Nights: Enhanced Edition! 

This expansion-size adventure has 25+ hours of story-rich gameplay, 12 new music tracks, 12 new character portraits, new voice over, and nearly 500 gameplay improvements over the original!

Neverwinter Nights: Darkness over Daggerford is now available on Steam for $9.99 USD and will be coming soon to and other stores. 

Find the complete change log from the original Darkness over Daggerford release here.

“Back in August of 2006, when we released Darkness over Daggerford for free to the Neverwinter community, it was with a certain level of bittersweet satisfaction. We had managed to create a great 25+ hour premium module for BioWare with a classic-style D&D story that took inspiration from the Baldur’s Gate games, including world map exploration, beautiful areas, colourful characters, and an abundance of very original and intriguing sidequests. We took great pride in what we’d created, but when the premium mod program unexpectedly cancelled, Daggerford was never able to achieve the official game status it was intended to have. 

Fortunately, over a decade later, Beamdog offered us the opportunity to release an enhanced version of Darkness over Daggerford as an official Neverwinter premium module. This remastered game has all we had aspired to have for an official Neverwinter Nights product, including new art and audio, and most importantly it incorporates a huge amount of improvements and fixes based on fan feedback and critiques of the original. We really are thrilled to release this definitive version of Darkness over Daggerford and hope fans enjoy playing it!” 

 Alan Miranda, CEO of Ossian Studios

Visit Darkness over Daggerford on Steam to find out more.


Neverwinter Nights: Enhanced Edition Patch 1.75 Is Here!

The first major Neverwinter Nights: Enhanced Edition patch is coming to Steam and Beamdog. It's been a long road to 1.75 as NWN:EE fans on our Development branch know, but its finally time to release this mighty patch everywhere Neverwinter Nights: Enhanced Edition is available!

Server Changes

* The player cap for a single server has been increased to 255 (from 96).(Hint: You can still reserve DM slots by setting a lower limit.)
* Increased the maximum player name length from 32 characters to 127.

* NWScript: Fixed a crash in GetAreaSize() when it was called with the module as the area.
* We added some basic protection against packet flooding that was seen recently.
* Player name checks are now case-insensitive for purposes of locking names to public keys.
* Translations/LocStrings: We’ve made it so that when looking up translated strings (for example, in object descriptions), we first consider the opposite gender before falling back to english.
* Networking: We fixed some issues with masterserver DNS resolving that would, in rare circumstances, drop servers from the master list.
* The Whirlwind attack feat has been fixed.
* We fixed an issue with some creatures not spawning lootable corpses.
* We fixed the following script events for player characters: OnDamaged, OnSpellCastAt, OnMeleeAttacked, OnPerception, and OnCombatRoundEnd.
* We fixed a crash where ActionTakeItem would fail to deposit an item in a full inventory.
* We fixed the server time getting stuck if the module had many areas.
* We fixed a very rare crash when removing many areas via DestroyArea() in one script.
* We fixed SetTransitionTarget() not propagating to clients in all cases.
* Doors can now once again initiate conversations with players (via nw_g0_conversat).
* Also, the game engine does not assign this script to doors, placeables and creatures with no script set anymore, instead just defaulting to it as a temporary override.

Client Changes

* The race selection UI in character generation is now a list (instead of pre-defined buttons) just like class selection.
* Races can now have an icon; defined in the new “Icon” column in racialtypes.2da. This is up to custom content, as we do not currently ship icons for the builtin races.
* New dynamic contrast shader by Søren Møller (Zarathustra217).
* New SSAO shader by Søren Møller (Zarathustra217).
* New Depth Of Field shader by Søren Møller (Zarathustra217).
* Materials: .mtr files can now specify “renderhint”; mesh-specific definitions overrides this.
* Materials: Meshes don’t require a texture if a .mtr was set.
* Materials: In the mesh definition, “bitmap”/”texture0” can be used to define the material instead of “materialname”.
* The Chat Log and Combat Log UI now remember their size between play sessions (in the .ini); they also remember split mode/combined mode.
* UI: All-metallic colours are now animated in the character creation colour picker UI.
* NWN:EE can now accept cyrillic key input again; and display as well, if a suitable (community-made) font override is provided. This is a stopgap measure to support our russian friends while we work on proper UTF-8 support.
* Linux Fullscreen Mode is now properly supported.

* SDL has been updated.
* A crash when joining a server with haks was fixed.
* The multiplayer server browser UI has been fixed to work properly on 1080x2.
* The multiplayer server browser now default-sorts by player count, descending.
* Steam Workshop now logs to the player log for activity (like progress).
* Movie playback on case-sensitive file systems (Linux) and languages with mismatching case movie files has been fixed.
* Garbled sound issues have been fixed.
* We fixed stopping/resuming audio playback when a audio device is (re)connected.
* UI: We fixed the flickering text on loading screens.
* Saving and loading ShadowGuard premium module savegames has been fixed.
* UI: We fixed Escape not working on some main menu panels.
* Renderer: We fixed rendering animated meshes without animations as static (for example, seen as disappearing water on tno01_v20_02).
* Death Attack now shows properly in feat messages in the combat log.
* Incorrectly rendered armour part colours in character generation have been fixed.
* We added a workaround for an issue where servers would get confused by multiple clients behind NAT on on the same port.
* Crash handlers have been improved to address issues with people not seeing the crash message, or not finding the right files to attach to a report.
* We’re now applying FBOs (full-screen post processing effects) in a predefined order to avoid visual corruption when un/checking them in the UI.
* We fixed the Connect button on the Server Details pane not working properly.
* We also fixed the Previous/Next buttons not greying out the Connect button as required.
* HAK and TLK preloading is now checked immediately upon connection; not after character creation. This fixes an issue where players would attempt to join a server with missing haks, only to be kicked after character creation.
* The polish high-res font has been amended to include all needed special characters.
* We fixed a crash in the 2D sound system.
* We fixed an issue in the 3D sound system that would sometimes stutter or hang the game.
* A client crash that would happen when the server sent a visual effect while the client was on a loading screen was addressed.
* A client crash that would happen when the server sent a invalid placeable update was fixed.
* We fixed inventory PLT icons sometimes displaying the wrong colours.
* We addressed some issues with the builtin texture cache sometimes returning the wrong or no image, resulting in visual corruption on layered textures.
* We fixed a crash issue with saving games when the thumbnail could not be generated.
* We fixed the game crashing while exiting a module/game with a floating popup bubble active.

Content Creation Changes

* Object Visual Transformations: You can now scale, translate, rotate the following game objects: Creatures (including players), Items (including held/wielded), Placeables (dynamic only), Doors. You can also adjust the animation speed independently from object scale. This transformation is visual only and has no effect on walkmesh or personal space. (See Scripting Commands below.)
* Materials: We’ve added script calls that allow overriding shader uniforms on materials.
* Double quotes (“) can now be escaped in nwscript (\”).
* The toolset can now open unpacked modules: You need to have it unpacked in a directory the same name as the .mod file (without the .mod extension).
* Toolset: You can now move objects along the Z axis by holding down the Alt key and moving the mouse.
* We added the livestream contest winner portrait (po_exornova).

* A crash in the script compiler has been fixed when many includes were nested.
* Utils: We’ve re-added nwhak.exe and gffeditor.exe to the torrent. nwhak.exe now understands all new res types (like .mtr).
* An issue where custom content tiles could not be laid down in the toolset (notably, Seasonal Forest) was fixed.
* We fixed “Stereo WAV in 3D Positional Sound” popping up erroneously in the toolset.
* We fixed the toolset not displaying spells or feats on character sheets.
* We fixed "sqrt DOMAIN error" showing up on binary models without valid tangent data.

New Scripting Commands

int OBJECT_VISUAL_TRANSFORM_SCALE                        = 10;
int OBJECT_VISUAL_TRANSFORM_ROTATE_X                     = 21;
int OBJECT_VISUAL_TRANSFORM_ROTATE_Y                     = 22;
int OBJECT_VISUAL_TRANSFORM_ROTATE_Z                     = 23;
int OBJECT_VISUAL_TRANSFORM_TRANSLATE_X                  = 31;
int OBJECT_VISUAL_TRANSFORM_TRANSLATE_Y                  = 32;
int OBJECT_VISUAL_TRANSFORM_TRANSLATE_Z                  = 33;

// Gets a visual transform on the given object.
// - oObject can be any valid Creature, Placeable, Item or Door.
// - nTransform is one of OBJECT_VISUAL_TRANSFORM_*
// Returns the current (or default) value.
float GetObjectVisualTransform(object oObject, int nTransform);

// Sets a visual transform on the given object.
// - oObject can be any valid Creature, Placeable, Item or Door.
// - nTransform is one of OBJECT_VISUAL_TRANSFORM_*
// - fValue depends on the transformation to apply.
// Returns the old/previous value.
float SetObjectVisualTransform(object oObject, int nTransform, float fValue);

// Sets an integer material shader uniform override.
// - sMaterial needs to be a material on that object.
// - sParam needs to be a valid shader parameter already defined on the material.
void SetMaterialShaderUniformInt(object oObject, string sMaterial, string sParam, int nValue);

// Sets a vec4 material shader uniform override.
// - sMaterial needs to be a material on that object.
// - sParam needs to be a valid shader parameter already defined on the material.
// - You can specify a single float value to set just a float, instead of a vec4.
void SetMaterialShaderUniformVec4(object oObject, string sMaterial, string sParam, float fValue1, float fValue2 = 0.0, float fValue3 = 0.0, float fValue4 = 0.0);

// Resets material shader parameters on the given object:
// - Supply a material to only reset shader uniforms for meshes with that material.
// - Supply a parameter to only reset shader uniforms of that name.
// - Supply both to only reset shader uniforms of that name on meshes with that material.
void ResetMaterialShaderUniforms(object oObject, string sMaterial = "", string sParam = "");