Native ruins
3D third-person game, made with Unity engine.
Overview
Project Pitch
Native Ruins is a 3D survival game made for a school project at the Université du Québec à Chicoutimi (UQAC). The course is the following : Design Principles and Video Games Development (8INF955). You play as Judy, a young 23 years old woman, who wake up on a desert island. Her goal is simple : escape the island. To done it, she will need wood, rope and a sail to build a raft. As she goes through her adventure, she will discover totems that will give her more abilities useful to archive her goal.
Project goals
- → Apply basics principles of game development with tools used in industry
- → Earn video games development cycle and basics analystics documents
- → Apply game design practices, game balancing, etc.
- → Apply SCRUM method to provide quick and regular feedbacks
Gameplay video
Game Design Document
For more details about the game and the core mechanics, take a look at the Game Design Document. Some details were modified due to deadlines. This document contains 8 sections which are the following :
|
|
Click here to take a look at the GDD : Game Design Document - Native Ruins.
Screenshots
Detailed Info
Native Ruins is survival, open world game. The player can have fun discovering the island and also by solving puzzles. It takes around 30 minutes to finish the game if the player doesn’t get too lost in the island.
Scripting (C#)
Here a list of main features we implements in this video game :
|
|
IA techniques
Steering Behavior
To make animals move, we decided to implements a steering behavior scripts based on vector forces. By doing that, we did not used the navigation mesh (NavMesh) already implemented in Unity. The class diagramme is available on the same section. By doing that, we let the possibility to improve animals movements way easier like squirrels going up on trees. This movement will not be simple to make only with Unity’s NavMesh.
Finite State Machine (FSM)
We also decided to implements a Finite State Machine to describe animals behaviors. This allow to make human like behaviors and make it more realistic.
The agent delegate behavior transitions to the StateMachine class that take care of calling exit(), enter() and execute() functions.
We decided to code it from scratch and did not used Animation State Machines which could be useful in our case. But we had more controls by doing it that way.
In addition, as we can see in the class diagram, additional states can be added easily to the pattern and update agent behavior.
The only requirement is the relationship with the State
Puzzles
Jumping puzzle
Our game contains two jumping puzzles.
The first one can be accomplished at the beginning of the game when the player hasn’t got any additional abilities yet. Those will be later add, thanks to spirit totems.
Native Ruins
Enigme 1 - First jumping puzzleJumping actions |
Running actions |
Bear Totem |
- Climb on the tree.
- Jump four times on the closer rock.
- Climb the second log of wood.
- Make two running jumps to continue.
- Fall on the inclined rocks and jump at the right moment to land on the rock.
- Jump on the next rock and finish by a running jump.
- Press E to obtain the bear totem.
The second puzzle requires all the spirit totems : the bear totem and the wolf totem. That’s why, it’s the last puzzle in the game.
Native Ruins
Enigme 4 - Second jumping puzzleJumping actions |
Running actions |
Transformation Switch |
Rope |
- Jump on the tree and go at the end.
- lift the tree by using the bear transformation.
- Use the Puma transformation to run and jump on the rock.
- Press E to obtain the rope.
Mirror puzzle
This puzzle is inspired from Prince Of Persia : the player has project a laser coming from a point A to another point B to lift a fence. He can move mirrors along the room to allow the laser beam in the right direction. To not frustrated user with this puzzle, we decided to restrict to the maximum mirrors movements.
We also added the following constraint : mirrors can only be moved in bear form. This helps keep the puzzles order we decided.
Native Ruins
Enigme 2 - Mirror puzzleLaser beam |
Moving bears initial positions |
Right position |
Sail |
- Transform in Bear form.
- Push the closest bear in front of the beam.
- Push the second bear to hit the further mirror on the other side of the room.
- Push the last moving bear on the right to meet the beam.
- Once the gate's open, Press E near the sail to pick it up.
Action puzzle
Finally, we created an action puzzle where the player has to destroy rocks with his bear transformation. This puzzle is simple but it’s the player’s job to find out by himself the correct way.
Native Ruins
Enigme 3 -imaged Breakable rocks |
Wolf Totem |
- Transform in Bear form.
- Run into rocks to break them one after the other
- Once the front rocks are break, walk to the totem.
- Press E to pick up the wolf totem.
Dialogues & Cut-scenes
Finally, we decided to creates in-game cut-scenes to have a better user-experience. We made a complex first cut-scene with player animations, dialogues and the game’s credits.
To make it, we implemented managers, that contains data structures, which take care of animations transitions or dialogues order. Others animations and dialogues are available when Judy discovers new items or when hints are needed.