The BEAMBLOG

Thursday, January 18, 2018

NWN:EE Head Start Patch Notes v74.8155



This week’s Neverwinter Nights: Enhanced Edition patch focuses on more bug fixes as we work towards some of the larger features mentioned on previous livestreams.

Head Start players, keep voting, suggesting, and discussing the Neverwinter Nights: Enhanced Edition features and fixes you’d like to see in the future. The feedback you’ve all shared has been instrumental in bringing NWN:EE this far. There’s a long road ahead to the release (and so much more beyond that) of Neverwinter Nights: Enhanced Edition, but with the community along for the ride, we’re confident this is going to be the best version of NWN ever!

Head on over to the Trello Input and Roadmap boards to see community suggestions make their way (ever so slowly) to becoming features and fixes!

Don’t forget to tune into the Beamdog livestreams every Friday at 10am PST! Every week is another chance to get the latest news, ask questions, and win prizes!


v74.8155 Fixes
  • Fixed a rare case where custom content with empty scripts in the caching list would trigger a nullptr dereference.
  • Fixed three more memleaks in ResMan, in Party Object handling, and in mouse cursor loading respectively.
  • Fixed a client crash on game exit related to the ingame messages UI.
  • A serious issue with shadow edges generation has been fixed. Complex custom models, like some Project Q creatures, would show visual corruption. In 1.69, this resulted in writing to invalid memory and likely triggered random client crashes.
Regression Fixes
  • TXI command rotatetexture was not handled properly in the new shaders; as a result, some models had misaligned textures (cf. city interior carpets). This is now fixed.
  • SetName used to crash when multiple players were online. It doesn’t anymore.
  • We missed sending updated area names to load screens and the DM chooser list.

Friday, January 12, 2018

January 12 Livestream Recap

“You gonna love something bones to bone to make something very cool” ~ Trent Oster
Beamdog CEO Trent Oster and Studio Director Phillip Daigle kicked off 2018 sharing the latest Neverwinter Nights: Enhanced Edition news, updates to the NWN:EE Roadmap board, and answered all kinds of questions from the community. They also spoke about the the 2.5 patch for the Infinity Engine games and hinted at announcing unannounced internal projects in 2018.

Missed the stream? It's on YouTube and Twitch!

Here's a quick summary of the highlights from today’s livestream:


  • Neverwinter Nights: Enhanced Edition Head Start is available now. The new v74.8154 build focuses on bug fixes, but also contains new features and new script commands. See the full patch notes here.
  • The team has been busy adding and organizing community recommendations on the Neverwinter Nights: Enhanced Edition Trello boards. Watch the NWN:EE Roadmap board and the NWN:EE Input board for all the latest development news.
  • There’s no third separate Trello board for bug fixes, but we always format each patch notes on our blog. You can also see them in the “Shipped with” categories of the Roadmap board.
  • One of the things that moved from the Input board to the Roadmap board this week is the card for updating the player character models. More than 160 people voted for this feature and we’re investigating the request.
  • The most interesting is the “Active” category of the Roadmap board. Cards in this category are features that are currently in development. You can see such items as New Master Server Integration, Add Steam Workshop support, Multiplayer Tunneling (NAT hole punching), Steam Friends List and Add new tileset there.
  • The card for New “Build Hak” function using only module utilized assets is now in the “Icebox” category, which means we’re looking into it, but not immediately.
  • The request to resize characters (scaling) has turned out to be a bigger task than we had actually anticipated, so it’s still in development.


Game development reflects on rolling your face at the brick wall. Eventually, the wall breaks” ~ Trent Oster

  • Regarding restoring the cut content in original Neverwinter Nights, - we can look at it on the case by case basis. Adding new content is more appealing to us, though.
  • To those voting for the “Director’s Cut” version of the original Neverwinter Nights campaign, - be very cautious for what you’re asking for. Trent’s vision for it has an emphasis on “Cut”.
  • Regarding requests for new classes in NWN:EE, - we’re more receptive for this type of feature, as it’s about add something new. In the same time, we’re also interested in making modders and module creators able to design new classes, such as Eye of Gruumsh and Shoe Disciple.
  • We are not going to introduce a ton of balance changes to Neverwinter Nights: Enhanced Edition. If something is a bug, it’ll be fixed, but if it’s a decision made by the original game designers - we’ll leave it.
  • We’re waiting on the investigation on the UI rework options: one option is to make the existing UI fully moddable, and another option is to rework the UI from scratch and provide a mod support.
  • The UI scaling is going to be improved - a lot of changes and improvements are expected. Stuff will come, but not overnight. The UI of NWN:EE needs love and in the same time it needs a kick in the ass.
  • If you want to get involved and help and guide what improvements Neverwinter Nights: Enhanced Edition should get – grab the Head Start and share your input on the forums. Then during triage meetings we’ll look at the Input board, see what features are top of the voting list and might decide to move them to the Roadmap board.
