Mar 172016

Hey guys! Just a quick update on what we’ve been up to lately.

We did a focus test where we invited various people to come to play our combat test, most of them never having played the game before. We needed to see if we’re on the right track with the real-time combat, melee vs ranged, and various other features in it. Receiving basically universal praise from the testers boosted our confidence in that we had made the right decisions. Of course, the guys also pointed out some flaws, which we quickly fixed after the test was over.


We have about half of all planned enemies in the game, fully functional, running around doing nasty things (mostly to the player). The focus test proved we already have a solid bunch of bad guys where each has different strengths and weaknesses, poses different types of threats, and requires a different approach to beat (lots of differents, eh?).


All basic building bricks like trapdoors, pushable crates, destructibles, levers, teleports, and such are done. We also have a solid design on all the puzzles and game situations, which we build out of these basic bricks.

Inventory, items, and basic RPG system are also fully functional. We have several levels designed on paper, with major puzzles, situations, and storytelling. Our custom level editor allows us to whip up all the corridors, halls, and rooms in no time, so that’s gonna be a blast!

Right now, we are:

  • Enriching our RPG system with all sorts of attributes, skills, talents, traits, and whatnot.
  • Building up GUI so you can play with all the RPG goodies with ease.
  • Adding more enemy types.
  • Adding wallsets and architectural gems.
  • Designing more levels and ways to screw the player. πŸ˜‰
  • Designing boss encounters, plus the final big boss showdown.

We don’t post often, but rest assured we use all the time to work on the game.

Discuss in our reddit or other social media, share, and have a nice one!

Nov 252015


Sorry to be quiet for so long. We’ve decided to post only about highlights or milestones rather than churning out insignificant posts often. Saved time will always come in handy! Nevertheless, we’ve been working hard on various game systems, levels, and some goodies too.

One of which is the Flamer Guardian. This badass giant of a man has few weaknesses, but a lot of firepower. As with most of our enemies, you will need to devise a tactic to beat him rather than just banging at his thick armor head on.


The Guardian is based on the concept art by Roman Mindek, who is currently working full-time on Kingdom Come: Deliverance. Check his portfolio here!

The big guy is modelled, rigged & animated by our in-house character artist Lukas Chrapek (who is also a big guy πŸ˜‰ ). Lukas is in charge of the technical side of graphics, besides his bread-and-butter work of character-modelling, rigging, and animating. He previously worked on various projects as a freelancer. Before joining the Vaporum team, he worked at Keen Software House as full-time lead artist on Space Engineers and Medieval Engineers. You can check out his portfolio here.

We have moved to PBR workflow in our project, and Lukas made a damn good use of it on the Guardian. Take a look at the Flamer Guardian in all his glory in Marmoset Viewer here.

Feel free to comment and share on our subreddit, Facebook page, and Twitter.

Aug 172015
Vaporum title concept art

Gigantic and scary, but strangely familiar

In today’s post, we’re going to have a deeper overview at what Vaporum really is, plus a recap of what you’ve might already seen.


Vaporum is an action-based dungeon crawler set in an original steampunk world. There is no party creation; you only control one character, and that character is deeply involved in a mysterious storyline. You move on a grid of squares, and everything happens in real time: exploration, puzzle-solving, combat. The game uses randomization in certain aspects to make every play-through a fresh experience. There might be some nasty surprises waiting for you in the dark corners of the complex, too. Immersion is one of the major priorities for us.

Setting and story

The game is set in a dystopian world where almost everything is controlled by a single governmental body — the Great Administration. As steam machinery is slowly being replaced by more modern diesel-powered achievements of science, something new looms over the horizon.

Our hero wakes up in the middle of a sea, weak and battered, with only a faint trail of memory. The only thing that’s plain and concrete in this sea of vapors is a megalithic tower-like structure, standing taller than clouds.

With nowhere else to go, the hero delves into the unknown…

Single character

At the game start, you do not create a party of adventurers. Instead, you control a single character. A character with a personality. Having just one character better suits Vaporum’s action-based nature, as well as his deep story involvement.

This also means that this one character must have plenty of options to choose from when striving for the optimal build.


There are no classes. You can build your character any way you want, starting up with a clean sheet. And boy, there are options to choose from!

To be precise, you don’t build your character; you rather improve your suit! As you gain fumium, the mysterious substance found in dead enemies and tubes across the complex, your suit becomes more powerful, unlocking new possibilities and bonuses for you to choose from. You often have to make an irrefutable choice between two possible upgrades which tend to contradict each other, leading to very different gameplay implications. This makes your every choice a hard and important one!

Then there are gadgets! These are items you can install into your suit which grant unique skills. You can replace gadgets with newer or even different ones, to change your play-style on the spot. Most gadgets can also be improved, again with a one-time choice between two powerful upgrades.

This fluid set of skills with the more static build of your suit make up for a rather unique system.

We think that tweaking a suit better suits the steampunk setting (pun intended πŸ˜‰ ). We will have a detailed post dedicated to this topic later on.


In terms of movement, we follow the genre-traditional scheme of grid-based movement on squares. This allows us to create puzzles and gameplay situations that would be nearly impossible in a free movement system. We chose this movement type deliberately, as we like the old-school dungeoneering vibe!


Exploring the complex, you will uncover bits of story, nasty enemies, and mind-bending puzzles to test your mettle. To battle the odds, you will find items, gadgets, and various consumables. There are optional areas you will be able to explore to gain more fumium and powerful items, at a price of difficult challenges.


