15 min read

Nina - A Students Final Project Post Mortem

A Full Sail Students experience of racing towards the end, learning some valuable lessons of creating games.

I felt that all the up and downs and disappointment I got with my Final Project at Full Sail University, that I try to share what went wrong and right, and how I came to those conclusions, to hopefully can share something valuable for others or might get insights from developers who went through a similar experience.

I will tell a lot of my game, so if you would like to experience the game without knowing too much about it first, or afterwards, you can download it here:

If you just want an overview or it technically doesn’t work, I also  included some Videos at the bottom.

It would be great to hear from you by letting me know what you think.

About Nina

Nina is part of my Bachelor’s Degree at Full Sail University in Game Design.

It is a First Person Puzzle Game that takes place in a Cave Environment. In the course of the Game, the player will discover what happened to Nina and why she is in that cave. During that time, she will hear herself remembering parts of her relationship with Aaron, her husband, and Yasemin, her daughter.

The game is about the state of coma, child loss, suicide and what someone will leave behind. During the time in the cave, the player needs to solve reoccurring riddles. All of them with one exception are about recreation of sounds heard. Each time the player completes a level, part of the soul can be placed on a tree. Placing all three souls, will finish the game, after a last smaller level that lets the player experience a small climax going back to life.

The game has a health component, when losing all of it, the game ends. There is no saving. Falling into a pit though, will only decrease health and not lead to certain death.

The game was done in Unreal Engine 4 where I used mostly Blueprint and some C++ for the Game State Framework. Most Assets are from the Marketplace and using for the Nina Mesh Mixamo’s Fuse, and using also Simplygon SDK, FMOD and SpeedTree. Credits can be found here:

The Projects Conditions

At Full Sail we are tasked to find our Game idea during one month prior of starting the three months of Final Project (FP) where the bulk of production than truly begins. In FP01 one will refine Gameplay, in FP02 Level Design and integration of Gameplay occurs, where we already looking at an Alpha State and in FP03, the Visuals and Bug fixing is happening, where Students move from Beta to a Release Candidate.

Every week, the student is required to send in a Build, a Task List for the previous and upcoming week, Development Log (A Discussion Post for everyone to see), a Peer Review, and Build Log, that contains all the Changes, Known Issues, an Assessment, Bug fixes and a Walkthrough. Every week the students will receive a grade upon their performance in a weekly session with their instructor.

Usually the students are working in teams and use the Engine that they have been learning with prior to the Final Project. In my case, I have been learning with UDK but have requested wanting to work with Unreal Engine 4, since I worked with it since its public release on other projects and was more comfortable with it.

I also looked into wanting to work alone, which undergoes a review first and requires especially previous team experience, since Final Project is about working in a team, learning and growing into a role and take responsibility. In my case, working in IT for over a decade and my engagement at ShardLine Entertainment gave me the allowance.

Finding the Game

In the beginning the game was implemented as a 3rd Person experience, with abilities and one core riddle. During the first month prior to FP01, I implemented several abilities, including protection against fire, materializing objects, or using wind to float into a certain direction. The one central riddle was inspired by Dragon Age: Inquisition’s, Zodiac Sign Riddle.

Next of including a lot of the mechanics, I developed a Game State Framework managing when the game is in progress, menu, loading etc. This was done completely in C++.

The whole Framework was working very well, but what I began to do was to create more and more functionalities to it, and shared it with others, beginning to Twitch Stream and create a Tutorial on YouTube. It was fun, but it completely distracted from what I needed to do, and was probably one of the major problem that became a real torture later in the Project. During that time also ShardLine closed, which also required a lot of my attention that was not really optimal at the time to focus on my degree.

Missing out on the time I could spend on refining my Game during FP01, I came into a dead end in FP02. Even though most of the game was laid out, I missed on testing enough the game itself, to find the fun in it and the deeper understanding of what people would like.

Redoing everything, by failing

During FP02, and honestly I don’t know what struck me, I revised almost everything. From going away from the Top-Down Riddle, I included a Sound Mechanic into the Game. Fortunately though I started showing the game to more people that lead me to include color codes, and more feedback to the player to help them, including to move to a first person perspective that really was more appropriate than the previous 3rd Person to sell the experience.

