Myth of Pangea





Overview

Project name:
Myth of Pangea

Genre: Fantasy RPG, 2D point and click, Visual novel

Platform: PC

Engine: Unity 3D

Other software or services used: Paint Tool SAI and Photoshop CS5 (for 2D art), Unity plug-in nGUI, Unity plug-in iTween

Team size: 1

Responsibilities/Role: Scripter, Game designer, Writer, 2D artist

Project status: Ongoing


Myth of Pangea is a 2D fantasy RPG game which is planned to be developed for both mobile platforms and PC. The game's graphics is in a mix of a visual novel and isometric point-and-click game from bird view. This game is a story-heavy 2D-game where the player follows the tale of a fateful meeting between two people who travel across lands to uncover a truth hidden from humanity.

The game contains RPG-elements, such as turn-based combat, and companion characters that the player can interact and develop different relationships with. You explore the world by clicking the various objects in your environment.

Myth of Pangea is a game concept I've been working on during my spare time. It started out as a showcase of my skills when I applied to Future games 2012 to study game design. At that time, I made a prototype of the conversation system in Java using the Swing library. Since then, the story and game mechanics have evolved, and I've switched over to using Unity and scripting with C#.

Myth of Pangea is a solo project, which means I've created everything myself, from graphics to story and mechanics.

I also have a blog where I post updates regarding this project. The main difference between the content on my blog and what's displayed here in my portfolio is that on my blog I post small updates about all areas of the game more often while here I describe the design and mechanics in more detail.

There's also a playable demo here of the first room in Valerie's prologue.












Sections

I have two sections on this page, the Game Design section and the Writing section. Each of these sections has several categories in them where I describe the mechanics in detail.

