top of page
Debugger2.0.jpg
图片1(1).png

Debugger

Project Type:      2D Game

Tags:                  METROIDVANIA, Adventure RPG, Action, Puzzle

Video:   https://www.bilibili.com/video/BV14rgxeTEvZ/?spm_id_from=333.999.0.0

  • This project went through two versions of development.

  • It originated from a Game Jam, during which we completed the development of a platform puzzle game demo.

  • After the event, we gained new inspirations and completely overhauled the original content, transforming the project into a METROIDVANIA game.

Platform:            PC

Duration:            March 2022 to May 2022(1.0), February 2023 to now (2.0)

Team Size:         6 members

Main Role:          Team Leader, Lead Programmer,

                               Lead Game Designer - Level Design/ Combat System/ Story,

                               Environment Artist

Main Tools:        Unity, Aseprite, Photoshop

DEBUGGER 1.0
  • Initially, this work originated from a Game Jam event with the theme of roaming. We created the game with the inspiration of roaming in a programming world .

  • Players take on the role of a recently graduated programmer who faints from working late nights and enters the programming world.

  • Here, bugs transform into various mechanisms and monsters, and the protagonist embarks on an adventurous journey centered around debugging.

NEW Inspirations for Debugger 2.0
  • After the Game Jam event concluded, we had plans to continue with this project.

  • However, at this point, we realized that our original source of inspiration would significantly limit our target audience, as players other than programmers would struggle to understand puzzles centered around software bugs. So, we decided to completely overhaul the original content.

What can be called a bug?

During the brainstorming session, a new idea emerged:

Would an AI with intelligence and emotions equivalent to humans be considered a bug that needs to be eliminated?

 

In fact, this theme is not entirely new in today‘s context. Typically, many existing works of art have focused on how the  “superintelligent AI” would impact the real world. However, by integrating this theme with our original 'journey through a different world' concept, we discovered a new perspective which will give the storyline two distinctive features:

  • By assuming that 'superintelligent AI' already exists in a certain civilization and possesses its own identity independent of human society, it offers a new perspective on the relationship between AI and humans.

  • We want to grant the player a god-like perspective, allowing them to see the original settings of the world. The abstract concept of 'fate' is personified in the NPCs. NPCs can now be mirrored as humans themselves, then they can observe the NPCs' self-awareness awakening within their predetermined destinies from the perspective of an observer, prompting contemplation on the relationship between fate and self.

3HuayueZhang_Portfolio34.Jpeg
Worldview Setting & Story
manga.png
World Design
  • The following map depicts the territory of humans in the Cecilia Continent.

  • This is the first section we've created, which includes a relatively complete main storyline.

L0IXO3K9QA0BBV}$D(]2IFK.png
References for Environment Art Design
fa123538-fa27-4484-8cba-c4254f6ad868-24422902
IMG_0675(20231030-213621)_edited
IMG_0676(20231030-214114)_edited
3af0027b-d495-480a-b0b3-a0ed3e1593a7-24422902
IMG_0677(20231030-214224)_edited
Environment Art
  • The following images are from the real-time rendering images built in Unity engine.

  • With the time system, we completed the dynamic change of scene lighting to achieve the scene effect with the flow of time.

Level Design
地图与情绪曲线_edited.png
地图_edited.png
  • Here, I took a snippet from the beginner level as an example to showcase the level design.

  • In this section, the player embodies the protagonist Iris. While learning to operate the game, the player will encounter 3 NPCs and 4 special scenes, gaining intermediate objectives and background information.

  • L-1:                 Learn about the basic world background in the Iris Temple and begins the tutorial.

  • L-2-1:             Conduct advanced operation practice, uses the save function, and encounters the NPC-Old Man..

  • Advanced:    An Experienced METROIDVANIA game player can discover hidden areas and start a side quest early.

  • L-2-2:             Apply acquired actions to rescue the trapped NPC-Archer and acquire news from Lumintangrad.

  • L-3:                 An optional challenge with substantial rewards; players uninterested in action levels can choose to skip it.

  • L-4:                 Players encounter the NPC-Priest. Guided by him, they enter the level related to the main storyline of Iris.There will be                           more plot elements laid out in the scene.

  • L-5:                 The first junior boss appears. At the endpoint, the player will learn a skill for the first time and unlock the storyline.

  • L-6:                 The player is transported to a safe inn area, where they can fully relax. A mysterious sudden event will then                                             become the conclusion of the beginner level and the beginning of a new main storyline.

Character Design
  • Characters that appear in the beginner levels on the previous page.

