Native Ruins


Overview

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 throught her adventure, she will discover totems that will give her more habilities usefull for archive her goal.

Project Goals

  • Apply basics principles of game development with tools used in industry.
  • Learn video games development cycle and basics analystics documents.
  • Apply game design practices, game balancing, etc.
  • Apply SCRUM method to provide quick and regular feedbacks.
Github Link: NATIVE RUINS Project.

Game Design Document (GDD)

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 :

  • Overview
  • Background and characters
  • Gameplay and mechanics
  • Levels
  • User Interface (UI)
  • Artificial Intelligence (AI)
  • Technicals details
  • User stories and planification

Click here to take a look at the GDD : Game Design Document - Native Ruins.


Gameplay video


Screenshots


Team

Noémy Artigouha
  • Level Designer
  • UI Designer
  • Game Programmer
Grégoire Boiron
  • IA Programmer
  • Animator
  • Game Programmer
Guilhem Cichocki
  • 3Cs Programmer
  • Game Programmer
Damien Maveyraud
  • UI Designer
  • Level Design
  • Game Programmer

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 :

  • Player movements (ZQSD movement in the camera's direction)
  • Third person Camera (independent from the player)
  • Animals artificial intelligence (movement and behavior)
  • Fighting system (losing health and apply damages)
  • Bow mechanics (aim toward mouse cursor with body rotation)
  • Player animations
  • Mirror's reflection script (Second Enigme with laser)
  • Physics system bag (dropping objects and interact with them)

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, additionals states can be added easily to the pattern and update agent behavior. The only requirement is the relationship with the State class (extends).

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 additionals habilities yet. Those will be later add, thanks to spirit totems.

Native Ruins

Enigme 1 - First jumping puzzle
Jumping actions
Running actions
Bear Totem
Puzzle solution :
  1. Clim on the tree.
  2. Jump four times on the closer rocks.
  3. Climb the second log of wood.
  4. Make two running jumps to continue.
  5. Fall on the inclined rocks and jump at the right moment to land on the rock.
  6. Jump on the next rock and finish by a running jump.
  7. 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 puzzle
Jumping actions
Running actions
Transformation Switch
Rope
Puzzle solution :
  1. Jump on the tree and go at the end.
  2. lift the tree by using the bear transformation.
  3. Use the Puma transformation to run and jump on the rock.
  4. Press E to obtain the rope.

Mirror puzzle

This puzzle is inspired from prince of percia : 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 puzzle
Laser beam
Moving bears initial positions
Right position
Sail
Puzzle solution :
  1. Transform in Bear form.
  2. Push the closest bear in front of the beam.
  3. Push the second bear to hit the further mirror on the other side of the room.
  4. Push the last moving bear on the right to meet the beam.
  5. 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
Puzzle solution :
  1. Transform in Bear form.
  2. Run into rocks to break them one after the other
  3. Once the front rocks are break, walk to the totem.
  4. Press E to pick up the wolf totem.

Dialogues & Cutscenes

Finally, we decided to creates in-game cutscenes to have a better user-experience. We made a complexe 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's order. Others animations and dialogues are availables when Judy discovers new items or when hints are needed.