2018-12-17

Deer

Introduction

Deer is an RPG game made with Unity about a boy surviving after an earthquake. When the earthquake started, the boy’s mother protected him with her body, but still, the boy fell in a faint and his spirit entered the dead’s world. Inside there, all dead people transformed into deer and their memory vanished as time went by, so did the light around them. The boy’s mother also changed into a deer and kept the boy accompany, trying to help the boy out of this world before she lost all her memory. Players will control the boy to explore the dark mysterious dead’s world. Most of the environments are dark, and the only thing the boy has is a light ball left by his mother. To find out the way to the real world, the player needed to use his voice to control the light ball to illuminate his surroundings.

Illustration

  • Searching in the dark


    4.1.jpg
  • Meeting the deer


    4.2.jpg
  • Interactive Hint System


    4.3.jpg

Technical Details

This project was mainly designed and developed by a team of two people. I took charge of story-telling, game process management, UI system, interactive objects control system, partial environment building and partial material rendering.

Focusing on the coding works, I think my most important contribution is to build the whole game's code architecture, including the game manager and the interactive objects system. Related files are put in the Deer folder.

We have a BaseScene which contains all the common component for the game, like game manager, audio manager, main panel manager and so on. Every specific scene is loaded additively using async methods.

The InteractiveObj.cs is put on each interactive object, whose job is to record the unique information of each object. For example, what text should pop out in the form of subtitles, whether the object will trigger a 3D-UI panel, if the object has been detected by the player and so on.

The InteractiveObjList.cs is unique in every scene. And it stores a list of interactive objects in this specific scene.

Finally, the InteraciveObjManager.cs is arranged in the BaseScene. When a specific scene was loaded, the InteraciveObjManager will get the list of interactive objects from the InteractiveObjList.cs. And there is a loop per frame in the InteraciveObjManager, in which I traverse all the objects to deal with their status and appearance.

The architecture are illustrated below:


未命名文件.png

User Guide

Project Homepage: https://github.com/rebas777/Deer

Executable Game Download Link : here
This version of release has been tested on Win10 platform.

你可能感兴趣的:(2018-12-17)