Games Development :Homework

Games Development


Homework

Week 1 Game Ideation 

Introduction:

1. Independently conceive of at least one (or more) game ideas, taking into account practical constraints.

2. Prepare your first game proposal. No fixed format is required. Communicate your ideas creatively and effectively. Some students will be required to present their ideas for 10 minutes during W2, followed by a Q&A session.

3. Document the ideation and proposal process in a personal academic blog and submit a link to the blog by 11:59 PM before W2. This assignment will count towards your ongoing assessment grade (it may not be the final project).

Inspiration:

After the first class, I went home and played "Dogwalk," a very soothing puzzle game.

I was inspired by it and thought about my memories, so I tried to conceive my own game.


“The Last Train of Light”

1. Game Concept
  • Genre: 2D Side-Scrolling Adventure + Puzzle + Light Narrative
  • Core Experience: Players explore a dream train traveling through the night sky.
Core Mechanics:

1). Lantern Lighting: Illuminate the darkness to discover hidden paths or secrets.
2). Time Brush: Paint the "power of time" to change the state of objects (younger/older).
3). NPC Interaction: Each carriage has a unique character, whose stories and puzzles drive the plot.

Theme: About memory, time, and choice.

2. World Setting
  • The entire game takes place on a dream train.
  • As the train travels through the night sky and the stars, each carriage carries a "forgotten memory" or "unfulfilled wish." 
  • The player is a "traveler," given a lantern and a time brush. Through exploration, they must help NPCs complete their unfinished stories.
3. Character Design

Protagonist: The Painter

  • Appearance: Clad in a long trench coat, holding a lantern and a paintbrush, with a mysterious silhouette.
Abilities:

1). Uses the lantern to illuminate darkness, revealing hidden paths and objects.

2). Uses the time-brush to paint objects, causing them to recover or decay.

3). Personality: Quiet and reserved, the player's avatar.


NPC Examples

1. The Conductor

  • Appearance: Top hat, long coat, face constantly obscured by shadows.
  • Role: Guides the player into different train cars, like a gatekeeper.
  • Symbolism: Fate and choice.

2. The Child with a Broken Toy

  • Appearance: Holding a broken mechanical rabbit. 
  • Mission: Use the "Time Brush" to restore the rabbit, and the child will smile and present the key.
  • Symbol: Lost childhood memories.
3. The Old Musician
  • Appearance: Carrying a broken violin.
  • Mission: Help him repair his instrument; after the player solves the musical rhythm puzzle, he will play and illuminate the entire carriage.
  • Symbol: Forgotten dreams.
4. The Silent Passenger
  • Appearance: Seemingly ordinary, but silent.
  • Purpose: Their true identity is revealed only at the end, possibly reflecting the player's own shadow.

4. Game Mechanics

1). Lantern System
  • Limited lighting range: players must balance exploration and safety.
  • Certain traps and platforms are only visible under light.
2). Time Brush System
  • Blue Paint: Restoration/Rejuvenation → Repair broken bridges and regenerate withered trees. 
  • Red smear: Decay/aging → Causes stone pillars to crumble and enemies to age and dissipate.
  • Players must decide when to "repair" and when to "destroy."
3). Carriage Exploration
  • Each carriage is equivalent to a small level and a short story.
  • Format: Platform puzzle + dialogue with NPCs + small quests.
4). Narrative Progression
  • Carriage = fragment of memory. Once completed, the NPC will leave the train (finding a home).
  • Players gradually discover their connection to these memories.

5. Visual and Art Style
  • Style: Hand-drawn 2D + watercolor smudges.
  • Tone: Dreamlike, gentle, and slightly melancholic.
  • Atmosphere: Predominantly dark backgrounds, with light and color as the main focus.

6. Ending
  • Multiple endings: Depending on whether the player chooses "repair" or "destroy" during the journey. • If the player repeatedly helps NPCs, the train heads towards Dawn, symbolizing hope and rebirth.
  • If the player repeatedly becomes destructive/indifferent, the train heads towards the Void, symbolizing oblivion and the end.
  • Hidden ending: The Silent Passenger is actually the protagonist's "other side," and the final stop requires a conversation with his or her own shadow.

