INSTRUCTION
Task 1 Game Design Document
In Week 1, Chai Wee Yi and I teamed up. Our task was to brainstorm and
come up with initial ideas for multiple games. We each shared our
favorite game types and experiences, and then had a group discussion
to select the most promising concept.
We decided to focus on "high-difficulty platform jumping games"
because we believe that such games are challenging and can bring a
strong sense of achievement. At the same time, we also hope that the
game can have a certain emotional expression and narrative depth, not
just operational difficulty.
In order to better develop this direction, we began to investigate and
analyze some classic 2D platform jumping games, such as "Forest Ice
and Fire", "Super Mario", "I Wanna Be The Guy", etc. We focused on the
core gameplay mechanisms of these games (such as jumping physics, trap
setting, failure restart mechanism), level rhythm, and graphic style,
and also thought about how they connect with players' emotions.
We have initially established the following ideas:
The game is based on the world of consciousness, and the characters go
through levels in dreams or memories;
Each level may symbolize a stage or memory fragment;
The game rhythm is centered on "high failure rate + fast retry",
combined with emotional narrative.
Next, we plan to:
Collect more visual references of stylized games (especially pixel
style and dream style);
Clear the level structure and basic control logic of the game;
Week 3 Proposal submission day
Week 4 – Week 6: Refining the Game Idea
During Weeks 4 to 6, my teammate Chai Wee Yi and I focused on
refining and developing our initial game concept. We held several
discussions to solidify the overall direction and ensure that the
gameplay, visuals, and story were aligned.
Together, we worked on planning and outlining key components of the
project, including:
-
Overview
-
Introduction
-
Objectives
-
Genre, Theme & Setting
-
Look & Feel
-
Target Audience & Platform
-
Level Design and Stage Sketches
-
Storyline & Gameplay Ideas
-
Movement and Color-changing Mechanics
-
Flowchart
-
Inspirations, References, and Sketches
By the end of this phase, we had a clear structure for our game and
were ready to move forward with prototyping and asset development in
the upcoming weeks.
For details, please see figma
Task 2: Art Asset Development
In the subsequent development phase of the project, we made a clear
division of responsibilities: Chai was mainly responsible for the
development of art resources, including the production of visual
elements such as characters, props and scenes, which was also the
focus of the initial project. Of course, we also maintained close
collaboration - I also participated in some art design tasks, such
as the homepage interface, prop design, and map level design.
As the project progressed, I gradually turned to the development of
the Unity platform, mainly responsible for the construction of the
second level, function implementation and system integration; at the
same time, Chai also completed the development of the game start
interface and the first level in Unity.
CHAI Part
For Project 2, I was primarily responsible for the design and
rendering of art assets, including character design, scene
backgrounds, and the visual presentation of map levels. To enhance the
overall visual unity, I continuously adjusted and refined the artwork
throughout the rendering process, ensuring that all visual elements
were harmonious in style, tone, and detail. I also paid special
attention to the fit between the art style and the game's story. Based
on the established worldview, I tailored the character modeling, color
palette, and environmental atmosphere to ensure that the visuals
effectively supported the game's narrative and emotional tone.
Game character design
MAP design
BGM
For the game's sound design, I used Premiere Pro to create an
original background music (BGM) to enhance the game's emotional
atmosphere. The music adopts a low, subdued tone, incorporating a slow
tempo and intermittent heartbeats to simulate the physiological and
psychological experience of a person in a vegetative state. The
heartbeat, as the primary auditory symbol, intensifies the player's
immersion in the levels as they face death, loneliness, and fear,
while also creating a strong psychological tension for the plot.
Click the link to listen to bgm
Research for Coding
In terms of code, I was primarily responsible for the design and
implementation of the game's start interface, all of which was
completed in Unity. The start interface encompassed the visual layout
and basic interaction logic, including the "Click to Start" button
settings and jump functionality. I paired the interface with
background music that matched the game's atmosphere and added a volume
control function, allowing players to freely control the BGM volume
and enhance the overall user experience.
Although this was only the opening portion of the game, I focused on
maintaining a consistent style and smooth operation during the
interface construction process. I implemented various functions using
Unity's UI system and audio components, ensuring that the visual and
auditory elements synergized to convey the game's theme of "struggling
on the edge of consciousness."
I was also responsible for building the first level of the game. I
used Unity's Tilemap system to assemble and layout the map,
incorporating multi-layered scene elements to enrich the visual
presentation and create a level environment that matched the game's
style. Regarding props, I wrote custom scripts to add damage control
and interaction effects, ensuring that collisions between players and
props triggered the appropriate game logic.
The character's movement and actions utilize Unity's Rigidbody2D and
Collider2D components to implement physical collision detection and
gravity effects. Animator Controllers manage the transitions between
walking and jumping animations, ensuring smooth and natural character
movements. Scripts monitor player input to implement left and right
movement and jumping, improving responsiveness and user experience.
Throughout the development process, I focused on the appropriate use
of components and script optimization to ensure the level performance
and user experience met design expectations.
To facilitate team collaboration and code maintenance, we developed a
strong habit of commenting scripts. Specifically, we clearly annotate
the functionality and logic of each code segment after the line of
code, making it easier for teammates to quickly understand the code's
intent and implementation details. This practice not only improves
code readability but also facilitates communication between team
members, helping to maintain code quality and stable development
progress in a collaborative environment.
Getting started and first level testing
After testing, I found that the pop-up window prompting a return to
the beginning of the game after a character's death wasn't smooth
enough, especially considering our high failure rate. Frequent
interruptions affected player immersion. Therefore, I redesigned the
resurrection mechanic so that characters could be resurrected directly
at their spawn point after death, streamlining the process and
improving both game continuity and the player experience.
MY part
Prop Design
I designed the portal prop in the game as a visual element that guides
players to the next level. The portal is consistent with the overall
game style and has a strong recognition, making it easy for players to
quickly identify its function in the level.
When designing the damage items, I considered the setting of the
protagonist, who has become a vegetable after a car accident, in a
hospital. Scalpels are common medical instruments in hospitals, but
in the game, I wanted to give them a dual meaning—symbolizing both
healing and pain and danger.
So, I designed the scalpels as spikes and flying knives, acting as
traps in the environment. Lurking on the edge of consciousness, they
embody the protagonist's deepest fears and struggles, reminding
players to be cautious in their quest for memories and the truth,
lest they be harmed and destroyed by these potential dangers.
This design not only fits the game's story, but also enhances the
atmosphere and challenge, allowing players to better empathize with
the protagonist's psychological tornado and pain.
Game level design
From the very beginning, we decided to create a game with strong
gameplay. To this end, Chai and I spent a lot of time and energy on
level design, carefully planning every detail to ensure that each
level is challenging.
During the discussion of the clearance design, we decided to create
two main levels. The second level is divided into four stages with
increasing difficulty, aiming to allow players to gradually increase
the challenge and gradually adapt to the game mechanics.
Level 1 Design
This was the first level we initially designed, but after repeated
testing and discussion, we felt that the length and content of the
level were a bit thin, failing to fully demonstrate the game's depth
and challenge. Therefore, we decided to expand the level, adding
more details and gameplay to enhance player immersion and
exploration.
Furthermore, the game abandons the traditional linear, closed-path
design in favor of an open-ended level layout. Players can freely
choose different paths within the level, exploring a variety of
route combinations to discover the most suitable strategy for
completing the game. This design not only enhances the game's
freedom but also encourages players to experiment and innovate,
enhancing the overall gaming experience.
After improvement, the level 1 design is obtained
All level designs can be viewed by clicking figma
Research for Coding
I took over the remaining Unity development work, focusing on the construction and implementation of the four stages in the second level. Through meticulous scene construction and level logic development, I continuously refined the game's overall structure, ensuring the difficulty and gameplay design of each stage were reasonable and coherent.
In addition, I also oversaw functional testing of the game, repeatedly running and debugging, actively identifying and fixing bugs, and improving game stability and user experience. Through continuous optimization, I ensured that the game met our expectations on both gameplay and technical levels.
During the code implementation process, I consulted online resources
and tutorials, combined with Unity's functional modules, and gradually
built the core system and level logic of the game.
By watching this video tutorial, I learned how to implement the
function of automatically returning to a safe platform after the
character is killed by a trap, which effectively improved the user
experience and operational smoothness of the game.
public void PlayerDied()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
When used in games, it means that after the character dies, the game
will return to the starting point of the current level and the player
will need to restart the level.
Level 2, Phase 1 test video
To facilitate level testing and gameplay debugging during
development, I implemented an invincibility feature in the
player control script using a boolean variable named isWUDI.
When this variable is set to true, the player character becomes
immune to damage from harmful objects, such as traps or enemies
tagged with "knife" or "wall", and will not trigger the death
event.
The core logic is handled within the OnTriggerEnter2D() method
as follows:
if ((other.gameObject.CompareTag("knife") ||
other.gameObject.CompareTag("wall")) && !isWUDI)
{
EventManager.Instance.PlayerDied();
Destroy(this.gameObject);
}
This setup allows me to efficiently test level layouts,
collision triggers, and animation flows without repeatedly
restarting the game due to player death. The isWUDI variable can
be toggled manually via the Unity Inspector or extended with a
keyboard shortcut for real-time testing flexibility.
By checking the isWUDI variable's checkbox in the Unity Inspector,
you can enable the character's invincibility, making it immune to
damage during testing and facilitating debugging and level
verification
Through this series of video tutorials, I learned how to build game maps in Unity, implement the jump function between maps, and the automatic release mechanism of props. These skills allow me to build game levels more efficiently and improve the interactivity and playability of the game.
Full game test video
Some problems were found through testing and improvements were
made
Start the final stage of invincibility test
google drive:
评论
发表评论