Category Archives: Barotrauma

Game Connection Europe 2018 Development Awards

Hello everyone! We’ve got some good news, Barotrauma has been nominated for Game Connection Europe 2018 Development Awards in multiple categories. If you want to help us win the People’s Choice Award please give us a like here: https://www.facebook.com/gce18devawards/posts/2157129000984072

btproj

FacebookTwitterTumblrGoogle+Share

Campaign mode improvements

I thought I’d make a little update about the changes we’ve been doing to the campaign mode (+ a few things that also affect other game modes)!

As you may have noticed, the current campaign is quite bare-bones. Personally I’m not satisfied at all with how it works: it feels like playing randomized mission rounds one after another, with the only major difference being that the changes to the submarine, items and characters are persistent. But there’s so much more we could do with it! Our main goal has been to give the player a better sense of progression, to make it feel like they’re gradually advancing through increasingly challenging areas and missions towards an ultimate end goal. We’ve also wanted to make Europa feel more like a living, breathing world that’s affected by the players actions. As to how we’re doing this, here’s some of the new and upcoming features:

New map

campaignmap

The campaign map doesn’t just look better, there’s been a few changes that should make things a lot more interesting. The map consists of 6 concentric rings, each representing a distinct biome (more about that later). Difficulty increases for each successive ring the player passes into, making sub and crew upgrades a necessity the deeper the player ventures. The end goal is to make it to the center of the map, and survive a literal and metaphorical dive into the heart of [REDACTED].

Biomes

There’s 6 distinct biomes, with different sorts of layouts, vegetation, creatures and environmental hazards. For example, the Hydrothermal Wastes are filled with sonar-disrupting sessile organisms, strong water currents and lava vents, the Great Void is a wide-open space where the player must avoid floating ice chunks and large predators, and the Europan Ridge is dense with smaller creatures, vegetation (including ones that latch onto the sub) and tunnels too narrow for the submarine to fit inside.

Note that many of the sprites in these pics are not final:

The Aphotic Plateau

The Aphotic Plateau

Lava vent

Lava vent

Europan Ridge

Europan Ridge

Water currents

Water currents

Sonar flora

Sonar flora

 

New event system

With the overhauled event system I mentioned in the previous post, we have much better control over the difficulty of a given round. Previously the monsters spawns (and the spawn positions) were essentially random, and if you were lucky, it was possible to pass a high-difficulty level without even running into a single monster. With the new system we can guarantee that you will face various challenges in each level. The way the events work now is somewhat similar to Left 4 Dead’s AI director – it can delay additional random events when you already have your hands full with an attacking sea creature or a fire, or create new challenges when everything is going smoothly. There’s still a fair amount of randomness though, so this new system doesn’t mean that you’re safe from additional monster attacks when a catastrophic breach has flooded the sub, nor that you will be bombarded with random disasters when you’ve got everything under control.

In short, now the difficulty of a given level has a much more noticeable effect on the gameplay.

Dynamic world

Initially, colonies exist only on the outer rings of the map, with research outposts, military outposts and outposts scattered around the next inner rings, and bosses, natural formations and ruins occupying the rings further in. As the player explores subsequent rings, there is a chance of new outposts being created at newly claimed locations, as well as colonies further towards the outer rings gradually transitioning into colonies. There’s also locations called “breeding frounds” which host large numbers of wildlife and boss monsters. Outposts situated next to active breeding grounds may get attacked by sea creatures, and if the player doesn’t help them deter the attack, there’s a chance that it gets overrun and turns into an uninhabited location until it’s reclaimed.

While the dynamically changing locations don’t have such a noticeable effect on the gameplay now when the locations are simply menus with possibly some hireable characters and purchasable items, it will have a much greater impact when we implement…

Explorable locations

Outposts will be actual physical locations you can dock your submarine into and enter, and uninhabited locations will be places with a higher monster count and a high chance of a boss encounter. I don’t want to say too much about this feature yet, because it has not been fully designed and unfortunately will not be included in the initial early access release on Steam, but it’s coming for sure. I think it has a huge potential for interesting random events and interactions with the world and it’s inhabitants: imagine a renegade agent sneaking into your sub while you’re purchasing supplies from the outposts, a husk outbreak in a military facility, grabbing a beer at the pub while looking for new submariners to hire, exploring a flooded section of a research outpost…

Military outpost concept art

Military outpost concept art

Mining outpost concept art

Mining outpost concept art

Habitation outpost concept art

Habitation outpost concept art

Barotrauma: status update & Steam release

Way past due to make a blog post and give a status update on what’s going on with Barotrauma!

