Creating a VR Game

from start to finish

00. Introduction

Paulina Szczepaniak - Photo Michał Sokołowski - Photo

Desire for challenges

The game is the result of exhausting, 8-months long work of two hothead's. During last year of bachelor degree, we had to choose subject of our diploma. At first, it supposed to be a book with all our concept arts of creatures, beasts and locations created with digital painting. Short afterwards we agreed, that this was not enough and we wanted something more challenging.

We decided to expand work to Augmented Reality, where viewer could use our mobile app to track down pages of the book, and this way observe creatures or their habitats in 3d on his phone screen. Now it's slowly becoming standard, even in mainstream media, but then technology was just gaining momentum. Despite that, we managed to create stable application quite fast and we both agreed, that we could do more.

01. Introduction

Picture

02. Introduction

Picture

03. Introduction

Picture

01. Research

Technology

This is surely no surprise that from the beginning of our research we were amazed by Virtual and Augmented reality. However, it is worth to mention that at the time the number of people interested in this subject was very small and speculations about another failure were very popular. We were looking for another solutions but the further we searched, the more we got convinced that VR and AR is our thing! The vision of creating our own worlds and experiencing them never was so real and all issues with navigation, mechanics preventing motion sickness and finding new way to tell a story only encouraged us to keep going.

Theme

The decision on basing our work on Slavic folk beliefs was made quick and unanimously. We were afraid of comparisons with the famous „The Witcher” but it wasn't the reason why we choose this theme. Mythology of our forefathers is fascinating, undiscovered, unique and most of all - it's something that's close to us and we are proud sharing it with the world. It was necessary to set our story in some specific time frames and also to create suitable beast to fight with. What's more, we had to figure out what kind of content we can afford due to our limited work time. While digging through tons of books we came up with idea to get in touch with author of a few of them. And we succeeded. Moreover, we met him in person and he gave us a long interview about Slavic beliefs. After all of this, we were ready to drop the bomb. And that was beginning of long and complicated adventure with creating our first VR game, and even more - first game in our lifetime whatsoever.

01. Introduction

Picture

02. Introduction

Picture

03. Introduction

Picture

02. Analysis & Restrictions

Hardware:

PC below minimum requirements suggested for VR. Lack of any HMD or controllers.

Budget:

Sweet nothing. :)

Time Frame:

8 months, not a day more.

Budget

As two not too wealthy students who started working with new, demanding latest hardware technology, we were almost outgrown by the lack of funds. We had no money or contacts with sponsors that could buy or at least borrow us needed equipment.

Time

Because of the fact that we were making game for the first time in our lifetimes, it was extremely difficult to create time frames for each task. We planned deadlines with a little extra time and only hard day and night work and lots of sacrifices enabled us to achieve success. What's important, about 90% of the knowledge needed to create the game, was learned by us during the eight months of toilsome work.

Hardware

Due to the fact that the game was originally created as our Bachelor's diploma, we tried to get vhardware from our University. We knew that they had Oculus DK2 and few good graphic cards which weren't used . Unfortunately, it turned out that they does not provide any equipment to their students. Miraculously, we managed to squeeze out minimum requirements of our computer and our friend had DK2 and (most importantly) was willing to borrow it. (Thanks Monika!)

We dreamed about VR controllers and treadmill, but the financial barrier was impossible to cross again. On second thought we came to the conclusion that the small number of the viewer of our game would shrink even more. We decided that we want to adapt the game to be controlled by XBox pad and keyboard - which almost everyone has at home.

01. Introduction

Picture

02. Introduction

Picture

03. Introduction

Picture

03. Project Vision

Target

"Your mum can play it."
Our main target was user, who was poorly involved in the gaming world. Someone who needs the simplest and most intuitive mechanics, which doesn't require long explanation. Just sit down and start playing. We wanted our game to be an interesting VR introduction for new users.

Lack of vulgarisms and brutality helped expand the audience also to the younger generation, so everyone can experience our virtual world. To meet this expectation it was necessary to optimize as much as we can so game could run with minimum Oculus requirements

Gameplay

The main pleasure what game should provide is experiencing world around you: vibe of locations, Slavic culture, their beliefs and folklore. In addition, we wanted the player to be in suspense and danger all the time, so he would wait impatiently for the next event.

Aesthetics

We wanted to create a little unreal and little fairy-tale world with the different kinds of locations and each of them should evoke different emotions in the reciever. For example, the temple with its warm colors had to calm the player after previous experiences, so he can face dark and mysterious forest with it's threats afterwards.

01. Introduction

Picture

02. Introduction

Picture

03. Introduction

Picture

04. Story & Scenery

Events

We assumed that time required to complete the game is about 15 - 20 minutes. To tell a good story in such a short time and at the same time - distract player's attention from discomfort in VR, especially someone's new in this technology, we put in the game Slavic guardian. He guides the player while being the narrator of the story. Thanks to that we avoided popular nowadays compasses and arrows leading protagonist to destination. This increased immersion.

We wanted the story began and ended with "the bang". Moment after the start player had to face first monster, and afterwards - we wanted to calm him by changing vibe. Closer the end, tension should rise until story in an effective way with the struggle with the greatest nightmare of the inhabitants of the surrounding villages.

