The NEARGA team shared their experience of developing VoidTrain, an indie open-world adventure with action and survival elements where the players will travel on their personal interdimensional train.
In case you missed it
You might find these articles interesting
Hello, we are NEARGA, the developers of DESOLATE and VoidTrain. Right now, we have 15 people on the team, all working remotely.
For a long time, we'd been studying – creating non-commercial tech-demos and learning Epic Games tools through them (starting way back from UDK), developing a pipeline, getting used to each other.
A screenshot from our canceled project Fentinor: Legends made in 2012 (at that time we had a different team name, PixelMate):
Somewhere around 2016, one of our demos turned into a commercial game, and today it is known as DESOLATE, our first serious project released about a year ago.
A screenshot from OWSP tech-demo (2015) that would later be called DESOLATE:
And since 2019, we have been making VoidTrain. We plan to release it in Early Access in 2021.
While VoidTrain isn’t a story-driven game, it has all its components: a background history, lore, and a narrative storyline that will lead the player to the so-called "goal". Though it should be mentioned that reaching this goal doesn’t end the game.
We are building the whole game, including narration, around one word – Adventure. Think of Indiana Jones movies where the hero meets bad guys and fights them by all possible means, often ridiculous and absurd, – or doesn't fight them at all and runs away not to get beaten up.
In our vision, VoidTrain is like Indiana Jones but about soviet engineer machinists who found a hidden laboratory while clearing debris on the territory of the former Königsberg after World War II. The notes they found there reveal the terrible truth - before the city was occupied by the Red Army, there were lots of scientific labs underground where captured scientists (among them the author of the notes) worked for the Nazis. He warns us about some great danger and asks for help because the Nazis found a secret passage to another world – the Void – where they can find ancient artifacts and deadly weapons, empowering them to turn back time and change the outcome of the war.
What did our heroes do? Of course, they activate the portal and enter another world.
Very briefly, this is what our game is about.
One of the first VoidTrain concepts:
Game Development in UE4
Since in our career as game developers, we primarily worked with Epic Games tools and we know how to work with Unreal Engine quite well, we chose it for VoidTrain without hesitation. Though there is still much to be learned, it has all the pivotal features we need, works smoothly with our workflow, and meets the requirements and the scope of the project.
To explain its advantages in detail, we'll discuss a few examples:
Using basic instruments in UE4 only, artists can focus on the creation process, and that’s the most important thing. Perhaps, the most powerful feature of Unreal is its very convenient and intuitive Material Editor. You can create a 3D model starting from just an idea and taking it all the way through to the polished final result, without attracting a bunch of specialists. Of course, you need to have some technical knowledge for that, but it is much easier and quicker to learn UE4 tools than hire more people to do the job.
First of all, we find UE4 comfortable to work in, all its tools are tailored to the needs of artists. You can drag’n'drop and easily move the objects and cameras around, most of the tools are intuitive and user-friendly, you can assign a keyboard shortcut to nearly any action. As a result, the workflow feels like playing the piano with as you don’t need to use the mouse often.
In addition to that, the level production becomes much easier if you use Blueprints together with Construction Script. They give you freedom and flexibility in adjusting lighting, blocking out buildings, and creating chunks of locations. There is no need to assemble levels from scratch, just drag’n’drop a previously created part from the Content Browser and add necessary details.
As for the latest tools in Unreal, there is one we found extremely useful – Editor Utility Widget. Let’s say we need to distribute loot across a few locations. The loot spawns randomly near special actors that are connected to the main controller. Having tens of the spawn points in the game, we could have spent hundreds of hours adjusting them manually. Editor Utility Widget allows us to set up a simple blueprint that finds all the loot in the scene with one click and automatically connects it to the main controller, that's it. As a result, the level designers saved time, the programmers didn’t have to add more code to the controller, and the spawning will not be calculated at runtime, eating valuable resources.
After a small fix, the widget can now show how much loot is in the location. It didn’t take us much time to add this feature and it greatly facilitates the work of game designers.
One more thing that we can adjust with Editor Utility Widget is the navigation system in the Void. We created a blueprint that shows the route between the places the player can attach a grappling hook to. The route is calculated in real-time according to the nearest object collisions. This allows us to see where the player can pass.
One of our latest features that have improved the workflow is a Cluster Plants Distribution System. It allows positioning plant blueprints that we created earlier and later replace them with the foliage instances with the help of Editor Utility Widget. It accelerates the process of assembling the level without quality loss.
Blueprints allow us to quickly assemble prototypes to check gameplay features and mechanics without brining in programmers. What's more, simple prototypes and systems can be created without a single line of code, with a few basic tools only.
Visual effects play a very important role in VoidTrain. They breathe life into the game’s atmosphere and mechanics. We can both work with simple single effects like magic impacts and complicated multi-level frameworks.
As these frameworks require a lot of time and effort to create, it may seem that not every indie studio can afford it. However, most of the needed tools are already integrated into UE4 (see the list below), enabling even small teams to make visual effects, both basic and advanced.
Material Editor - with this tool you can create outstanding dynamic shaders for your games by simply connecting nodes together. No code needed, only math.
Lighting System - UE4 has a few types of light sources with a bunch of settings, including RTX support. They are a must-have when creating ambient and specific visual effects.
Niagara VFX System - a very flexible particle system limited only by your imagination and patience. With it, you can create the most incredible and massive effects.
Blueprints Visual Scripting - a node-based scripting system with quite a low entry barrier and zero knowledge in C++ needed. With Blueprints, you can connect all the tools mentioned above and create any visual effects and their behavior you have in mind.
Unreal Audio Engine contains all the necessary tools you need for sound design: equalizer, reverberator, pitch-shifter, sequencer, etc.
Every single parameter has a very wide range of settings, so you may get a very different outcome from the same sample, modifying it with random pitch-shifting effects. If that’s not enough for your needs, UE4 supports lots of additional plugins. Sound Designers will mainly work with Cue, a node-based editor, very similar to the Blueprints. Thanks to its user-friendly interface, mixing and editing samples becomes intuitive.
For VoidTrain, we additionally use FMOD.
We wanted to create an adventure as bright and memorable as that of Indiana Jones but in a very different setting and so the game world was designed according to this idea. Where does the story happen? How do events unfold? Who and what surrounds the player? In the process of thinking these things through, we came up with the Void, the wold between worlds inhabited by fantastic creatures. This setting gave us creative freedom in environment design. We fell in love with the idea to explore otherworldly Scandinavian landscapes while traveling on your own train and fighting against the Nazis and hostile environmental conditions.
Very early drafts of the Void:
Most of the locations in the Void have zero gravity, so the creatures basically "swim" in the space. Naturally, they inherit some features from fish and sea creatures. However, fins would have looked odd since there is no water around, so the design of each creature turns into a very creative process.
When it came to the art style, we took what we had from the previous project and worked from there. Being a small team, we have to balance between speed and detalization and quickly create a large amount of content that will stay relevant until the end of the development process. As a result, we got rid of small details and paid more attention to the shapes and surfaces. This stylization nicely fits the overall idea of the project.
When working on the Void, we also draw inspiration from the level design in God of War, Dishonored, and World of Warcraft.
We created a lot of game mechanics and all of them contribute to the unique experience the player will have when playing VoidTrain.
In fact, the game is repeating itself at some point - you travel from depot to depot, from one world to another. However, these places can be different both visually and in terms of gameplay. A special event generator automatically modifies the game's features, building your adventure between the depots depending on your skills. So, explore the world, collect resources, upgrade the train, and be prepared that the world can drastically change right after the next depot.
The game monitors your progression and the more you learn, the more difficult challenges it gives you. This affects not only the quantity of the obstacles but their depth and difficulty too. It could be a minefield with magnetic devices or mines that are triggered by the speed of your train or you can be suddenly boarded by the Nazis.
You might break through obstacles on your way or never meet any. One day you’ll stumble upon an island, but will you have the means to fight your way through to its heart to seize the precious loot? Should you be lucky enough, you will come across a special kind of island where you will solve puzzles to earn valuable items. Here, you can even be rewarded with a prophecy that allows you to change the rules of the world you enter at the next depot.
You can either use ready-made weapons or assemble your own from modules you find along the way, getting pretty surprising results sometimes. By the way, that is why the only weapon type you will meet in the game is a simple pistol. Having collected enough modules, you can assemble whatever you want, from a shotgun with igniting shells or a rifle that can be easily modified into a sniper one with a high rate of fire. There are a lot of variations. This weapon system is still in development, but even now, long before Early Access, we do our best to make it detailed and interesting.
And there are of course common sandbox game mechanics such as building, crafting, resource management, etc.
The player starts from a rail handcar and can gradually upgrade it into a full train. There are two types of upgrades: global changes that you do at depots, and local improvements like adding workbenches, floor, crates, etc. that can be done while you travel.
At depots, players can make larger changes (engine, carriages, etc.) and alter the skin of the train. The skin can combine different themes and styles. We are planning to add a few different themes such as marauder and art déco, for example. The players will be able to customize the train to their taste and mood.
The skins consist of modules. We start the creation from a concept, then a 3D artist creates a draft with primitive shapes playing with the scale and size of each element. At this stage, it is very important to fit the skin to the size of the platform and adjust the driver’s cab with a suitable engine in mind.
A concept of a skin theme that might be added in the future:
When everything is in place, it is time to create a 3D model. The pipeline we use is quite standard – we add details, create a high-poly, etc.
There are a few engines in the game, but they rather affect gameplay than visual graphics. For Early Access, we are planning to include three kinds of engines: handcar, steam, and diesel. Tesla will be added in Version 1.0.
In general, the game industry has developed a certain "academic standard" pipeline for level design where everything starts with assembling the level out of primitive shapes (blockout and whiteboxing stages) to get an overall picture of the general composition and gameplay. But to be fair, since we are making an open-world game, we often break some of the rules. Level design is a very creative process, and it can be quite rewarding to put together the final composition from the very start and test the level straight inside the game, looking for the places that need to be fixed for the sake of gameplay and optimization.
For more detailed locations, we can’t afford the same freedom. In this case, we first sketch the level on paper to estimate the positioning of the main geometry, enemies, places to take cover in, and paths to them. Then we decide how to bring this concept into life, what key objects to put there to help the player navigate and read the location better. We create the level from primitives to test the gameplay, then improve and extend it.
Special attention must be paid to those places where players can encounter several enemies at once. Playtests allow us to find optimal hiding places. Potentially dangerous places like stairs and doorways where enemies can appear are highlighted with red lamps. By contrast, indoor areas are illuminated with cold blue light.
Our immediate plans are to reach Early Access in 2021 and then polish it until Version 1.0 before the deadline we set for ourselves. These goals are part of the detailed roadmaps we are going to update and share with the community after the Early Access release.
Apart from this, we're also thinking about different scenarios outside those roadmaps, like long-term support of the game and updates – the structure and concept of VoidTrain allow it. But it's too early to consider these things and for now, we prefer to focus on the nearest goals. Further development will be planed together with our partners HypeTrain Digital and Heatherglade after the release based on the results of EA and Version 1.0.