Game design section
  • Why a 2D-game in Unity?
  • States

  • Game World
  • Movement

  • Interaction with objects and people
  • Conversation system

  • Combat

  • Writing section
  • Story
  • Character selection - Choose your main-character


  • Why a 2D-game in Unity?



    I knew that I wanted to continue to use Unity and script in C# as my specialization in school. So while pondering over what to create, I decided to dust off an old unfinished project and continue to expand on it.

    This game concept was for a 2D game because it was designed after what type of game I like. Another major part of why I went with 2D was also due to the limitation of the team consisting of only myself.

    In the end, it all boils down to making a game that I like.


    States



    There are 4 main states that game can be in. City, World, Combat, and Conversation. These states are based on the four biggest largest game mechanics. The state controller manages these states and ensures that certain mechanics that are only supposed to be available in a particular state doesn't get activated during other states.





    Game world



    Movement



    In the game world, the player will be able to move a character around in the game by clicking on doors to move to new areas. It's point-and-click like, with a camera offering an isometric bird-view over the towns or rooms. Rooms that are adjacent to the room you are in are greyed out in the game world. In the mini-map, the adjacent rooms are fully visible. The small symbol in between the rooms is the symbol for a door. The arrow is pointing in the direction of where it leads you.

    I choose this because it felt suitable for the platform Myth of Pangea is being developed for, which is Mobile platforms. The character you'll be playing as won't be present as moving the character around would require animations, and instead the camera can be freely panned in four directions if the environment is larger than what can be seen at once on the screen.

    There is also a zoom-function if you want to examine the environment for details.




     

    Interaction with objects and people







    To interact with objects or other people in the world, the player must click on them using the right mouse button. You can click around in the environment to interact with it in different ways. It can be exiting or entering an area, going to a shop, talking to a character or examining something on the wall.

    Whenever the player has clicked on something that triggers at minimum one line of dialogue, the in-game world will pause and the conversation screen will be brought up. You can read more about the conversation screen in the conversation section below.

    The camera is attached to the character and will always follow the character from a third-person-view, slightly from above.






    Conversation system







    The conversation system in Myth of Pangea is much like in a visual novel. Many conversations can occur between the main characters and support cast.

    At the beginning of the game, you'll get to choose which character you want to play as. The main storyline will be the same for either character, however, certain scenes and quests might differ depending on which character you picked. For example, the two characters you can choose between, Sal and Valerie, have their own prologues which will offer you an insight into how their lives were prior to meeting each other.

    In order to keep this section shorter, I've compiled all the mechanics that are tied to the Conversation mechanics in a document.

      View the Conversation Mechanics Design Document






    Friendship and romance system





    The player can choose to play as either of two characters, Valerie or Sal. The other character, not chosen by the player, becomes the deuteragonist.

    In addition to the two main characters, there are in total 6 characters that can join the party. You'll stumble upon these recruitable characters at different points during the story.

    Depending on what choices the player does and how the player acts towards his team-mates, the companions might like or dislike the player to different degrees, or rivalries may form. In some cases, romance may arise.

    The friendship system between the player and NPCs will be point-based. The closer a character is to the player, the more points will the character has in Friendship Points, FP. Other things will also count in on how a team member feels about you, such as how you responded to certain conversations, or what actions you made.

    For instance, you have two teammates with low FP and you chose to complete a sidequest by saving a small village. One of those characters thought that was the right thing to do and respects your decision while the other one thought it was more important going after the culprit as that character feels like another village will get in trouble as long as the culprit runs free. The first character might feel like even if you two fight a lot, s/he believes you'll make the right decision in the end. While the other companion lacks that faith and only harbours dislike for you.

    Characters that you get along with well are more likely to take your side or become convinced to take your side while characters you don't get along with might be harder to convince or just flat out say that they rather sit this one out. In some cases, those characters will reach a point where they feel like they can't continue on with you on this journey.

    More info about the characters themselves can be found in the Story and Characters section.






    All conversations are in their separate scripts, but they all inherit functions from a parent script. This script contains variables and functions that are used in most conversations, such as:

  • Functions to update the FP and LP values for all characters.


  • A dialogue step.


  • Dialogue options.


  • Conversation to end.


  • A dialogue step is a screen that displays during a conversation. A new step is reached by clicking on the right mouse button. A new step contains new text in the form of dialogue, dialogue options and/or the text in the name box, as well as a change in sprites and sound.

    All these functions need to be called in order for them to occur, and the separate conversation scripts do this.

    Every conversation script contains:


  • The number on how many people are involved in this conversation.

  • Which Characters are involved.

  • All the dialogue steps for this conversation.

  • When dialogue options should appear.




  • Each step contains the active line of dialogue, who is talking and any sprite changes. You can press spacebar to skip to the last line of dialogue, or if there's a branch before that, you'll skip to the sentence before the branch.






    Combat



    The combat in Myth of Pangea is turn-based. The player controls one character at a time while all other participants in the combat remain still. There are multiple actions that a character can perform, and the player gets to choose one action for every member in his, or hers, party. When the player has picked an action for all characters, the actions will be played out.

    The available actions are:

  • Melee attack - Attack an enemy with the character's melee weapon.


  • Magic/Special attack - Use a special attack or magic attack against the enemy. What special attacks that are available depends on the character and its level. All special attacks cost Stamina Points (SP) to use, usually the stronger the attack, the higher the cost.


  • Defend - Raise your defense x2 for this round only. Useful to defend yourself against attacks when waiting for the healer's turn to cast a recovery spell.




  • The combat consists of two phases, one where all the input from the player is handled (Planning phase), and the second one where all the calculations and actions are played out (Simulation phase).

    Below is a flowchart displaying the script events in combat.





    When a battle starts, the game will move from a different state, that's called the Battle state. In this state, several functions that work in the overworld view such as viewing the menu.

    The battle states first fetches all battle data from the characters in your party, at the same time another script called EnemyEncounter will randomize a number between 1-5 which will serve as the number of enemies in this encounter. Then it will send a call to another script that works as an enemy register that will randomize different enemies to fill a list.

    The list is filled with GameObjects that has an enemy script on it, and it will randomize enemies and fill the list with the amount of enemies that EnemyEncounter decided on.

    using UnityEngine;
    using System.Collections;
    using System.Collections.Generic;
    
    public class EnemyEncounter : MonoBehaviour 
    {
    	public List currentEnemiesFacingGameObjects;
    	
    	public int numberOfEnemies;
    	public int randomnizedMin;
    	public int randomnizedMax;
    	
    	private EnemyRegister m_EnemyRegister;
    	
    	
    	void Start () 
    	{
    		m_EnemyRegister = (EnemyRegister)FindObjectOfType(typeof(EnemyRegister));
    		numberOfEnemies = Random.Range(randomnizedMin, randomnizedMax);
    		Debug.Log(numberOfEnemies + " Enemies to face!");
    		currentEnemiesFacingGameObjects = new List(numberOfEnemies);
    		
    		for(int i = 0; i < numberOfEnemies; i++)
    		{
    			FetchingEnemies();
    		}				
    	}
    	
    	public void FetchingEnemies()
    	{
    		m_EnemyRegister.fetchEnemyFromRegister();
    	}
    }
    	


    Every character that participates in combat, companion or enemy, inherits from the script BattleUnit. This script contains variables and functions that all participants of combat needs to have, such as a strength stat and defence stat.

    Elements and types



    All characters, including enemies have a melee-weapon or something that corresponds to a melee-weapon. Melee-weapons can be one of three types: Slashing, piercing or blunt.

    Special melee attacks are special in a way that they can be two elements, either one melee element and one elemental element, or two melee elements.





    Menus







    The main menu can only be brought up by the player from the overworld by pressing the Escape key. There are 6 buttons on the menu, five of them leads to different menu screens.

    Team



    The team screen will lead to an overview of all characters that you have recruited during your journey. From the overview you can view all the characters' health and stamina, manage which characters to have in your party and check every individual character's overview. The character overview will display the name of the character, and a character portrait to the right. To the left there's information displayed in a box and three tabs above that box. Clicking on one of the tabs will make the information change.

  • Character overview displays a quick overview of the character's battle stats, a diagram that displays what stats the character excels in and which ones they don't, health and stamina, and a small description of your bond with that character.


  • Battle stats will display a more extensive description of the character's stats in battle, including all elemental weaknesses/resistances, items equipped and a button that will display all special-attacks.


  • Character history displays information about the character. More information is unlocked and displayed the more you talk with the character and as the story progresses.


  • Story and Characters



    Myth of Pangea tells the tale about two characters from different worlds meeting, and how their journey together uncovers the truth behind the worlds and the supposedly called Gods who created the worlds.

    Sal comes from a rich Pankraterra family that owns a profitable mining company. He lives together with his family in the city of Montagna Nera. He gets a feeling of enjoyment and contentment that his household is very lively as, he feels the most happy when there are always things to do and things happening around him. His family proudly parades him around in the company as the next successor of the company. But things never come to that, as he one night checks the mines after hearing mysterious noises. As he thinks he has found the source for all the noise, he blacks out and wakes up in an unknown forest.

    On the other side of the veil is Valerie. Valerie is a priest in the Order, the army of the Goddess who resides in the world of Genesia. All of her family members are loyal to the Goddess, Genevieve, and serve her loyally by being soldiers of different ranks and roles in her army. However, serving the Goddess is a busy life, so she travels the land endlessly, helping those in need.

    So after finding Sal wounded in the forest near her home town things shouldn't have felt as strange as they did. It soon turns out that their meeting was the beginning of an epic quest to search for the truth and that they have to challenge what they once thought was, or wasn't real.

    Both of them become swept along on a perilous journey where things Sal once before saw as fiction, such as demons and magic, are very real. Sal decides to cross the foreign land with the help of Valerie, in order to reach the capital where the Goddess resides in order to get back home.

    In the beginning of the game, the player has to choose which character they want to play as, out of Valerie and Sal.

    Character selection - Choose your main-character









    The character selection is a very important function that alters the perspective of the story, but also enables different options for the player. The main characters are Sal and Valerie, and are the two characters that the player can choose between.

    Below is a link where you can view and download a writing sample which contains information about the differences between the main characters, information about the main characters, and all of the text which appears in each individual prologue.

      View the Writing and Document Sample: Character Selection