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.

Thunderstruck!


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!!!


Friday, October 16, 2015

Acedia Game Design Progress

The most beautiful procedure of game production is writing the game design document, provided you are a designer!

And this applies, because in this state you can write everything that you can imagine, until of course the game producer jumps out of nowhere and tells you, that if we put all this stuff in production, the game will be completed in 2025… years from now.

So you must stop your imagination from going wild and you have to focus on more realistic goals.

So we have done all the aforementioned and we will present you some features of our game design and especially of our puzzle design.

Puzzle Design Implementation in Unreal Engine


Our story takes place on a time-forgotten, god-forsaken Island, infested with mystery around the legend of the 7 sins. You are there to investigate that mystery, and overcome anything that comes to your way… Are you the one to solve it?

More info on that coming up next week!


Until then, see ya!

Friday, October 9, 2015

Introducing Acedia

Hello everyone! 

In this blog post we want to share how we conceived the story of our new adventure game, but to be clear, we will inform you only about the main aspects of it.

It was Monday 15 June. After some additions to our team, we started working on a new project, a first person adventure game. However, the story was yet to be decided. Everyone was getting ready for our scheduled call. As we were talking about our progress, at some point, Kostas jumps out of nowhere and tells everyone that since our team consists of seven people we should take advantage of this number. George thought that this sounds pretty cool and started searching about how he could involve this number in a story. After some time, he recollected the movie Se7en and started to focus on the seven deadly sins and how he could involve them into a story.

Se7en movie

After some research, he found that in 1589 Peter Binsfeld has developed a theory which connects every deadly sin with a demon. George thought that this was enough information to make up a starting point for our story so he casually mentioned in the following call. 

Cover of Peter Binsfeld's book

Slowly, the story started to build up and George decided to search deeper for each sin and its corresponding demon. After a deep dive into various books he came up with a story and the core aspects were decided. If you want to learn more about this mysterious story, stay tuned.

See ya!!!