OldMan.png
MC.png
Hunter.png
Priest.png
  • Identity:       

       Iris, the God of Rainbow (controlled by the player) .

  • Background:  

       The chosen one tasked with saving the continent,               serving as the messenger between gods and humans.

  • Features:

       Incorporates elements of the iris flower, wearing a               sleek purple uniform with flame-like hair tips.

  • Identity:       

       Adventurer Archer

  • Background:  

      Young and inexperienced

  • Purpose of Appearance:

      By rescuing him from the monsters, players will                      further practice their combat skills. Informing the                      player about the basic situation of the Cecilia continent.

  • Features:

      Practical adventurer's outfit, a bow and quiver.

  • Identity:       

       Mysterious Old Man.

  • Background:  

      Unknown.

  • Purpose of Appearance:

      Introducing the concept of rest points (save points            for healing), and planting seeds of suspicion for the          player's investigation.​

  • Features:

      A dark green robe, an entirely emerald-green long            sword.

  • Identity:       

       Priest, Missionary

  • Background:  

      Previously blessed by Iris, dedicated to traversing the            continent to fulfill the divine oracles.

  • Purpose of Appearance:

      Introducing Iris’ background story, providing guidance on        the significance of the current scene.

  • Features:

       Weathered priestly attire, holding a lantern.

All_NPC_edited.png
All_NPC_edited.png
  • The characters appearing in the next chapter

  • Identity:       

       Scholar

  • Background:  

      Literature lover, a researcher dedicated to                various studies.

 

  • Purpose of Appearance:

      Providing information about Origton, serving as        the starting point for the player's new storyline.

  • Features:

      Blue long dress, glasses, holding books.

  • Identity:       

       Bard

  • Background:  

      Displays refined manners and speech,                                suggesting a possible aristocratic upbringing.  

 

  • Purpose of Appearance:

      Initiating relevant side quests.

  • Features:

      Luxurious attire and a cape, feathered hat, Lyre lute.

Combat System
图片1(3).png
826ff6e7bf5ace9b181d2d5a6b19391.png
Core Mechanic - Bullet Time
  • When the player's weapon clashes with that of an enemy, it triggers a bullet time effect, slowing down the overall time flow.

  • During this period, the player can observe the enemy's actions, allowing for effective decision-making and the execution of complex combos.

  • This mechanic's design enhances the player's sense of control and achievement.

SRHB%~F]ZB_G$[{94JF%B`N.png
6GAY5A(Q6~6]M%$]M73I)KY.png
  • When the bullet time is triggered, the player will glide backwards in a slowing time, which is the time and distance for the QTE.

Dash +Dash Atk

Rising Strike +Ranged Atk

Ground Slide +Rising Strike

.......

QTE 

Core Mechanic - Ranged Attack
  • "Ranged attack" is a skill players can acquire in the early stages of the game. We have designed it with functionalities beyond just attacking, allowing it to be used for puzzle-solving.

Game Programming
  • As the main programmer, I did a lot of the coding work and was responsible for structuring the entire project and coordinating other programmers’ collaboration.

Player Controller
  • I initially used Unity's built-in animation state machine to create the player controller functionality.

  • However, as an action game, we designed more and more character actions and skills. To enhance the program's extensibility and enable precise control of animations, control interactions between attacks and being attacked, and detect multiple directional ground and wall interactions, I implemented my own character controller based on a finite state machine. Currently, I can freely add or remove skill actions using this system.

角色控制器UML.png
stateList.png
How to create a comfortable jump?
  • The feel of controls in a platformer game significantly influences its playability. In order to achieve a comfortable jumping action, I explored several platform action games with excellent controls and summarized the following key points.

Free Jump Height

  • Flexibly control jump height increases based on keypress duration.

1.png
2.png

Curve-Controlled Jump Speed

4.png

Make player inputs more forgiving

References

Coyote Time

  • Trigger jump action even after the player has been off the ground for a short period of time.

Dialogue System
  • The adequate dialogue system should not only perform basic text presentation functions but also be integrated with the inventory and save systems, capable of triggering various events like item submission panels and item acquisition notifications.

  • As a programmer, I need to ensure that the presentation format of the dialogue system is user-friendly for narrative designers who may not be familiar with the game engine and code.

Jump Input Buffer

  • If the player inputs a jump command shortly before contacting with the ground, the system should register this input and trigger the action after the player lands.

RF3
RF4
RF1
RF2
1P[}DH2T[2L9W{QB}B%6J}R.png
Dialogue_edited.jpg
5.png
6.png
  • Designers use the Scriptable Object to configure dialogue content.

Text Effect System
  • In order to create a lively dialogue system, we wanted to add different animation effects to the text to show the expression and tone of the characters.

TextAnimator.cs

Responsible for reading and playing text and animation.

TextAnimator_edited.jpg
ss_09635f1bcf91eb06b624d52b1ca74c0a26131876.1920x1080.jpg

Reference:

KATANA ZERO

Dynamic text animations enhance the immersion of the story experience.

TextAnimation.cs

Implement the effect of each animation concretely.

DE4G70_]X73)D5(}16)GP8D.png
AAMH%5XI9A71_8UWN7NJH}Y.png
`}SP0%Q18YZ1_QI2LSVCJ.png

Effect legend implemented within the game engine

bottom of page