7. Unique Selling Points
  • Unique mechanics: puzzle-solving gameplay combining lantern illumination and the brushstrokes of time.
  • Emotional Storytelling: Each NPC's story gradually prompts the player to reflect on "what memories truly matter."
  • Art Style: A dreamy watercolor aesthetic combined with light and shadow creates an immersive experience.

Week 2 Modeling

Introduction:

1. Core Tasks: Create 1 3D main character model + 1 environmental object model (based on your game idea) and import into Godot. Some students share asset creation experience for 10 mins in W3.

2. Submission: Document the process in your blog, and submit the blog link by 11:59 PM before W3 class. The asset counts towards Continuous Assessment (not the Final Project).

I chose the protagonist and the broken mechanical rabbit from my previous game idea, and I started to try to draw a sketch:

Protagonist sketch:


Broken mechanical rabbit sketch:

 


After finishing the draft, I started to try modeling.

I imported the sketch into Blender for reference:

Environmental object model

Broken mechanical rabbit:

I imported the sketch for reference


 

After finishing the whole thing I added some details




This is the final model:

When I tried to add gradient color to the body, I didn't know why the rabbit's legs and feet could not be colored evenly and show lines. I searched for related cases online, changed the wiring, and finally solved this problem.





Main character model:

Protagonist:

I also imported the sketch for reference.


Then I tried to create the body of the character.



I tried to create a cape but failed, so I looked for tutorials online.



I noticed it looked a bit weird from the side so I adjusted it again.



Then I colored




Finally, I imported these two models into Godot according to the teacher's instructions.



Week 6 Homework Log: Using GDScript to Control 3D Object Animation


🧩 Homework Theme

This week's homework theme is scripting practice.

We were required to try using GDScript to control objects in a game engine, such as moving, rotating, or scaling objects, and to use variables, functions, conditional statements, and loop structures.

The teacher said the focus is not on creating a complete game but on understanding how code affects the behavior of objects.

🪜 Production Process

Step 1—Creating a 3D Scene

I first created a new 3D project in Godot.

After opening it, I created a Node3D node in the Scene panel and named it Main as the root node of the entire scene.

Then I saved the scene as main.tscn for later use.



Step 2—Creating the Player Child Scene

Next, I created a new scene, selected CharacterBody3D as the root node, and named it Player.

Under it, I added two child nodes:

CollisionShape3D: This is used to set the collider. In the Inspector, I selected New CapsuleShape3D, set the radius to 0.3 and the height to 1.0, and then changed its position to (0, 0.5, 0) so that the collider wraps around the character.

Sprite3D: This node is for display. I directly used Godot's built-in icon. svg as the texture to make the player look like a small 3D icon.



After completion, I saved the scene as player. tscn.

Step 3—Add the Player to the Main Scene

I opened main.tscn, then selected the Main node in the Scene panel, right-clicked, and selected Instance Child Scene… to load the player. tscn I just created.

The player now appears in the main scene, and I adjusted its position to (0, 0, 0).


Step 4—Add a Script

Next is the most crucial step: writing the script.

I added a new script, character_body_3d.gd, to the root node of the Player (CharacterBody3D). The complete code is as follows:
Step 5—Adjusting the Camera and Testing
I added a Camera3D to the main scene, raising the angle slightly so I could see the entire player's movement from above.
Then I clicked "Run Scene."
🧠 Experimental Results and Observations
After running, I saw:
The icon floated up and down continuously, like it was breathing.
It automatically rotated and patrolled in four directions.
Pressing the spacebar to switch modes:
Automatic mode: It moves in circles by itself;
Manual mode: I can use the WASD keys to control its movement.
This process allowed me to intuitively see how variables, loops, and conditional statements affect the behavior of objects in the game.
Especially the floating animation effect implemented by sin() helped me understand the relationship between time and po
sition changes.
💬 Self-Reflections
This homework truly made me feel the connection between code and animation.
At first, I was just mechanically writing statements, but when I saw that little icon move in 3D space, I felt a real sense of accomplishment.
By experimenting with different parameters (such as floating height and rotation speed), I also learned how to control the sense of rhythm using logic and numerical values.
Although it was just a simple script, it helped me better understand how the logic behind the game is built up little by little.

Comments

Popular Posts