“I”: A 2D Scrolling Game Demonstrating the Growing Experiences in A Person’s Life.
Rui Chen
Introduction
“I” is a 2d game aiming to explore the inner thoughts of one person during different life stages. This game is inspirited from Freud’s theory, id, ego and super ego, and trying to illustrate the relation of these three personalities by creating different playable experiences.
The dev log structure will include Introduction, Personal Aims & Objective, Task Management, Inspiration, Overview, Character Design, Level Design, Unity Project, Playtesting, and Critical Reflection.
Personal Aims & Objective
My major personal aim for this project is to create a game expressing a philosophical message. In the process of game development, I would like to explore the ways that how to combining game information with gameplay, so that players can receive deeper information with game experiences, and reflection beyond entertainment would appear.
Besides hoping to get improvement in gameplay designing, I also hope to accumulate some experience in narration designing, especially thinking about where to add suitable narrative elements. Since narrative tones of each level are different, the consistent of narration and gameplay should be paid attention to. There should be some means of smoothing the transition between levels, and narration is quite useful for this to alter the players’ current mood and adapt to the atmosphere in the next level.
In general, in term 3 project, I would focus on learning the ways of setting narrative elements in games, including the combination of narrative and gameplay, and exploring how narrative elements can affect players’ emotion and behaviours. I will use my game development skills and work with Anlin Liu, my classmate who is responsible for game arts, to create a mini game conveying philosophical ideas.
Task Management
1. Time Arrangement
Week | Tasks | Details |
01 | Working on Autobiography or Slice of Life game. Thinking about the theme. | Making a simple demo about life and dicussing with other students. |
02 | Working on Historical or Political game. Thinking about the theme. | Begining to think about the main theme for this term assignment. |
03 | Working on Meta or Philosophical game. Thinking about the theme. | Deciding what to do and whether to collaborate with other students. If the theme and group tasks have been dicided, the beginning steps including storytelling and level design should start. |
04 | Game design and development start. | At this stage, the followings should be decided: 1. The overview. 2. The main character. 3. The main mechanism. A simple demo should be produced for next week’s playtest. |
05 | Playtest. Game project continue. | In playtest, suggestions should be collected and written down for further improvement. At this stage, the followings should be decided: 1. Next leve design. 2. Suggestions sorted out. |
06 | Game project continue. | At this stage, the followings should be decided: 1. The transition between levels. 2. Detailed scene design for each level. 3. Major mechanics for Level 02. |
07 | Playtest. Game project continue. | In playtest, the previous suggestions should be checked. New suggestions should be written down. At this stage, the new suggestions should be taken into consideration. Level 03 development starts. |
08 | Final check and summarize. | Some final steps should be taken: 1. Music adding. 2. Bugs fixed up. 3. Playable version given. 4. Video recorded. 5. Summarize and reflect citically. |
2. Task Arrangement
In this project, I collaborate with my classmate. We design the main process for the game together by massive brainstorms and other people’s ideas. As for the development stage, I’m responsible for technical support, and Anlin is responsible for arts support.
Tasks | Details | Member responsible |
Design | 1. Narration a) background b) storytelling c) texts and dialogues 2. Gameplay playable elements for three levels. | Anlin Liu Rui Chen |
Arts | 1. Character design 2. Scene design 3. UI design 4. Sound design | Anlin Liu |
Program | 1. Character Interaction 2. Scene building 3. Core mechanics realization 4. Final output exe | Rui Chen |
Inspiration
1. Narration
The main story is inspirated from Freud’s psychoanalytic theory – id, ego and super-ego. In the psychology model of the psyche, the id means bodily initial wants, emotional impulses and desires; the super-ego plays the critical and moralizing role; the ego can organize the balance between the id and the super-ego and minimize the conflicts of these two concepts.
2. Arts Setting
a) Cut
Cut is an indie game released on Steam. It tells a story about looking for a plant called Ner, which is the inner fear itself, and overcoming it. The art elements in it look like hand-painted style. Here are different color matches in the game scenes.
Within warm colors, the atmosphere can be relaxing and happy. In the first stage of our game, the id occupies the main part of the personality, which is the source of the initial pleasure. So, we decided to use warm color tones to symbolize the personality, the id.