But with losing all that time it became evident in the third week of FP02 that I wouldn’t make the requirements of passing into FP03 so I was facing to repeat, which than happened. I really felt that I deserved it, but I felt a bit ashamed at first to really talk about it.

With the closure of ShardLine and the personal struggle to understand that finding this innovative piece of mechanic, that combination that QUEBE and Portal do so well, wasn’t yet for me to find and move forward what I had. Especially working alone, trapped in my own head, never trying to spar with other developers outside the project, brought me to that dead end and lead me to redo everything and was a prefect representation of how inexperience I am in developing games and unhappy I was with the current state.

Before the last 1.5 months started, I only had a basic recreation mechanic of sound, a small Level with no direction and essentially not a game. At that stage I was facing to fail again. Even working many hours, it just didn’t work out and with all the distractions of creating a perfect backbone in Blueprint and Code, I just lost focus. But gladly things started to turn around.

Crunch begins, 6 weeks to go

I started to take my recreation gameplay of sound that included colors, and modeled out of it two other simple mechanics. One being a Jump and Run Riddle that required the player to recreate sounds by jumping on the correct platform in sequence, and a riddle, where the player steps into space, seeing Nina in third perspective and recreates the sound by using the mouse to hit the correct orbs that were again color coded. I felt that with the one mechanic of recreation of sound, I could create enough different mechanics.

Sadly, with another mechanic I went a different direction of creating a Time Challenge, and even though I included color codes and the same sound, the player needs to run through a path, avoid the Mushrooms casting gas, and activate Switches to open a door in any order. So with that section, I lost a bit of consistency.

To make the experience more interesting I started to use that small level with one Hub and extended it into three parts, where in the first Level the player gets introduced into the basic mechanics of look controls, movement, jumping and all of the four riddles in their basic forms. The other two levels extended on the riddles by having more sounds to recreate, rather including for instances the platform moving, or having some sort of timing mechanic implemented, that sometimes spawns on a platform a damage component such as a fire.

This was very controllable and allowed me to use the one riddle controller I created for all the puzzles over and over again.

Refining the Level and End Game Condition, 4 weeks to go

With all the mechanics laid out, the Level Design in its rough form was implemented. I started to light and clutter all the three Levels. Including all the bug-fixes and aesthetic changes that were made, such as providing feedback in a convenient way, presenting controls etc. But I needed to do something with those acquired souls after each level was done.

In the hub area I included a tree that let the player place all of the three souls, that than lets the game end and bring Nina back to life. It took a while until I fully could include it and up until the third last week, it wasn’t fully there. It took a lot of iteration time to make it visual appealing and satisfying.

Working on the experience, 2 weeks to go

Overall the project became now a Game. Before it was a collection of mechanics in no context. It was very satisfying to see.

When testing again with friends, the lack of the game providing context of what the experience is about, lead me to ask for Voice-Over for Nina and Yasemin. Just to note, there was before a diary mechanic with a book, but it was kind of distracting to call it and never felt part of the game.

With Nina remembering her past and the people she loved the game became very different when hearing her voice while playing. Her daughter Yasemin also can be heard, and is used as a feedback vehicle, when receiving damage by stating “Don’t give up”, or from time to time reading from the “Sleeping Beauty” to add to the odd and strange place and make that connection between the fairytale of being a sleep and Nina’s Coma state.

Overall it added to the experience a more mysterious atmosphere and definitely made it more like I imagined the experience would be.

With having done all of that, I included Sounds for the Character and Surroundings, and using some of David's composed Music theme (you can listen to it further done), for feedback during aquiring and placing Souls.

EndGame, 1 week to go

In the course of the last 6 weeks it always occurred to me that placing the last soul wasn’t really satisfying. The game ends with just a message, that’s it. I also didn’t just want to have the player see through a sequence of getting back to life. It should be there, but not without having one last challenge ahead.

I included a challenge that in its subtext should say Nina has a Heart Attack. The player will see how all the Souls are absorbed and faces an additional section to get back to the light. The idea was to include all the mechanics again in a more challenging way, but time was almost over, so I included a smaller version of it, that provided enough atmosphere to create a climax, and then let the player get back to life and see the end sequence. It really clicked with people testing it, as it was very surprising after 99% of the game was just calm and slow.

What went wrong?