As everything runs in real time, including combat, the outcome of a fight depends on both your build and personal skills. We strive for a middle ground between tactical number-crunching and pure action — you will need both!

Each enemy type has a distinct set of strengths and weaknesses, and a set of attacks and defensive mechanisms. While some enemies might be dumb, following you to any danger, some others are smart and difficult to beat.

On the other hand, we’re not overdoing the AI to be as sapient as a chimp! While some games proudly claim to have imba-smart AI, we sure aren’t going that route. We believe AI should be fun to play against, not frustrating-clever or unchallenging-dumb.


Vaporum uses randomization for placing items throughout the complex, as well as what specific items spawn. This means that you will never find the same items at the same spots on two play-throughs.

We’re also tinkering with the idea of slight map randomization where the maps are always the same, but some paths might be blocked while others open, depending on the random factor. This would also make the game a little different every time you play.


You will come across various steam, diesel, and fumium-powered machinery that usually needs a component or two to work. These present main game puzzles you must solve to progress.

We are listening!

We are listening to what you have to say! So feel free to comment, like, share, or whatever! (The part with “like and share” is an actual order!)

Here’s our reddit post for just that!

Aug 062015


Hey guys! A quick minipost!

It’s very important for us to stay connected with you during development. We’ve decided to use Reddit for this as it’s widely used and easy to use.

You can find our subreddit here:

Here we can discuss all things Vaporum, whatever interests you, questions, ideas, etc. So stop by, subscribe, and say hi πŸ˜‰

Next week, we’re going to have a bigger post with some actual meaningful stuff. πŸ™‚

Aug 032015

Hey guys! Lots of good news about our steampunk dungeon crawler Vaporum (video)!

First of all, we apologize for such a long pause since the last post. The reason is simple: we’ve been hard at work looking for funds for the full production. We’ve found a solution, and we’re very happy with how it worked out. It took some time, but it’s well worth it!

So what is Vaporum

Vaporum is a modern single-character grid-based dungeon crawler in a dark steampunk setting, inspired by genre classics such as Dungeon Master. You move and fight in real time, so apart from your skill & item builds, you will still benefit from your own mechanical skills in solving puzzles and slaying enemies.

Instead of your character, you improve your suit. As you progress, you activate various new circuits and install gadgets into the suit. Gadgets grant unique active skills, while circuits improve suit’s performance in a given category.

The game is driven by a sinister story filled with mysteries and secrets to find.

New office

Right now, we are adding pipes and steam terminals to our brand new office. No remote sessions, no Skype calls, no chat any more — all core team members are nicely together now.

Vaporum development picture

Messy beginnings

New core

Since July, we’ve resumed full-time work on Vaporum, rewriting everything from scratch, with better fleshed out design and framework, and using invaluable feedback from demo focus-tests.

BTW, we’re also using PBR materials now. Check the Welder Drone below to see what’s up.

Vaporum enemy picture

Welder Drone with shiny new PBR armor

What to expect

From here on out, we’re gonna post development updates every week or so. You can expect gifs, gameplay shots, technical posts, and all sorts of hilarity.

So stay tuned for more steampunkery, and feel free to comment on our subreddit page!

Feb 272015

To ease testing out maps — to avoid moving the player GO every time we want to start at a different part of the map — we have a player_start object. It teleports the player GO to itself on game start. However, if you could only have 1 such player_start on map, it would kinda defeat the purpose of easing the work, right?


So, we allow to have multiple such GOs in the map. But how to determine at whichΒ player_start the player should start? Well, the player_start component has a boolean for that. That’s nice, but if you set that bool on a new player_start, the last player_start that was previously active will still have the bool set to true as well; so the player will be teleported twice, and you can hardly predict where he will end up.

So first you need to set off the currently active player start and then set on the new player start. Easy, right? No, it’s annoying and there’s a better solution! Let’s change those bools on player_starts right in the editor (in edit mode) whenever we change one player start.

For this, there is a nice unity attribute: [ExecuteInEditMode]. It will call the callbacks just as it would in play mode, but only when something changes in the scene; not per frame.

using UnityEngine;
using System.Collections;

[AddComponentMenu("Vaporum Scripts/Player Start")]
public class VapPlayerStart : VapBehaviour
	[Tooltip("Tick this on to start gameplay here.")]
	public bool on = false;
	bool lastOn = false;
	void Start()
		// Execute only in play mode.
		if (Application.isPlaying)
			// First snap this GO to grid to correct any human mistakes in editing.
			// Teleport player here.
			if (on == true)
				Transform p = VapGM.playerGO.transform;
				p.position = this.transform.position;
				p.rotation = this.transform.rotation;
				// Set TileObject if we're standing on one.
				VapTileObject t = VapGM.GetTileObject(p.position);
				if (t)
	void Update()
		// In editor mode, check if 'on' was changed.
		if (Application.isEditor)
			if (on != lastOn) SetPlayerStart();
	// Sets this component as the only player start on map.
	void SetPlayerStart()
		if (on)
			VapPlayerStart[] list = FindObjectsOfType(typeof(VapPlayerStart)) as VapPlayerStart[];
			foreach (VapPlayerStart p in list)
				if (p != this)
					p.on = false;
		lastOn = on;

I was previously doing this via OnValidate() callback, but that was unreliable. This new solution works like a charm!