Black and white can make the scene look either strict and serious, which suits for the setting of our second stage. As the character grows up, she lives in a world of various rules, and the super-ego plays a main role in the personality to help obey the rules and behave itself in the society. We decided to visualize the super-ego with black & white.

Here comes the ego, which is the balance between the id and the super-ego. We use cold tones to create it.

b) Digimon Adventure
In Digimon Adventure, nine “Crests” used to represent the DigiDestined children’s virtues. In our game, we decide to set a few virtues for the players to collect, creating a sense of growing. And the visualization for each virtue can be referenced from these crests in Digimon Adventure.
https://digimon.fandom.com/wiki/Crests


3. Major Mechanic
When thinking of how to convey the concepts of the opposition between the id and the super-ego, we recall the theme of the Global Game Jam 2022, Duality. In our game, we suppose to use contrast elements including colors and areas to show the double personality. To be more specific, the personality can be visualized to be a scene itself.

In order to think of a suitable expression method, we refer to some games with double world mechanic. Unbound: Worlds Apart is a 2D platform game with double world play. In this game, the main character owns the ability to open the gates to the dark world. Only the environments in the portals can be affected, such as time, gravity and the character himself.


In our game, we use the double world setting in Unbound: Worlds Apart, to design that the id and the super-ego can exist at the same time. And the area region of each one means how much it occupies in the personality. For example, at the early stage of the character, she is young and energetic, so the world looks colorful and pretty. But she has to use the super-ego to cope with the problems in reality. The way is to open the super-ego circle, and utilize the differences in inner world to continue the adventure.
Overview
This game is divided into three part, and the id, the super egp, the ego dominate in each part, trying to simulate a person’s growing experience in life.
Stage 01: For a young person, the initial pleasure is the most important thing in life, so the world would be colourful to bring happiness. But when “I” comes across some issues or problems, “I” must make use of rules or knowledge to resolve.
Stage 02: When “I” grow up, “I” gradually accept the strict society, and the leisure time is less. As a result, “I” have to reflect on the childhood time to recover energy.
Stage 03: After accumulating a lot of experiences and finding the initial pleasure, “I” find a balance between the id and the super ego, and can make good use of them to live a better life.

Narration
In every transition part, narrative elements add a lot to help the player to understand what would happen in the next stage, and try to simulate their life thinking: have we met any situations like this in our life? The narration setting is mainly to convey a kind of philosophy message about the converting of the id, the ego and the super ego.
The followings are the main narration in this game.



Character Design
1. Looking. Three images have been designed for the id (pink), ego (green), and super-ego (purple).

For each kind of inner world, the color contrast looks as the following:


2. Action. Three actions have been designed for the character animation.

Actions and keyboard interaction:
Idle – the default statement
Walking – arrow keys left right or ‘A’ ‘D’ to control moving
Jumping – arrow keys up or ‘W’ to control jumping by an upward force
Level Design
1. Level 01 – The ID
The aim in this level is to collect four key elements to achieve the character’s growth. For each element, there can be a tiny task or puzzle to solve.
At first, in level 01, we thought communicating with some people can help demonstrate the process to learning in the young period. When sharing this idea in class, we are suggested that the different languages of the main character and the NPC can be illustrated by some abstract shapes. https://sienaproseminar.weebly.com/uploads/1/3/1/0/13109053/mollybang_reduced.pdf
But when we came to add more details for the plot in level 01, it seemed more suitable to set several virtues to gain, so that it is more obvious to see the growing process of a person in young life. To be more specific, we designed a task for each virtue, so that the character can get these with the help of the super ego personality.
Courage – Trying to be braver. The character will be encouraged to jump into the inner world platform and land safely forward to the ground.
Friendship – Repairing a broken friendship. The character could comfort the friends in a quarrel by pushing them to sit in a same chair.
Kindness – Saving the pet trapped in the high place. The character would go upward step by step to achieve the high place.
Knowledge – Thinking over using the current knowledge. The character would utilize the tools to cross the gap between the sides.


