logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Designing a 2D Indie Action-Adventure Platformer with No Dialogue in Unreal Engine

Mykola Konzerovsky and Mykyta Rachkevich from indie studio 1stone Games talked to us about their upcoming game, Unmasked: An Inner Journey, explained in detail the level production process, and outlined the animation workflow.

Introduction

Mykola Konzerovsky:

Hi! I'm Mykola Konzerovsky, a Programmer, Designer, and Sound and Music Artist for "Unmasked: An Inner Journey". I've previously worked for Ukrainian companies BWF and Fractured Byte as a Gameplay and Tools Programmer. Among some projects that I've worked on are: the iOS port of the game "Brothers: A Tale of Two Sons", Renoir, and many other small in-studio and outsourced projects. I have also done a lot of game and code reviews for other studios, as well as teaching Unreal Engine and UE's C++ game framework to students and interns.

Mykyta Rachkevich:

Hello there! My name is Mykyta Rachkevich, and I'm a 2D Artist, Unreal Engine Level Artist, and Animator who worked on "Unmasked: An Inner Journey". In the past, I've worked for Ukrainian companies such as Persha Studia, BWF, and Rocket Porcupines, and have collaborated remotely on various projects related to the graphic component of game projects, including "Renoir", as well as several other studios and outsourcing projects. 

Unmasked: An Inner Journey

Mykola Konzerovsky:

After working 10+ years on other people's projects, I've gotten tired and bored of this kind of job. I've always wanted to create a game that really feels and looks great, to experience the utter joy of creating something without heavy restrictions, and to have time and room for experiments. I suppose that "Unmasked: An Inner Journey" is the result of this endeavor. The original idea was to create an immersive 2D game with no distracting UI or in-game text, where the story was left for the player to discover, with metaphoric clues hidden inside various gameplay and art elements.

Here you can see an early sketch of the supposed first cutscene.

Mykyta Rachkevich:

The idea and the concept for the game were suggested by Mykola. I found the project to be fascinating, and I was excited to put all of my skills and experience into it without any self-imposed limitations.

Working with Unreal Engine

Mykola Konzerovsky:

While working with UE on other projects, I was constantly impressed by how neat and versatile the engine is. I found UE's gameplay framework highly robust and comprehensive for most everyday tasks. Occasionally, something was missing and I had to modify the engine, but UE handily provides its source code, so extending both the engine and the editor was easy. I'd say that among the biggest benefits of Unreal Engine for our game were:

  • Gameplay and Ability Framework;
  • AI, Behavior, and Navigation;
  • Cinematics Framework;
  • VFX and SFX systems;
  • High extensibility and versatility of the engine;
  • Readily available source code.

Mykyta Rachkevich:

Unreal Engine provides very convenient tools for creating game levels, which makes it easy to add and arrange game assets according to plans. Additionally, it provides the ability to test your work in real-time and work with light and other effects.

Approaching the Production of Levels

Mykola Konzerovsky:

Since we are only a team of two, we allow ourselves a significant amount of freedom when it comes to level creation. We never block each other's work, so our level pipeline is more or less a freestyle. Nevertheless, we can roughly break down our level pipeline into the following steps:

  • Rough blocking. I (Mykola) create all walkable surfaces for the level, all interactable items, puzzles, and action sequences, leaving empty spaces for cinematics, combat, and boss fights. I use UE's built-in Paper2D framework (slightly modified for my needs).
  • Combat. After that, I usually switch to designing combat for the level, which typically requires devising new enemy types, new hero abilities, etc. I also sketch a boss fight at this stage.
  • SFX. I create sounds for new entries of the level (map actors, enemies, sequences, etc). I use the ProSoundEffects library and Ableton Live to create audio sources and UE's built-in audio pipeline (including MetaSounds) to mix the audio and do gameplay-dependent sound assets.
  • VFX. I use UE's Niagara for all visual effects present in the game.
  • Clean-up. After all that is done, the level is mostly ready, so I leave it for a while. Later, when I have time, I do a full playthrough of the level, write down some not-so-good parts of it, and clean them up. It applies to every aspect of the level.

While I do all that, Mykyta works with the previous level, where blocking is already done. He draws art source assets and places them on the map, incidentally tweaking lighting and fog parameters. He also draws and animates characters and bosses for combat sequences of the previous level.

Mykyta Rachkevich:

Mykola's description seems to be very accurate and clear.

Mykola Konzerovsky:

Thank you!

Here's a typical part of a level; bare blocking and decorated versions.

UE's built-in tile Map Editor; a screenshot shows a small portion of a level.

The Animation Workflow

Mykola Konzerovsky:

We begin (obviously) by downloading Spine SDK and its Plugin for UE. Importing assets into Unreal gives no headache – it's native to UE's asset pipeline. Spine2D provides a streamlined integration into Unreal, which can be an adequate starting point for your own animation system. However, be prepared to create your own animation state machine (or similar transition system) since Spine only takes care of actual animation blending and mixing, though quite gracefully. Also, there is no built-in depth-sorting for Spine Render Components (at least, we didn't find such a feature). While not as visual as Unreal's native animation system, Spine provides you with all that you need for a formidable animation system with IK, animation notifications, and free bone transform.

Mykyta Rachkevich:

Spine 2D offers a range of useful tools for creating animations. The software is updated regularly, taking into account feedback from animators, and is compatible with Photoshop for quick and easy editing of graphics. Another significant advantage of Spine 2D is the ability to add events that can be later accessed by code and blueprints. The animation creation process can be broken down into several stages:

  • Graphics import;
  • Drafting key poses to create the general concept of animation and timing;
  • Finalization and refinement of animation keys;
  • Exporting to UE.

Approaching the Porting Process

Mykola Konzerovsky:

As of right now, we're working on the final level of the game. Then, after a major polishing is done, we will dive deep into platform-specific aspects. Besides possible optimization and graphics settings, Unreal Engine takes care of most of the porting process for you. We didn't use any hardcoded inputs or Blueprint nodes, so we expect little to no code and content modification in the porting stage.

Plans for the Future

Mykola Konzerovsky:

Right now we're finishing our final level, which shouldn't take too long. We will then fill in all the gaps that we are left with, such as cinematics, missing sound assets, and particles (which we are planning to significantly iterate on). After that, we will do a complete walkthrough and do further polishing, paying great attention to making the game feel cohesive and immersive. We expect to launch the game this year.

You can follow us here:

1stone Games

Interview conducted by Arti Sergeev

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more