After so many vague time frames, ever-changing ETAs and other SOON™’s, we are so happy to be able to announce our release date: Barotrauma will hit Early Access on June 5. As many on our Discord have concluded, the first half of June is still technically spring, so one might say we aren’t even late for our earlier release estimate.
Now, as we have less than a month to go until Early Access, it would mean the world to us to get all possible wishlists on board, as those will help boost our visibility upon release. So, if you haven’t added Baro to your wishlist yet, kindly do that now to nudge Valve’s algorithm in a favorable direction:
Thank you! Now, we hope you enjoy our new official feature trailer – read on after the video to see what we’ve been up to of late.
Greetings from the team
The last couple of months have been full of deadlines, changing schedules, finding out about things that come with releasing a game that we never knew about, and generally trying to find our way in a new world and figuring stuff out. We’ve not quite managed to keep you updated on all that, so we thought we’d write a bit now about some of the things that have been in the works lately.
Regalis, on localization
Something that’s been keeping us busy (and giving us a bit of extra headache) lately is localization. The Steam version has been translated into 6 languages: German, Russian, French, Brazilian Portuguese, Simplified Chinese and Traditional Chinese. I don’t have much prior experience in localization work, so many things came as a surprise when we started getting questions and translated texts from the translators.
As a heads-up to any devs who might have to delve into the world of localization at some point, and as fun(?) facts to everyone else, I thought I’d mention a couple of interesting things I’ve learned:
Grammatical genders. I don’t mean just gender pronouns like “he”/”she” or “он”/”она” – many languages assign a gender even to words like “chair” or “plasma cutter”. I did know it’s a thing, but what didn’t occur to me is that it can make it very difficult to translate texts like “[charactername] is the traitor” because the gender of the word we’re dynamically placing into the text can affect the whole sentence. Not having any sort of grammatical gender or even gender pronouns in Finnish didn’t help me catch this little detail in advance either!
German words are long. All your English texts are all laid out nicely, not overflowing the panel or button they’re supposed to fit inside? Try switching to German.
Chinese writing systems don’t tend to use spaces, and our text wrapping algorithm that splits the lines at the spaces between words didn’t like this at all. OK, well let’s just allow splitting the text after any symbol when a Chinese display language is selected? Wrong. We still have English words mixed in when using Chinese – things like “Steam”, server names, workshop item names… So it ended up being a little more complicated than that.
Rendering Chinese symbols. OK, we’ll just switch to a font that supports all the Chinese symbols and we’re good to go? Wrong. Loading all the bazillion Chinese symbols into the memory caused an enormous increase in loading times and memory usage, so we had to implement a system that can dynamically load only the symbols that are actually needed.
ItchyOwl, on AI improvements
I’ve spent a big part of this spring getting the AI up and running before the EA launch. This work has mostly been about fixing the quadrillions of existing issues and refactoring the code base ( = creating a zillion more bugs) so that it can be more easily debugged, changed, and fixed. However, there are also some new things that could even be called features, and a number of other improvements that we still plan to implement.
The human AI in Barotrauma, in a nutshell, is about objectives. Some are player-given (orders) and others are not (like just staying alive), and each has a priority value that the bots use to choose what to do. Player-given orders are normally given a higher priority than other objectives, unless the situation gets dire and the bot needs to find a safer place, for example.
Previously the bots didn’t do much on their own. This has now been changed: we added something we call “autonomous objectives”, which are defined in the job definitions. When the AI crew now notice an issue somewhere on the submarine, they not only report it, but also react to it.
Related to this, we introduced a new skill called “initiative”. The higher the skill, the more likely it is that the bot acts on its own initiative. I’m thinking there should also be something like a “persistence” skill that affects how long a bot will attempt to complete objectives in the face of danger.
Combat AI has also been improved so that the bots can now fight, either to defend themselves or to attack enemies. The security officers have a new objective called “fight intruders”, where they try to eliminate all enemies onboard. Like all the other objectives, it too can be assigned to any crew member as an order, but only security officers fight the intruders on their own initiative.
TorpedoMike, on the tutorial
The first question when we started designing a new tutorial was whether we wanted to keep it dynamic, as in a regular game session where we explained new mechanics as they came. We tested the idea in PAX and it became clear that it wasn’t the optimal way of teaching the game to new players. We found out that when they started playing, players didn’t want to be interrupted by text boxes and instructional videos.
Which is fine. When thrust into a freeform game world, a natural reaction for many is to explore and test its boundaries and learn the game at their leisure. However, in a game like Barotrauma, where every game session has a chance to end up in a compounded disaster, we need to make sure players are aware of the basics. We don’t want the players to get distracted from what they’re supposed to learn at a given moment, because they need that knowledge later when their submarine is torn to shreds and monsters are knocking on the airlock. So we needed a controlled environment where we don’t overload new players with game mechanics.
The tutorial is also the first thing many new players experience, so we wanted to keep it short and to the point. We don’t want it to detract from the core gameplay. We also wanted to make it separate and easy to come back to when needed. To make it easy to replay, we made a separate scenario for each character class where we focus on their specific duties.
Another thing we wanted to test is how well a scripted scenario would play out in Barotrauma. This might be something we’re trying out in the future, depending on how it’s received.
Chad Husk, on docking mechanics
Docking, while it may seem a little trivial, is actually a pretty big part of the game: we make the player undock the sub at the very start of every mission, and dock it at the end, with the real possibility of needing to dock and undock shuttles during the course of the mission itself. The problem there is that docking has always been… let’s just say, challenging.
With this in mind, we implemented a placeholder improved docking system a while back, and with practice and a little hand-eye coordination, a captain could get really proficient at docking with this system, with the best thing being the sense of technical accomplishment the player felt each time the sub or shuttle locked in place.
It became pretty apparent to us, though, that the placeholder was not really anywhere near as intuitive or fun as it could be, and showing the game to a thousand or so players at PAX really drove that point home. So we redesigned the docking mechanics, aiming to retain the sense of reward from successful operation, but at the same time making it a lot more approachable, understandable, less punishing, and able to handle all sorts of weird, player-generated edge cases. I’m pretty pleased with the final result!