2. Level 02 – The Super Ego
This aim in level 02 is to follow the id circle to get to the end of the level in condition of keeping energy not running out.
In outside world, there are obstacles set on the road. When bump into these obstacles, the character could be hurt showing as the energy soon reducing 20%. In inner world, the obstacles become to be clouds, which can be treated as stepping stones, helping the character jump higher.
The character has to keep herself in the inner world circle. Once the character is outside, the energy begins to reduce. At the same time, if the character runs into the inner world, the energy begins to recover. If the energy runs out, the player has to restart this level.


3. Level 03 – The Ego
The aim is to reach the top point and meet the real self – finally find a balance between the id and the super ego.
In this stage, the playable elements are limited, just including jumping to a platform, and waiting it to lift to another. During this period, narrative elements will be focused on. As the platforms lift, the character will reflect on the past experiences, and gradually accept the real self.


Unity Project
1.Character Interaction
As what has been mentioned in Character Design Part, there would be three actions for the main character. To realize the interaction, three statements in coding have been set to divide the three actions. And the way to switch these actions is to use the keyboard.

When the character is far away from the ground, the statement is JUMP; when the horizontal variation changes, the statement is WALK; when nothing happens, the statement is the default one IDLE.
The following is the step to make the character walk. Move direction: the character object flips as the direction reverses. Move speed: the character object would get a speed to move.

The following is the step to make the character jump. On ground: if the feet object position is far away from the blocks with Ground layer, the character could be treated as JUMP statement. As a result, the jumping animation would run. If the character returns to the ground, the jumping animation would stop, and the idle animation would run.

Jumping force:If the character is on the ground, the up button could be pressed to provide an up speed to the character. However, if the character is on ground when jumping, the up button pressed would make no effect.

2.Double World
a) Inner-World Creating
Since this is a 2D game, the art assets in the scene are almost 2D sprites. It comes to me that Sprite Mask can be a good tool to show the double images of a same sprite. In Sprite Renderer Component, there are three options for Mask Interaction: None, Visible Outside Mask, Visible Inside Mask.

In Sprite Renderer Component, there are three options for Mask Interaction: None, Visible Outside Mask, Visible Inside Mask.




As a result, for the elements in outside world, the mask interaction should be set as Visible Outside Mask; for the elements in inner world, Visible Inside Mask should be chosen; for the elements not different in both worlds, just choose the default option None.
We suppose that the player could press both “Shift” on keyboard to create the circle. The world active statement can be decided by a bool variation. Also, circle duration should also be noticed:
In level 01, The circle showing time is set to 0.25 seconds. The initial size would be kept for two seconds. Then it begins to shrink, and the shrinking time is five seconds. In level 02, the circle is always in the scene, but it would run automatically to the ending place.
b) Elements in worlds
- In both worlds
Double sprites with the same position or size should be used to show a single element which exists in both worlds. The picture below shows some elements in the process to collect Friendship.

- Only in inner-world
The elements with collider interaction should be hided when the inner world is closed, so that the character could have no interaction with the hided elements.


- Elements interaction changes in different world

In order to realize different functions in double world, some scripts about trigger colliders have been created. The thinking idea is that if the character is in the element box collider, and the element box collider is in the inner world collider, the character would not be hurt by the element, instead, she can jump up by a force created by the element. What’s more, if the character is in the element box collider, with the element box collider is in the outside world collider, the character would get hurt.
3.Physical Engine
a) Collider 2D
- Trigger
For the blocks that the character could not enter, Is Trigger should not be checked. For the blocks that the character could pass through, Is Trigger should be checked.