Despite the lack of major updates (on the blog and on the game), a lot of stuff has been happening this year. Those of you who have keeping an eye on the GitHub repo may have noticed the dev branch we’ve been working on this past year. There’s quite a lot of new features and changes in the dev version, and in the coming weeks I’ll be making more blog posts about them and the things to come. But as a teaser, here’s some of the upcoming features (some already implemented):

  • Overhauled health system that’s closer to SS13’s one. Supports things like limb-specific injuries (like a broken leg that reduces movement speed), overdoses, poisons, antidotes, infections, addictions, mental health problems… And everything is highly customizable, so I’m eager to see what modders can do with this.
  • The campaign is being overhauled to give the player a better sense of progression. The levels and missions increase in difficulty as the player progresses, the world changes as new outposts are established and existing ones devastated by the sea monsters, and there’s an actual end goal instead of having the player wander around the map indefinitely. We’re also planning on making the outposts something you can actually dock your sub to and enter, not just menus with a list of characters to hire and items to buy. This is such a large feature to implement though, that at least initially the outposts will stay similar to the way they are (although with redesigned menus).
  • Improved levels. There are several distinct biomes with different sorts of environmental hazards: moving ice structures, water currents, sonar-disrupting sessile organisms, giant plants that can latch onto the sub, lava vents…
  • Improved and more easily customizable event system. The system can be used to adjust the difficulty and pacing of the rounds more accurately, for example by distributing monsters more evenly throughout the level, by creating random events when there’s nothing going on or by delaying additional monster spawns when the crew has just been hit by a disaster.
  • Visual improvements: many of the current sprites and animations will be reworked, menus redesigned, the lighting system improved and new kinds of structures added to give sub creators more to work with.
  • Better audio design and new music composed specifically for the game (along with a system that dynamically mixes the music according to the situation).
  • Steam integration: achievements, matchmaking through Steam, authenticating users based on their Steam ID (= ban evasion by changing your IP will not work anymore), downloading mods and submarines from Steam Workshop…
  • Improved crew AI and more ways to command the AI characters – playing with an AI crew doesn’t feel like babysitting suicidal crash test dummies anymore.
  • VOIP
  • In-game character and animation editor. So less tedious xml editing to create new monsters or mod the existing ones.
  • As usual, tons of optimization and bugfixes.

In other news, Baro’s development is about to switch to a higher gear: FakeFish, a game studio I’ve been working at for the past ~3 years, recently started collaborating on the development and now with the extra hands on deck on the code, art, design and audio side we should be able to progress towards the Steam release way faster. And it’s not just about getting the game ready for release faster; we’ve assembled a really solid team with over 60 years of combined gamedev experience that’s worked on over 70 titles (S.O.M.A, Cities in Motion, P·O·L·L·E·N, Ridge Racer Unbounded, Angry Birds (:D), Thief of Thieves and Iron Sky to name a few), and I’m quite confident we can take the game to a whole new level with this crew.

Regarding the Steam, something I’ve been mulling over is whether there should be an early access release or not, but now I’ve come to the conclusion that it’s the best way to go. I’m generally not a big fan of the early access model, but I feel like at this point it’d be beneficial not just for Baro’s development but also for the players. Steam and Steamworks make many things so much easier – distribution, updates, hosting servers, finding and installing mods and new subs, managing servers, client authentication… And of course getting a little bit of profit from the game is also a good thing for the development. I also think that Barotrauma is the kind of game that you could keep adding content to almost indefinitely, and if I were to wait for a point where everything I want to implement is implemented, it’d take forever before it’s “officially finished” – so I believe a good alternative is to release a good, solid and stable base game as early access and keep expanding it (and also let modders expand it with the help of Steam Workshop). And as a side note, the Steam release is going to be DRM-free, so if you feel early access is cancer, there are alternative ways to get the game, although you might not be able to use any of the Steam functionality if you get the game from an “unofficial” source.

As for the release date, we’re currently aiming for February 2019. It’s not set in stone yet and it might turn out we have to stretch it a bit, but in any case we’re starting to get close!

More in-depth posts about the new features coming up soon!

Barotrauma Source Code

Today I have some important news for the players and modders of Barotrauma. The full source code of the game is now publicly available on GitHub!

This doesn’t mean that Barotrauma is becoming an open source game in the “free and open-source software” sense. The intention is to give modders more freedom to modify and expand the game – the current xml configuration files are simply too limited for anything but the simplest of modifications. It doesn’t mean that we’re giving up working on the game either; now with the netcode update (mostly) out of the way, I’m as eager as ever to start working on new content again!

I know this is a risky move and something not many games have done, but I’m confident that it will open up whole new possibilities for the future of Barotrauma. In my opinion one of the things that made SCP – Containment Breach as successful as it is, was the openness of the development and how easy it was for the community to contribute, and I believe that going in a similar direction could be beneficial to Barotrauma as well. As with SCP-CB, people are of course welcome to contribute to the main game in addition to making mods. And I’d like to stress that I’m not expecting for the community to start doing our work for us for free. If someone ends up making substantial contributions to the development, I’m completely open to discussing some type of compensation.