Trent’s favourite class is the Barbarian, while Phillip prefers the Blackguard.

  • Thanks a lot to everyone who participated in the 2.5 update open beta for Baldur’s Gate: Enhanced Edition, Baldur’s Gate II: Enhanced Edition and Icewind Dale: Enhanced Edition and shared feedback.
  • As soon as the 2.5 patch finishes the beta stage, it will be available across all stores and platforms, including the Mac App Store. We thank every Mac App Store customer for being patient.
  • There’s no news about localizations for Siege of Dragonspear, but it may be something we’ll address in 2018. More news on development of Siege of Dragonspear for tablets soon.

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

NWN:EE Head Start Patch Notes v74.8154



Attention Head Start players! Neverwinter Nights: Enhanced Edition patch 8154 is ready to download in the Beamdog Client! Today’s patch focuses mainly on bug & memory leak fixes, but also sets a few things up for the future.

If you’ve been watching the NWN:EE Trello boards, we’re sure you’ve noticed the team’s been busy adding and organizing community recommendations suggested through the Beamdog forums.


If you’re not watching the NWN:EE Trello boards, what are you waiting for? Check out the Roadmap Board and the Input Board to see what the team is working towards!

Bug Fixes
  • Servers will not crash anymore when applying damage to a caster will trigger a Concentration check, but the originating player has left the server.
  • Servers will not read invalid memory anymore in OnApplyTrueSeeing if no blindness effects were present.
  • Servers will now update internal effect pointer housekeeping properly on Effect Removal. This fixes a rare case where a movement speed penalty would not go away after removing an ability penalty (and maybe others too).
  • A dozen memory leaks have been addressed.
Regression Fixes
  • Server will not crash anymore when you queue up a player character export and then the player leaves before the export runs.
  • Area instancing: Player- and DM-clients are now kept in sync properly about new/deleted areas (no more empty names).
  • Area instancing: Server will not crash anymore when areas are added/removed and internal exploration bitmap array goes out of sync.
  • Familiar/DM-possession: Server will not write to bordering memory anymore on unpossess when areas are added/removed and the player is in someone else’s body.
  • Area instancing: CopyArea should now copy all objects into the new area properly 
  • Area instancing: CopyArea will not create duplicate object IDs, sowing confusion.
  • Direct Connect UI Panel: We broke it in 8153, and now we fixed it again. 
Features
  • [VM] SetDescription(..): Limit bumped to 128KB. (Was: 8KB). Although we increased the size limit, we recommend keeping this as small as possible as this is sent to clients on each view.
  • [C++/Low-Level]: NWNXEntryPoint for Windows and macOS has been exported, paving the way to support it on those platforms. GetBuildNumber has been exported too, which will allow nwnx to fail gracefully on version mismatch, instead of catching fire.
New Script Commands
These new scripting commands allow more options for player minimap management. They go hand in hand with area instancing, as they will allow save/load of exploration states on a per-player-and-area basis (with some scripting).

// Sets if the given creature has explored tile at x, y of the given area.
// Note that creature needs to be a player- or player-possessed creature.
//
// Return values:
//  -1: Area or creature invalid.
//   0: Tile was not explored before setting newState.
//   1: Tile was explored before setting newState.
int SetTileExplored(object creature, object area, int x, int y, int newState);

// Returns whether the given tile at x, y, for the given creature in the stated area is visible on
// the map.
// Note that creature needs to be a player- or player-possessed creature.
//
// Return values:
//  -1: Area or creature invalid.
//   0: Tile is not explored yet.
//   1: Tile is explored.
int GetTileExplored(object creature, object area, int x, int y);

// Sets the creature to auto-explore the map as it walks around.
// Valid arguments: TRUE and FALSE.
// Does nothing for non-creatures.
// Returns the previous state (or -1 if non-creature).
int SetCreatureExploresMinimap(object creature, int newState);

// Returns TRUE if the creature is set to auto-explore the map as it walks around (on by default).
// Returns FALSE if creature is not actually a creature.
int GetCreatureExploresMinimap(object creature);

Tuesday, January 9, 2018

2018 - The Year of the (Beam)Dog


2018 is here and the Beamdog team is back in full swing!


The 2.5 update beta wraps up today. We’ve had lots of amazing feedback from players about the features & fixes added, multiplayer stability, and what players would like to see in future patches.


What’s next for the update? The team is currently going over all the feedback players have given in the Beamdog forums, Google Play, and through the 2.5 update beta survey. Developers are hard at work fixing issues found by the community and adding more fixes to what will become the 2.5 update final release. We’ll have more to share timeline-wise as we get closer to release.


In the interest of making sure all our 2.5 update beta players savegames remain compatible, we’re keeping the beta branch open until the full patch release. Until 2.5 is released, you will have access to the beta. When 2.5 is released, Siege of Dragonspear will also see an update.

If you haven't already filled out the 2.5 update survey, this is a good time to do so! We'll be closing off the form next week, so if you're hungry for that Beamdog forum 2.5 beta badge, let us know about your experience here.




