top of page
Picture3_edited_edited.jpg

THE ORACLE

Learning Pictography By Game.

Project Summary.

Game Design Focused Project

The Oracle is a 3D puzzle game aimed at teaching the player the concept and idea behind the form of ancient Chinese oracles with puzzles. The core mechanic for this game is clicking points to complete an ancient oracle pictograph, given a scenario or level of events that represent the meaning of the puzzle oracle.

In this game, ancient Chinese oracles are introduced to the player from the simplest form to the complex form. The simplest oracles that can be recognized as a single oracle while being a component of another oracle are taught to the player first. Then, after finishing a couple of puzzles related to these simple oracles, puzzles teaching oracles made up of several simplest oracles are presented to the player as challenges. In this way, we were trying to teach the logic behind the formation of ancient Chinese oracles, which is also similar to the structure of today's Chinese characters.

Engine: Unity 3D
Play in: Packaged exetuable file
Work Time: Sep 2021 - Nov 2021
Team Size: 3

Play Time: 15 - 30 mins
Features:

  • Scene-based Puzzles

  • Learning an ancient language by game

  • Scripted Dialogues System

Responsibilities.

Key Responsibilities.

Puzzles Design

Designed puzzles teaching oracles from simple to complex structure

Level Design

​Designed Layout following archeological researches & Flow Design

Programming

Programmed the whole game including gameplay, 3C, event system, animation, dialogue system, etc

Responsibility 1.

#1 Puzzle Design.

Definitions

Before diving into the puzzle design, let me introduce some concepts and definitions of the formation of an oracle character. (Chinese characters apply them similarly) 
Stroke: the basic units of an oracle character. Different stroke combines with each other to become a component or even a character.
Radical: Radical are components or variants of characters having similar parts and structures, which are used in a variety of different characters. Some of them are simplified to a compound of stroke, which cannot be read solely.

Phonetic Component: Phonetic components are components that give a character a basic meaning and pronunciation. With different radicals assigned to the same phonetic component, they will become characters with different meanings but remain a similar pronunciation.
Chinese Character Structure: Except for characters consisting of only strokes, all Chinese characters follow a couple of structures to organize their components. They are Left-right, Top-bottom, Enclosed, and Three-tier. In this game, we only included characters without structure and characters with Left-right and Top-bottom structures. 

When I was going to design a puzzle for a character, I started with its origination of meaning. After diving into some references, I understood that the character "中" most likely came from a vision from the central bottom of the ancient Chinese house to its exit on the top with a ladder pointing to the sky. 

Following a similar design logic, I designed advanced puzzles consisting of two components with left-right and top-bottom structures. For advanced puzzles introducing complex oracle characters, I designed them to be unlocked along with their narrative events after the player completed the puzzles of their components.

Responsibility 2.

#2 Level Design.

Layout Design

Because the project was more focused on introducing oracle cultures and ancient history to the audiences, not a lot free of layout design was left to us. We tried to keep as much similarity as we can between our level and the actual layout of Yin City. Following the references we found from some archeological references, we managed to shrink down the Yin City size to a scope that fit our schedule.

Level Design.

When I was working on this project, I was responsible for the level design for this project. Starting from a hand-drew map, I created and organized all the puzzles along with associated dialogue events in the game. I was trying to optimize the player sightline and made use of the level space as much as possible. That's why I prepared two mono-characters as a closing of the game at the river bank near the avenue where the player walked along at the beginning.

Responsibility 3.

#3 Programming.

Model, View, Controller Framework

image.png

To reduce the coherence among different systems, I decided to implement the common programming framework MVC in our game. MVC stands for Model, View, and Controler where Model handles the data that is assigned by designers and programmers, View handles the presentation of data such as HUD and dialogues, and Controller handles the I/O, data operation such as calculation, encapsulation, update, and listening to callback.

Dialogue System

Since the game contains a lot of dialogue, I coded a dialogue system based on FSM (Finite State Machine) to give our story writer more convenience in changing the texts of dialogues. In each event, I coded a simple sequencer to handle movements, speakings, and animations of NPCs by Unity coroutine. 

Postmortem.

Postmortem.

What Went Well?

  • I successfully combined Ancient Chinese Oracle with clicking puzzles

  • I designed and organized our puzzles with progressing difficulties

  • We managed to build a level following archeological studies of ancient Yin City

  • Although we don't have an animation artist, I managed to script and frame custom animation in Unity

What Went
Wrong?

  • As a leader of the project, I forgot to keep an eye on the progression of every team member every week. It resulted in the team having an incorrect estimation of the remaining work to do

  • We didn't notice that our scope is too large, especially in terms of art assets. 

  • We tended to work solely rather than work as a team and it consumed extra time when we encounter blockers of progression.

  • We didn't have a lot of documentation that keep track of our development life cycle resulting in messing up tasks

What I
Learned?

  • A routine meeting is really doable while working in a team of over 2 people

  • While transforming a cultural concept into another cultural environment, certainly the intuition we are in doesn't work in the new cultural environment. Developers need to think outside of the box of their ideology and do the design

  • Talking with teammates about your progression and blockers is important to keep the progression on the right track and right pace

Gallery.

Gallery.

bottom of page