Technical Design Document - Infamous0192/slayer-angel GitHub Wiki
1 Introduction
Ini adalah sebuah game Idle 2D Endless Runner. Goal dari permainan adalah membunuh musuh sebanyak mungkin untuk mendapatkan resource untuk menjadi lebih kuat dan menyelesaikan Stage. Stage dari game ini memiliki 3 mode yaitu mode base (idle), mode runner (semi-idle) dan mode boss (action). Player dapat melakukan Upgrade pada Equipment dan Skill yang dimiliki.
1.1 Purpose & Objective
Tujuan dari Project ini adalah sebagai tugas akhir program Studi Independen dari Agate, yaitu membuat prototype sebuah game. Konsep dan ide yang kami ambil disini berdasarkan tugas dari Agate sebelumnya pada fase Pembuatan Konsep Game.
1.2 Project Scope
2 Technical Overview
Game ini akan mengimplentasikan fitur berikut:
- Character Upgrade dan Skill Upgrade.
- 2D Endless Runner dengan infinite scrolling.
- Save Progress dari Player.
- System checkpoint berdasarkan jarak yang ditempuh oleh player dalam satu stage.
- Battle System (Melee Combat & Skill Casting)
- Skill Slot.
2.1 Target System Requirement
- Platform/OS: Android 5
- RAM: 512 MB
2.2 Tools Used
User | Tool | Version |
---|---|---|
Programmer | Unity | 2020.3.16f |
Programmer | Android SDK | Platform API 26 |
2.3 Engines & Middlewares
2.4 File Format
Type | Format | Description |
---|---|---|
Assets | .png | Digunakan untuk sprites dari game |
Audio | .wav | Digiunakan untuk seluruh sound dari game |
Code Script | .cs | Game Script |
2.5 Technical Code
- Platform/OS: Android OS
- Programming Language: C#
3 Technical Feature
3.1 Save Progress Data
Progress dari pemain akan tersimpan di localStorage dan di cloud menggunakan platform firebase. Berikut adalah data pemain yang akan disimpan oleh sistem.
3.1.1 Player Stats
Berisikan stats dari player.
{
"Gold": "double, jumlah gold yang dimiliki",
"AttackPower": "double",
"MaxHealth": "double",
"MaxMana": "double",
"CurrentHealth": "double",
"CurrentMana": "double"
}
3.1.2 Stage Completion
Berisikan informasi Completion pada suatu Stage.
[
{
"Name": "string",
"SceneName": "string",
"Checkpoint": "Range[0, 1f]",
"IsUnlocked": "boolean",
"Distance": "double"
}
]
3.1.3 Equipment Upgrade
Berisikan apa saja upgrade yang dimiliki oleh pemain.
[
{
"Name": "string",
"Level": "string",
"IsUnlocked": "boolean"
}
]
3.1.4 Skills
Berisikan skill apa saja yang dimiliki pemain dan level dari skill tersebut.
[
{
"Name": "string",
"Level": "string",
"IsUnlocked": "boolean"
}
]
3.1.5 Skill Slot
Berisikan slot skill pada karakter. Berupa array dengan panjang 4 atau maksimum slot dari skill.
[
{
"IsUnlocked": "boolean",
"Skill": "[SKILL_CODE]"
}
]
3.1.6 Base Upgrade
In Progress
3.1.7 Summary
{
"Stats": {
"Gold": "double, jumlah gold yang dimiliki",
"AttackPower": "double",
"MaxHealth": "double",
"MaxMana": "double",
"CurrentHealth": "double",
"CurrentMana": "double"
},
"Stage": [
{
"Name": "string",
"SceneName": "string",
"Checkpoint": "Range[0, 1f]",
"IsUnlocked": "boolean",
"Distance": "double"
}
],
"Equipment": [
{
"Name": "string",
"Level": "string",
"IsUnlocked": "boolean"
}
],
"Skill": [
{
"Name": "string",
"Level": "string",
"IsUnlocked": "boolean"
}
],
"Slot": [
{
"IsUnlocked": "boolean",
"Skill": "[SKILL_NAME]"
}
]
}