COPPO Manuel / PORTFOLIO
>_Programming
>_Tools programming
>_Game Developpement
SHIFUMI
Technical
Language :
-
C#
API :
-
.NET
-
UnityEngine
Engine :
-
Unity
IDE:
-
Visual Studio
Game
Type :
-
Real Time strategy
support :
-
mobile
View:
-
Top-down
inspiration:
-
Auralux
description
"Pierre Feuille Ciseaux" is a project I started worked with Waika studio after my first partnership with them.
It is meant to be a top down view real-time strategy game on mobile. It is based on the so called shifumi game : 3 units with each of them a weakness. The player' goal is to take all enemies bases to win.
Missions
-
imagine and create mechanics.
-
Create the application structure.
-
Implement test version for game designer.
mechanics demo
Conception : uml

These following lines where the specification at the beginning of the project. We tried to implement a structure that was meant to evolve :
Units
-
There are 3 unit's types : Archer, Boomer, Shield
-
There've got the same behaviour but they've a different way to attack.
-
The archer can throw projectile
Bases and formation
-
A base is able to spawn a unique type of unit.
-
Each type of unit has a way to stack in a formation, depending of is shape.
-
A formation can be compose of each type of formation
Selection
-
A player can select and control its own units.
-
We must be able to test selection and other input both on computer and mobile.
units spawn
Each unit has his own type, shape, and a particular way to range in a formation. Archers are triangle, Boomers are circle ans Shields are square. Depending of there geometric, they spawn and range around there base in layer. Each layer are re-compute when a group of units leave the formation.
archer

boomer

shield

Mutli-unit formation
A multi-unit formation can be composed of the three types of units. To be relevant to the player, it is ordered from the least numerous to the most numerous in layer.
archer>BOomer>shield

boomer>archer>shield

Gameobject pooling
To avoid useless compute and to save resources link to creation and deletion of a GameObject, we use pooling through a "FlowManager" class. Indeed, for each state, we choose how many element must be shown and where. ScriptableObject, which are basically data container, allows us to save configuration and reuse it.
Flow manager

Flow manager script allow level designer to arrange the flow of an UI. He can choose how many state the scene will be composed, how many UI element the state have, and which function start. Each UI element is composed by his gameObject (button) and his configuration (scriptableObject)
scriptable object

Each ScriptableObject are data conteiner. We choose in script what kind of data will compose the scriptableObject. Another script will link data from SO to the GameObject.
example


In the following example, the same yellow button is re-use each time we click on it.