Map

Once we created scenario, we knew what locations are necessary for us. We placed placeholders on stage and measured how long it takes to move from one place to another. We tried to fit the optimal time to make whole story last around 15 minutes, and at the same time - keep realism of the terrain.

Locations

  1. Room – starting point
  2. Crossroad among fields
  3. Hill of grazing sheep
  4. River with the bridge
  5. Perun's tree temple
  6. Village of slavs
  7. Dark pine forest
  8. Cave with waterfall
Aesthetics zones

Division into areas with different moods

Bird's-eye view

The first prototype of the terrain.

Aesthetics zones

Division into areas with different moods.

05. Mechanics

Movement

We decided to prevent the movement of the player in the first minutes of the game. Thanks to that, he can adapt to the Virtual Reality and chances of causing motionsickness got minimalized.

When a player can finaly move around, his speed is very limited, and the collisions of ground he is walking on are very flat. Even when he sees that he is traveling over uneven road, his movement is still smooth gliding over the ground. Minimizing motionsickness was our priority, and adding the effect of steps, i.e.- quick up and down moves could quickly discourage any tough guy to play in the VR.

Interactions

The whole game should be characterized by extreme simplicity and intuitiveness. We wanted to minimize the game interface, while maximizing immersion. For example, instead of the usual button "Start Game", we developed a patent with a projector, which is part of the room decor. Projector displays the countdown, which runs only when a player directs his eyes at him. When he looks in another direction, countdown restarts and disappears. At first, player did not know what counting means, but he intuitively learns the mechanics and waits for an end. Then he get surprised by following events.

Controllers

Due to the lack of typical VR controllers like "Oculus Touch" and so far their low popularity among the players, we decided to use controllers from the Xbox. In the game, we enabled the player to lift objects. By pressing the L1 or L2 button he raises the subject to his left hand and by R1, R2 - to the right. We have tried to make holding gesture similar to that in reality.

Collisions

Our work time was very limited and we were making the game by just two people, so we were forced to share a small part of the land to the player. To compensate effect of imprisonment in a small space we decided to give a tasks for the player, so he wouldn't have time to go and acknowledge any limitations.

01. Introduction

Picture

02. Introduction

Picture

03. Introduction

Picture

06. Assets creation

References

Creating each asset was preceded by deep research, looking for references and - in the case of their absence - we were scouting out what kind of materials and tools were available to forge them. Time restrictions often were forcing us to transform typical workflow. Database of references that we prepared allowed us to skip creating concept arts and go directly to creating in 3d software.

Modeling, UVs, LODs

In the case of complex models, we created sculptures, which later passed retopology process. With less complicated objects, due to the limited time, we were creating low poly meshes right away.

We made our UV maps to be the most frugal, so we were straightening them and stacking their shells. In addition, we created separate Lightmaps, to eliminate overlapping problems.

Numbers of our LOD's depends on the complexity of the object. In some cases, the number of polygons was very small, so no additional work was needed. But in most cases, it was necessary to make couple versions.

Texturing, Materials

Textures we created were mainly based on editing photos available in the network. Using ChannelPacking was crucial in our work, and if there was an opportunity, we were replacing textures with nodes in UE. Our textures have various resolutions for differents mesh LODs.

In case of grass and wheat creation, it was a bit more complicated. We had to create high poly meshes and then render them to achieve their Normal and base color maps. Then, we projected them on planes and it resulted in lightweight, less transparent models with nice appearance.

All elements of the game were made by us. We tried to make every object remained faithful to Slavic culture. Assets we made are downloadable in the "Free Assets" section. We hope that they will inspire and help you at work.

Old Crane Well + Bucket

Game Asset Example

Long Rope with Clothes

Game Asset Example

Old Axe + Chopping Stump

Game Asset Example

07. The Beasts

Real Fears

Most of the time it took to create the beasts. Each of us wanted to do something revealing and engaging. We spent a lot of time studying Slavic mythology and Bestiaries. We were able to even interview one of the authors, known and respected specialist Czeslaw Bialczynski who inspired and infected us with his passion, adding new energy to creating.

When each of us had already chosen monster - it was time for concept arts. We have created a mass of sketches in search of a perfect figure and anatomy. We took into account the way its inception, the living environment, the way we move, attack, the appearance of his victims, nutrition and a whole bunch of other aspects. We used a number of references from nature, so the mythical creature, in the perception of the viewer remains as the most real and possible.

Below we present you Poterczuk and Bezkost - two nightmares that a few thousand years ago, wouldn't let you fall asleep.

01. Introduction

Picture

02. Introduction

Picture

03. Introduction

Picture

08. Brutal killer

Poterczuk

Poterczuk is a sinister demon, which was created from souls of brutally murdered people, especially children.

It takes the form of a goat with bird's claw. He has a goatee and horns. Poterczuk is so heated, that he often produces smokes from his nostrils. His dry, cracked skin is blackened in some places. The torso is unnaturally slender and gives impression of collapsing into itself. When Poterczuk moves, his avian foot leaves traces in the shape of a pentagram.