This can be used in level switch: When the character goes to the end of one level and enters the 2d collider, the next level would run. Also, in Level 03, the color changing realization has made use of box collider 2d.

- Not Trigger
If some items could not be passed through but could be pushed by the character, a 2D rigid body component should be added. As for Level 01 – Friendship, that an image could be pushed only in inner world, constrains about position and rotation should be added in outside world and closed in inner world.

b) 2D water in Unity
When I worked on Level01 – Knowledge, the greatest problem is to make a 2D water effect. I had no idea about how to realize the floating effect of the objects on water in 2D scene. In fact in 3D scene, there are a lot of plugins or tools to help float items on 3d water.
I have asked on class and got a suggestion to provide a constant force when the item comes in the water. However, I found it is hard to adjust the force, it could be too strong or too weak, causing the item being bounced out or passing down througn the water.
So I began to find other ways. When I searched on Youtube, a good solution came to me. Buoyancy Effector 2D can be used to simulate the water floating in 2d scenes.


When using this component, surface level should be adjusted when an item is pushed into the water, so that it could float at the surface in a right level. When pushing something into water, it will float at the level on the surface.
Playtesting
1. The First Playtesting
During first playtesting, we showed the basic mechanics in our game and accumulated lots of suggestions. Luckily, all those suggestions have been taken during later developments.
No. | Suggestions | Solutions |
01 | Some blocks could be hiden when the inner-world appears, that could be convenient for players to go forward. | This has been added after the courage collection stage. I set some obstacles on the way to stop the player going forward, unless opening the inner-world. |
02 | The color of the bunny could be changed when the inner-world appears, to show a different personality. | The bunny have been added two sprites with the same size and different colors. I realized that the pink one would show in outside world and the purple one would show in inner world. |
03 | The color of the bunny is nearly the same with the background. The background color could become deeper to dinstinguish. | Instead of changing backgrond color, there are some changes on the main character. Anlin modified the character and added a shining border to it. |
04 | In the later stage of Level 01, the narrative ways could be too straight. Some players may not be willing to abey the rules. | I tried to combine the narrative elements with mechanics to help smooth. I reduced other possible paths for players, so that they can only experience this level alongside the certain path. The way to achieve is to adjust the width and gap between the blocks, so that the player has to finish the puzzle or task first, then get a way to go forward. |
05 | The blocks are too small | We keep the size of the blocks, because we believe the step by step processing can create the growing feelings. |
06 | When the player passes through the characters after courage collection, the characters’ real looking in inner-world may be ignored. | I set some obstacles in front of every character, so the player has to open the inner world to pass. When the player open the inner world, the real looking for each character would appear at the same time. |
07 | The characters after courage collection and the characters in friendship stage could be mixed up, since they are the same pink color. | I make the friendship characters far away from the former ones, so that the players would not mix them up. What’s more, I set a puzzle during friendship period, so that the players have to notice the two friends characters and try to take some actions. As soon as the character enter the friendship collection area, the forward path would be closed until the broken friendship is fixed up. |
08 | A shrinking animation could be added to the circle, to tell the player when the innner-world would be closed. | I added the shrinking animation to the circle, it seems good and more interesting. It can be seen in this dev log: Unity Project – Double World – Inner World Creating. |
09 | The collider should be the same size with the blocks. | I adjusted the colliders to the right size. When I think about how to let the character go upward, I designed some lifting blocks. When the bunny steps onto such blocks, the blocks would lift the bunny to the higher place. |
2. The Second Playtesting
After two weeks working, the second playtesting was held. We completed the mechanics for the second level, so that the player could chase the circle.
No. | Suggestions | Solutions |
01 | The bouncing steps on the cloud in inner world are too hard. | If the player just entered the cloud collider without pressing anything on keyboard, the character would be given a certain upward force. |
02 | The texts should show for a longer time. So that the player can better get the message. | I adjusted the text collider to longer ones, hoping to make the character stay in these boxes for a longer time. |
03 | The knowledge collection in level 01 could be made better. | I added the 2d water floating to this part. It can be seen in this dev log: Unity Project – Physical Engine – 2D Water in Unity. Also, I fixed the platform tool in outside world, and made it possible to be pushed in inner world. So that the player could push the platform to the river with the help of the circle. |
04 | Music and sounds should be added. | Anlin searched music suitable for different atmospheres for these three levels, and sounds of jumping and opening the circle for the main character. |
Critical Reflection
I feel satisfied with my performance on this project and really love the final output. During the development, I understand that the combination of narration and gameplay can produce many wonderful reactions and effects. For example, in the first level, the process of collecting elements by text guides can be regarded as a person’s growth experience. Besides these, there is a lot of room for improvement.
- Character Operating Feeling
Character operating feeling should be improved especially jumping.
- Jumping Animation
The character jumping animation and the character jumping process are not well matched. When the character jumps up, the animation of before jumping (jumping preparation) is played; When the character falls, the animation of during jumping is played. Although gameplay runs without any trouble, it looks a little strange.
What I need to do is to communicate with Anlin first about whether the character animation needs to be replaced with a direct jump, without preparation stage. If that doesn’t work, I might add a delay to jumping and let the character jump after the preparation animation is finished.
- Jumping on Cloud
In the second level, the character can be bounced to higher places by clouds. I provide the character with an upward force in the collider. In the second play test, I noticed that many players like to press Space controlling the character to jump when the cloud is bouncing, so the force of the cloud and the force of the Space bar conflict with each other, which makes it difficult for the character to jump to the ideal height.
What I need to think about is how to integrate the force of the cloud and the force of the character, to increase jumping height instead of reducing. It can be referred to the character jumping in “Ori and the blind forest”. In it, pressing the space bar on the stepping items can help the character jump higher.
2. Level Design
- Second Level
I suppose the second level design needs special attention. In the second playtest I observed that once the player can’t keep up with the circle at a moment, he will never be able to keep up with the circle unless restarting. The main reason for this is that I a fixed movement for the circle: the circle can only follow this path in a limited time.
I think it may involve some numerical and maths knowledge, including considering the relationship between the player’s movement speed and the circle’s movement speed. Maybe the movement of the circle can be adjusted according to the player’s behaviours, for example, if the player has been outside the circle, is it possible to set a waiting mechanism? These need to be thought over.
- Tutorial Part
I believe the teaching mechanism of the first level is perfect, using texts to guide the player to control the bunny. But for the second level, the teaching mechanism needs to be made some changes on, because when it is the first time to play, a lot of players don’t know their current task is going to chase the circle, and don’t realize it until they fail. Perhaps a clearer guidance should be added. However, there is also a sound that players should firstly fail in the second level, because actually happiness in complex real life is an extravagant hope and cannot be obtained too easily.
3. Narration
Despite the addition of some texting descriptions, I think the narrative elements of this game are not enough.
In particular, there should be stronger narrative mechanics in the third level to render the atmosphere. At present, the way to send a message is just to make the texts show following the player’s path and be triggered one by one. In order to make it more interesting, I used the platform colour changing mechanism to guide the player to get to higher places. This is also the realization of my personal aim: to combine the narration with gameplay.
However, that’s not enough. Narration could be combined with many other things such as visualization. In the third level, the main character would meet the real “I” – the ego, and finally find the balance between the id and the super ego. If there is a strong visualization to help illustrate such contents, I believe that the players will be more impressed and shocked.
The above is the dev log of “I”. Thanks to my friend Anlin for the arts support. Thanks to the teaching team and classmates for the valuable suggestions to help make our game better.