Our weekly Twitch livestream starts back up this Friday! Join Beamdog CEO Trent Oster and Studio Director Phil Daigle to find out about the next Neverwinter Nights: Enhanced Edition Head Start update and the latest Infinity Engine news. We’ll be giving away t-shirts and possibly a key or three, so join us at 10am PST, Friday!


If you missed out on all the holiday sales, now’s your chance to remedy that. All our Enhanced Edition games, soundtracks, & DLC are on sale at GOG. Baldur’s Gate: Enhanced Edition & Baldur’s Gate II: Enhanced Edition are both 75% off!


And don’t forget to tune into this year’s Awesome Games Done Quick on Saturday the 13th! They’ll be speedrunning Baldur’s Gate II: Enhanced Edition around 10am!


2018’s going to be a great year and we’re glad to have you all along for the ride.

Thursday, December 28, 2017

Six Siders & Space Hamsters

James Ohlen and Cameron Tofer talk about the pen-and-paper game that saw the birth of Minsc and Boo.

This article was originally published in Issue 2 of the Familiar.

The original Baldur's Gate companions have risen to iconic status among classic CRPG fans over the last nineteen years. The inspiration for many of these beloved companions, including Minsc, Edwin, and Xan, came from a pen-and-paper campaign that began around 1993. James Ohlen of BioWare was the DM, and the roster of players includes current giants in the RPG industry.


“I was looking to start a Forgotten Realms campaign and expand the number of players in my group,” Ohlen recalls, “so I advertised at the public library and local gaming stores. The response I got was much bigger than I expected.”

Cameron Tofer joined the group a few months after the game began. His character? A fierce ranger named Minsc.


“I was playing a lot of Civilization at the time and I played the Russians, and so Minsc was named after the city,” Cameron Tofer, Beamdog co-founder, explains. “He was based off some horrible rolls - his Intelligence, I just fumbled that. And because I joined late I was a couple of levels behind everyone.”


It was this level disparity that inspired one of the most adored animal companions of all time. “[Minsc] was knocked out in the first round of pretty much every fight,” Tofer says. “When I finally levelled up enough to get a companion, that's how I got Boo.”

According to Tofer, Boo was the only character he could play because Minsc was always knocked out.

Ross Gardner played Jon Icarus, the character who later inspired Baldur's Gate II villain Joneleth Irenicus. “I changed [the name] because of its connection with Greek mythology,” says Ohlen. Jeff Veitenheimer played a ranger named Sarevok, who not only became the villain of Baldur's Gate, but was also Minsc's big brother.




“[Sarevok] had a vorpal sword and was really badass. Everything was 'Sarevok this' and 'Sarevok that',” says Tofer.


Sean Carriere played Edwin, a wizard, and Dean Anderson played Bodi, Jon Icarus's sister. Ben Smedstad played Xan. “Ben was literally Xan,” Tofer recalls.


“A lot of lifelong friends came from the people I met in the Forgotten Realms campaign,” Ohlen says. “Some of those friends have gone on to found their own video game companies or take on senior roles at some of the biggest video game companies in the world.”


Though the characters would later go on to fill the ranks of Baldur's Gate companions, the game Ohlen ran didn't inspire the storyline for the game. Ohlen had ample experience crafting and DMing adventures. “I ran [a Forgotten Realms campaign] in my teenage years and at one point I was Dungeon Mastering three separate groups at the public library in Grande Prairie,” he says. “The campaign spanned many years, thousands of hours of Dungeon Mastering, and more than 30 different players.” The campaign that saw the rise of Minsc lasted for many years, until around 1999.


In that time, there were some constants in the adventures the party faced. “Every campaign we started, we'd be naked in a jail cell,” says Tofer. “[Ohlen would say], 'Ok, you wake up. Naked. In a jail cell.' 'OH NO, NOT AGAIN! EVERY TIME!'”


“Cam is over exaggerating a little,” adds Ohlen. “I did use the prisoner trope quite a bit, but not all the time. The reason I used it so often probably stems from the fact that the D&D published adventure Scourge of the Slave Lords is one of my favorites of all time.”


Shades of the Baldur's Gate II opening scene, with the player character locked in Irenicus's dungeon? “[The trope] did probably influence Baldur's Gate II,” Ohlen says.


“Oh yeah,” adds Tofer. “It's a classic.”


Minsc developed over the course of the game, though his history in the pen-and-paper campaign is not the same as the character's in the video game. “Eventually when we started leveling up, Minsc was pretty badass,” Tofer recalls. And on the character sheet, Minsc is listed as having a sister. “Yeah, but she came in late, she didn't really play a role,” says Tofer. “It was just Minsc lying unconscious and Boo running around doing everything.”


Minsc and Boo had “some kind of mental link” says Tofer, which made it easier to play the hamster. Perhaps Boo is the one influencing Minsc in Baldur's Gate.


Luckily for us, Tofer saved many of the character sheets from the original campaign.

Behold Minsc's original character sheet, over 20 years old and full of detail about the original butt-kicking ranger.


Stay tuned, we’re excited to share more materials from the Familiar in upcoming weeks! Share your impressions on Facebook, Twitter, and in our forums and tell us about your experience with pen-and-paper adventures.