He can be found most often in open spaces: fields, wildenress, meadows and swamps. He does not need moonlight to harass and murder people. Poterczuk attacks their prey by surprice because he is not able to lure anyone due to his disgusting odor. Frequently he is lurking in the bushes, tree branches, at the crossroads and from there, he jumps on his victim's back. By one single move he crushes man to the ground and breaks the spine in the lower back. Then, he pulls victim through bumpy road, keeping alive. Poterczuk feeds on a prey slowly over 3 days, keeping sufferer conscious, not letting soul fled even for a moment. When Poterczuk finally eats whole prey, his soul is freed and the soul of the victim is taking his place.

Poterczuk animation preview on YouTube

01. Slavic Beast

Poterczuk

02. Slavic Beast

Poterczuk

03. Slavic Beast

Poterczuk

09. Living with blood

Bezkost

This is especially disgusting type of vampire. Like others ghouls, he arose from a man who, after death, insted of rotting in a shallow grave, he returned to the surface to suck the blood of the living. Bezkost arises from the souls of the people who could not come to terms with the death and despite all the necessary rituals, got away from the underworld, not wanting to leave the places where they lived.

While ordinary vampires behaved human shape, in bezkost's posture, human shape disappeared. He is like a sack that fills with blood and entrails. Bezkost sucks everything from a man, including the soul. Triangular, sharp, saw-like teeth can easily pierce the skin of the victim. In rare cases, when wolves appears near by, frightened Bezkost abandons its prey. Sometimes you can save the sufferer. It succeeds, however, rarely, because the victim usually lost too much blood, or worse - a piece of the soul.

To unleash the soul of bezkost, you have to make a hole in his head to make a way for the spirit,and burn the body at the stake of alder wood for 3 days and 3 nights.

01. Slavic Beast

Bezkost

02. Slavic Beast

Bezkost

03. Slavic Beast

Bezkost

10. Unreal Engine struggles

Implementation

Next step was the implementation in Unreal Engine. And even though that it was mostly great fun, almost like playing a game, wasn't done without many troubles and frustrations. Many times we had to take two steps back to put one forward. At first, we were wandering blindly and making many mistakes that cost us a lot of time and nerves.

The first problems appeared when we were changing the placeholders with ready-made assets. Often, it turned out that a 1: 1 scale item due to HMD optics at some distance seemed too big and in closer look - became too small. A similar issue could also be observed at distances to objects. Sometimes something close to us seemed to be a bit further. Also, we had to learn again how to create materials, due to the specific characteristics of the engine and its shaders.

Optimization

The most difficult part of the work in the Unreal Engine was optimization. Many times, with heavy heart we had to go down to earth. Many elements that we considered "done" turned out to be too heavy for VR production and they hit the trash.




Among others, we optimized:



Meshes

By creating low poly models, deleting geometry invisible to the player, creating LODs and chunks that limit draw calls.


Textures

Through skillful creation of tiling, uv overlapping, and lightmaps.


Materials

We delated fades, blendings, and other heavy nodes, using channel packing and only the necessary textures needed for realistic rendering, creating instances of materials, etc.


Lights

By creating lightmaps, limiting dynamic lights to minimum and adjusting reflections.


Effects

By replacing millions of particles with flat images, getting rid of flares, blurs, etc.



In short - It was necessary to optimize extremely aggressively and comprehensive, like for games running on mobile devices. We built many illusions, for example, we replaced distant environment models with planes and facing billboards, and further objects were hidden by cull distances and streaming levels. We were desperate, how much we have to let go of the original assumptions, but also determined to maximize visual impressions with such limitations. This was the greatest lesson of humility for us.


01. Introduction

Picture

02. Introduction

Picture

03. Introduction

Picture

11. Sounds

Dubbing

When the game began to be something real and not just a bunch of crazy ideas and dreams, we managed to contact a famous Polish actress, Barbara Bursztynowicz, who promised to help us with the project. It was a great surprise for us. Her involvement added to the project a professional dubbing, impossible to obtain if the main role was played by one of us. We could unintentionally make a comedy out of it.

Effects

The sounds in our game are the result of the initial concept and many experiments and changes afterwards. We did not have a clear vision of how our monsters should sound, we knew we did not want to use cliché horror sounds. So we mixed the sounds of animals, through synthesizers, to our own, strange noises.

01. Introduction

Picture

02. Introduction

Picture

03. Introduction

Picture

12. Couple of Thanks

"I find that the harder I work, the more luck I seem to have."

— Thomas Jefferson

We are proud that we managed to complete this project. After 8 months of unremitting work, the enormous knowledge we have gained has compensated us all these sleepless nights and health problems. No one will take from us what we have learned. After a long period of convalescence, we are now able to face new challenges, to reach further and bolder, to learn more and to fulfill our dreams. Thank you to all who assisted us in creating the game - Monica Kunicka for sharing her HMD, Pawel Szutkowski for the advice on engine work, Barbara Bursztynowicz for dubbing, and mostly - our parents who supported us in every aspect and motivated in difficult moments.



See you somewhere in the world. ;)

01. Introduction

Picture

02. Introduction

Picture

03. Introduction

Picture