Saturday, March 12, 2016

InVivo's Audio Management Systems

The sound design in horror games plays a crucial part to the player's experience. Besides the visuals, audio is what makes the environment come to life.

At InVivo there are two sound categories which are distinguished, based on their functionality: ambience and all the various sound effects (SFX).

Ambience are all the environmental sounds, like the computer's screen buzzing, flickering lights, gas steams etc... that a player expects to hear inside an abandoned hospital, thus, creating an overall spooky feeling and immersing the player into the game.

The remaining SFX can be heard, when an action happens. These SFX include player footsteps, panel button sounds, padlock wheel rotations etc...

Since there are many SFX that are triggered in our game we had to come up with a solution to reuse audio game elements, instead of creating and destroying game objects at will. Using a technique called Object Pooling we created a bunch of sound game objects and used them when it's appropriate. Imagine having a bag of items, where you get an item when you need it, and you put it bag after use. Thus we avoid the constant creation and destruction of audio elements, which can have an overall performance increase.

Until next time...

Saturday, March 5, 2016

Behind Invivo's Narrative

In order for us to really make Invivo the immersive experience we envisioned it will be, we have spent countless hours dishing out some great ideas on what we'd really like the place to be.
Starting from the very first seconds, all the way to the ending credits, the world is a culmilation of hard work, expressing a unified vision, all  concluding in one single sentence: "This is really, really sick"!
During the pre-production phase, the task ahead seemed quite difficult, as we had to overcome the lack of any graphical representation and create an accurate pitch, for a story that could, in the end, be properly presented to the audience. Basic questions, like "who", "where" and "why" had to be answered in a cohesive manner, so as to facilitate both the narrative as a medium of expression and create the appropriate level of immersion to the player.
After all the core elements had been sketched out, we proceeded with creating the world in detail.
Along with the progression of level design and set dressing, we traversed the dark, twisted hospital corridors, rooms and laboratories,  giving birth to what would make everyone love - and hate -  to be engaged with the hospital and its story, by implementing every bit of our vision in such a manner, that it will be seemingly - and disturbingly - natural.

We hope that, when you get to experience what we really have in store for you, you will be as enthralled as we are!

Tuesday, February 9, 2016

InVivo’s AI Breakdown

In the InVivo Corporation’s hospital you are not alone. Mutated creatures hide inside the building and your goal is to avoid their deep breathing at all costs.

During the preproduction phase, when everybody was throwing crazy ideas about the game design, the monster behavior was one of the most fascinating topics. How the monsters interact with the world and what action they could perform at any given time, were the most essential issues we had to tackle.

Before setting up the main game, we created various prototype scenarios, where the monster could patrol, investigate and chase the player. This led to many hilarious situations, where the monster would walk through walls, completely ignore the player presence or throw him over the test level edges!

In inVivo, the monsters are capable of not only seeing the player but also hear his footsteps. Based on a viewing and a hearing distance, the monster AI chases or searches for the player’s position.

But how the monster changes its behavior? Using a finite state machine (FSM) the AI chooses the appropriate action based on player decisions and the environment. A finite state machine is composed by states, events and a set of transitions. For example some of the monster states are Patrolling, Investigating and Chasing. So at any given state, whenever an event occurs, if there is a transition leading from the current state to a new state corresponding to the event that occurred, the monster AI switches to the new state.

Have a look at the AI state diagram:

Most of the time, the monsters will patrol in the dark corridors of the InVivo’s hospital using a dynamic node system. But they will always be vigilant about the player presence. So when the monster hears something it will switch to investigation mode and if it spots the player it goes to chase mode.

In addition, the monster AI can interact with its surroundings and take the appropriate action. For example the monsters can open doors to enter a room, but also break them when they are in a hurry. This lead to a nerve wracking experience for our programmers, when the monster AI dragged along the door, instead of opening it with care!