So, if you’re a modder looking for more freedom than the configuration files offer or just want to take a look under the hood and see what makes Barotrauma tick, head to the following link:

Barotrauma @ Github.com

Really looking forward to seeing where this goes and what kind of stuff you’ll come up with. :)

Netcode update

As many of you may know, me and juanjp600 have been working on rewriting Barotrauma’s networking code for some time now (oh god, I just checked and it’s been 9 months, why does time have to go so fast). The old networking logic was so full of issues (trivial to hack, constant desync issues, excessive packet rate) that we had to basically redesign everything from scratch, but based on the testing sessions I’ve been hosting recently, it really seems to have paid off. Now we’ve finally got proper authoritative servers and syncing logic that actually works(!).

The rewritten netcode is by far the most important change in the latest update, but it also includes some other new stuff, including reworked UI graphics, a sonar overhaul and bunch of bugfixes. See the full changelog here.

A few words about the sonar overhaul: now there’s the option to select between passive and active modes. The passive sonar doesn’t send out pings, but instead listens to sources of sound around the sub and the sounds reflected from nearby structures. This makes it possible to get a rough idea of the surroundings without alerting monsters (or enemy subs) with the ping. The sonar displays were also given a little facelift:

sonar_ss1

On another note, I haven’t forgotten the plans regarding opening the source code to modders – more about that later this week. 😉

Steam Greenlight and a brief status update

Last week, Valve brought us some big news regarding Steam Greenlight: they’re planning on getting rid of Greenlight “in the next few months” to make way for a new system called Steam Direct. Personally I think Direct seems like a reasonable move to fight the waves of shovelware that have been pouring through Greenlight for the past few years, but it will also most likely have a major impact on small indie devs like me. Developers will be required to pay a fixed fee for each game they submit through Steam Direct, and while the fee apparently hasn’t been set in stone yet, there have been discussions of a price from $100 to as high as $5000. If they end up going with a fee at the higher end of the spectrum, it will be a major setback to Barotrauma and my meager student budget. So, I thought it might be a good idea to try and get the game greenlit while it’s still possible!

Tl;dr: Barotrauma is now on Steam Greenlight!

In other news, despite the recent lack of updates we’ve made quite a bit of progress with Barotrauma. We’ve mostly been focusing on rewriting the networking code from pretty much scratch in order to get the multiplayer smoother and less vulnerable to hackers and fix to the desync issues the game’s been experiencing since the very first versions. The netcode is starting to be in a pretty good shape: less desync, less teleporting characters, proper authoritative servers and all in all everything is much more robust. We’ve still got a few features to reimplement, some issues to iron out and a lot of testing ahead of us, but we’re not that far away from being able to release at least a test version of some sort.

A beginner’s guide to injecting mind-controlling parasites into people

Step one:

Make sure you’ve been infected with the husk parasite. The most common way to get infected is an encounter with an active husk, but some well-equipped laboratories and research facilities may also house dormant husk eggs.

 

Step two:

Once infected, you may have trouble swallowing and your throat may feel sore. It is generally not a good idea to tell your fellow crew members about these symptoms, as it would most likely lead to a medical inspection and a dose of antiparasitic drugs. As the parasite grows, you may also find it hard or impossible to speak. If so, try to stay away from other people to prevent arousing suspicion.

Step three:

When the parasite reaches maturity, it extends its ovipositor out of your throat. The feeling may be somewhat unpleasant. At this stage it is highly recommended to wear a diving mask or other headgear to hide the ovipositor from the rest of the crew.

The parasite will slowly start taking over your entire nervous system, but this process can be delayed by working together with the parasite by spreading eggs into new hosts. Just find a suitable target and gently insert the ovipositor into one of their body cavities.

Multiple subs?

The idea of a submarine-vs-submarine game mode has been popping up quite frequently and now we’re one step closer to having one:

sdfth4aewrgtrtyj

There were (and still are) tons of systems in the game that work under the assumption that there’s just one submarine, so even loading another sub into the level took a lot of rewriting. There’s still a long way to go until a fully functional submarine-vs-submarine mode, but adding some sort of small escape/attack vessels might not be that far away.

One idea I’ve been thinking of is adding a small “shuttle” that could periodically transport new or respawned players to the sub mid-round. It wouldn’t only reduce the time spent waiting for a round to end, but it could also create some interesting situations; handful of survivors trapped in a sunken sub waiting for the reinforcements to arrive, a swarm of sea creatures attacking the shuttle, a traitor taking control of the railgun while the shuttle is trying to dock…