Focus was probably the hardest bit to come by. Working alone, without being challenged on a daily basis, lets one really get lost in its own world, that in the experience I went through, lets you believe things are good that probably are bad, and experiences of play and story that I believe aren’t any good, aren’t that bad at all.

Testing with others is so important, and somehow it got completely lost, at least in my case when working alone, you feel like you need to do everything on your own, including judging it.

I think that I should’ve done a much simpler game, going away from wanting to make an Action-Adventure essentially. I should’ve looked into a more fun experience that clicked away fast and didn’t require a lot of preparation and introduction into a story or world and required a lot of work around the gameplay. Spending those hours and days on the play could’ve have brought a more polished experience when working alone.

What went right?

Having a full experience and a piece of software you can call game.

Having said to make a simpler game, the experience wanting to make an Action-Adventure, with Story, and Atmosphere, still was achieved to some extent, in some parts more in some parts less. But going through planning it, implementing it, testing it and trying to let it connect with other mechanics and the ending condition, still worked out and people playing it, see through the idea of such an experience and that was very satisfying to hear and see.

What I have learned

  • Don’t lose focus
  • Create visible gameplay first, before trying to make a backbone that is beautiful commented and works effectively, the gameplay will change anyway and you need to redo it again. Its lost time.
  • Test it early, regularly, all the time by others and yourself and write it down, analyze it, implement it and test it again
  • Don’t lose faith in what you are doing, things will work out if you keep going
  • The Game won’t be as you imagined
  • Innovative design isn’t yours to find? No problem, include and work on the things you know how to do and try the best to present them
  • If you lose 4 months before the game becomes a game, they aren’t lost, just part of the process to get you there.
  • Once own design of narration, gameplay or experiences is an expression of what you know and saw in life. As a gamer I play mostly RPGs and Action-Adventure. Don’t lie to your creative inner self of what you know. Don’t try to innovate where you aren’t yet experienced enough. If that is the goal, try to play more of the games outside your comfort zone, and go out and experience life and study it to maybe find it, but don’t be disappointed if not, its not going to happen for all of us and is not the end of the world.
  • Don’t be an ego about showing off your game. Might not be always fun or not at all, but a lot of your peers still will see the work and passion that went in to it, be proud about that.
  • Never deny yourself that badge of honor, finishing something
  • If the game is done, leave it alone and come back after you celebrated with your love once that you did it and see the sun.

Closing Remarks

I am very happy that I went through this experience. I personally wouldn't go back and do it differently, I think I needed it really and adds just to the many life lessons I had the privileged to receive over the last couple of years trying to develop games.

Thank you

I wanted to say thank you especially to my girlfriend Bettina who gave me so much strength, courage and love, without you this wouldn’t be possible! Thank you for all the patience towards me, the long nights I wasn’t in bed, my grumpiness, and that I always was too tired for anything to do together.

To David Solis who made such a wonderful Music Theme, to Ernest creating the Puzzle Riddle Sounds.

To Kirsten and Lilly to VO my game, you made something special for me!

To Luos for your wonderful Cave on the Marketplace and giving me early access and inspiring some of the riddles!

To Martin Ekdal and his Team at Simplygon to let me use the SDK!

Thanks to Chantel of Adobe (Former Mixamo) for letting me use your products! They are awesome!

To the Unreal Engine 4 Team, you all rock and thanks for the support and huge gift given to us! Blueprint became really a creative empowerment that for a person like me, living between Business, Technology and Design, became a very satisfying experience over the months I used since you publicly released the Engine. Thank You!

And all you guys out there who really took care that I won’t die in the process giving me from time to time a break, a drink or two, and some food.

Gameplay Video 01

Gameplay Video 02

The End and Credits

Title Theme "Nina" by David Solis

Latest Jobs


Playa Vista, California
Audio Engineer

Digital Extremes

London, Ontario, Canada
Communications Director

High Moon Studios

Carlsbad, California
Senior Producer

Build a Rocket Boy Games

Edinburgh, Scotland
Lead UI Programmer
More Jobs   


Register for a
Subscribe to
Follow us

Game Developer Account

Game Developer Newsletter


Register for a

Game Developer Account

Gain full access to resources (events, white paper, webinars, reports, etc)
Single sign-on to all Informa products

Subscribe to

Game Developer Newsletter

Get daily Game Developer top stories every morning straight into your inbox

Follow us


Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more