The system is so flexible, so we can add more states to the FSM, keeping in mind to add the right transitions between states. If you are not careful this will lead to some strange visual bugs, where the monster opens a door, while having a walking animation!

Visually all we have to do is to switch to the appropriate animation clip, when we move between states. This is achieved using the Unity Mechanim Animation System.

And that’s how the monster AI comes into play in InVivo: Last Chance.

Saturday, November 14, 2015

All aboard the hype train!

Yet another Saturday means another blog post for Acedia!

Every day that passes, each member of our team is boarding the “hype train”! Thus, everyone is becoming more motivated and productive while trying to stay focused on given tasks and not get too motivated and mess everything up! 

Our producer is trying to maintain a balance between our current productivity and our overwhelming hype in order to create a reasonable plan for our future steps. But enough with all that, let’s talk about this week’s actual progress!

After playtesting for hours, our programmers are working hard on fixing known bugs in our current puzzles as well as improving functionality for some in-game mechanics. 

Since the map and our assets have started to build up, bringing life to the whole scenery, but with a lot of work left to do in order to get the right "feeling", we threw our sound guys into the frey!

Oh, here is another angle of the map so far:

The sound designers jumped into our map and they have already been working on improvements on our current sounds effects as well as ambience sounds. More info on that later though, as it's still primitive to discuss.

Another segment of the map is ready:

The overall feeling of our game is taking shape and we will continue our journey towards a fully polished working prototype!

Until next Saturday, have fun!

Saturday, November 7, 2015

Acedia Map is getting shaped!

A week passed since our last post and boy, have we got a huge update for ya!

Everything is going smooth and everybody is slowly becoming less sane, yet more productive, but that's the glory of game development as seen nowadays.

We have been coding our way into finalizing the puzzles, so that we can actually playtest, we have been creating some basic assets to use into the map and we have been working on... well, the map itself! 2D assets are being drawn, sounds are being recorded and adjusted and we, like our main character, have seen no daylight. Well... Almost!

Painful as it may sound, that's what got us here in the first place and we are happy to show you a single in-game screenshot on Acedia's map:

Development Screenshot while building "feels" for our map.

We'll leave you with that, so you get a better idea of what's behind the scenes.

Until next Acedia Saturday, cheers!

Saturday, October 31, 2015

Acedia programming update

The beautiful procedure of game design has just been completed. Of course this procedure keeps going throughout the duration of production… until something horrible happens and then you have to change the whole game design… again!

Today we will talk about programming. Being our first project with Unreal Engine 4, we decided to code with visual programming, aka Blueprints.

Blueprints are the easiest way for someone who doesn’t want and/or know how to code. Really, it’s a piece of cake to create any mechanic.

The logic is very similar to OOP. But with blueprints you will not see endless lines of code or strange symbols, but many nodes with wires.

Here is a sneak peek of one of our Blueprints:

While programming with blueprints...

Blueprints can help you create an entire game, but if you are a hardcore programmer, you can write the exact same logic with C++. But some things like UMG, Matinees and persona, can be implemented using both technologies.
This is it for now. We will meet again next week!

Until then…See ya!

Friday, October 23, 2015

Acedia Level Design on the way!

Hello from rainy Thessaloniki. 

In the previous blog post we mentioned some info about our game design, however, in this post we will talk about the level design of our game.

When someone has to implement a level, he must take into account many parameters. The first (and most important one) is the feeling that the designer wants to express from the environment and this feeling has its own parameters which are particles, effects, meshes and of course lightning.
Awesome Fire Material

Each and every one of them, has an impact into your game.

Another very important detail is that level designer has to choose a method in which the environment will communicate with the player – meaning that your progress might be linear, so the player must act in order to progress and go further.


In our game we decided to combine these two methods and to give a mystery and spooky feeling to our level and we think that we managed it well. So this for now from Acedia’s team.

Fog. Plain ol' fog.

Until next week…See ya!!!