Games Development - Task 1: Game Design Document

23/4/2025 - 29/5/2024 / Week 1 - Week 5
Cindy Clarissa Leslie / 0367677
Games Development / Bachelor of Design (Hons) in Creative Media
Task 1: Game Design Document


LECTURES
Lecture 1

Basics of C#
Variables

Our tutorial for the first week was mostly an introduction to the module, additionally past senior works to provide us ideas and inspiration. During our first tutorial, our lecturer gave us the basics of C#, using the w3school website for easier understanding.

The C# Variables learned were:
  • int - stores integers without decimals
  • double - stores numbers with decimals
  • char - stores single characters
  • string - stores text, more than 1 character
  • bool - stores values with 2 states: true, false
Next, we had a hands on learning process by testing these variables on a script in Unity.

Figure 1.1 applying the basics onto scripting in Unity

This knowledge is then applied onto Unity itself. I mostly learned that using public will be essential as it allows actions such as changing and tweaking the value of a variable or apply the variable into an element in the game scene. These v


Lecture 2

Art Asset Development
Pixel Art

In this tutorial, we were given practice and recommendation on where we can potentially create our assets, in this case we were introduced to a site called Piskel, an easy tool to create pixel sprites.

Figure 2.1 Pixel assets created by using Piskel

We were told to create different tiles, grass and brick. After drawing, we had to duplicate the layers and export it to 4 x 4 before importing it into Unity. Figure 2.1 Shows the asset that I have created in class.


Applying into Unity

Figure 2.2 Grass block inserted into Unity

Using a 2d platformer template, we learned on how to convert it into a tile and place them into the setting itself. The process was overall simple since it was placed using a tile palette, positioning it would only need a brush tool. To choose whether or not the tile is in the environment or interactable (walked on etc.) the collider setting should be tweaked.


Lecture 3

Art Asset Development
Character Rigging and Animation

In this lecture, we learn on how to create sprite and animations using the rigging tool in Unity. As practice, we use an existing image or png online, preferrable in a T-pose. The lecturer taught us how to remove the background in Photoshop to turn it into a png. Next, separate the character into different body parts, this will basically act as the joints.

Figure 3.1 Create bone tool in Unity

Figure 3.2 Animating the sprite

Next, import the sprite into Unity, select the skinning editor and create bones according to the character's body parts. Generate weights and generate geometry. Lastly to animate, simply rotate the bones of the sprite and use the animate tool for different animations.


Lecture 4

Art Asset Development
Changing Player Sprite

Using an existing sprite from Unity Asset Store, we learned the process of changing the main player's looks and also animations (idle, run jump etc)

Figure 4.1 change player by changing sprites

To initially change the base of the player, simply change the sprite in the sprite renderer component and change it to the idle animation. To fully, change the character, each of the actions (sprite) should be changed one by one with the appropriate animation.

Figure 4.2 Changing animation in animator panel

Since the actions are already scripted (unless there are additionals that are going to be added), press on the state and change the animation.


Lecture 5

Art Asset Development
Changing Enemy Sprite

Changing the enemy sprite was pretty much the same principles as changing the player, except that the one being altered in the enemy gameobject, before converting into prefab so that it can be easily inserted into the scene however you want.


Lecture 6

Art Asset Development
Adding Player Attack

Since the asset from Unity didn't have an existing attack animation, we were taught on how to alter the sprite and edit it on Photoshop. Simply edit the different layers and create the motion frame by frame before exporting all of them to png.

In the player tab, add a collider as a component and wrap it as close to the sprite as possible before adding in the health script.

Figure 5.1 HP scripting

When inserted as a component in the player, it ensures that players get affected by enemy's attacks and enable death when the HP is at 0. Next, since the initial player prefab doesn't have an attack function, we have to script it in,

Figure 5.2 Attack scripting

Figure 5.3 Attaching game objects to public variable

Full script can be seen in file. After attaching the script, attach each appropriate GameObjects to the empty variable. Ensure that the enemy prefab is set as a label so that they can all be attached together. 

Figure 5.4 Changing the position of the hitbox

Next, using the attached hitbox (child of player), change the position for it to be at the weapon/attack point.


Lecture 7

UI Development
Creating Functional Inventory

Collect png of collectibles before inserting these assets into the project, switch them into sprites.

Figure 6.1 Scripting for UI

Figure 6.2 Creating UI Canvas

Creating A UI Canvas,  attach the script to the canvas. And drag the appropriate GameObjects to the empty variables.

Figure 6.3 UI Gameobjects

Figure 6.4 Prefabs inserted into scene

In order for item pickup to work, add in a collider to each of the object and insert the item pickup in each prefabs. In each prefab add in the item data into the script.


INSTRUCTIONS

 

In this batch, the module has been slightly modified which turned the project into a groupwork instead of individual. I decided to group up with my teammate, making us two and for the first task, we were required to propose our ideas, concept and visuals for our game.



Task 1: Game Design Document

During our physical class after grouping up, we had a productive discussion on discussing different concepts that we want to tackle. 

We decided upon it being a pixelated theme game which revolves around a cyber concept. Before creating the presentation, we jotted our ideas down in a google document and discuss upon how to make it unique.

 
Figure Concept and basic information google docs

After jotting down the basic information, we split our parts and what we were responsible with in the presentation and also the development of the game itself:
  • Idea and mechanics: Mason
  • Visual direction: Cindy
I compiled ideas and moodboards to create a clearer visual direction. Furthermore, I referenced educational videos in creating pixel sprite especially as a beginner pixel artist so that I can utilize tools that I'm familiarized with, making the task more efficient.
Game brainstorming by CINDY CLARISSA LESLIE


Final Task 4: Final Project

Black and Blue Modern Technology Presentation by Junkin Say



FEEDBACK

The concept itself is interesting, however ensure that there is a unique element in your 2d platformer game that doesn't make it too common with all other games, rather just the basic mechanics.



REFLECTION

Going into the module, it was quiet unexpected that it was converted into a group project. However, with this new opportunity I figured I could learn further by collaborating with someone else. Since we were only working by 2 people, there would be some things compromised especially in comparison to those who are working with 3. I look forward to this module since scripting and coding in Unity will be a first for me, additionally my groupmate is experienced with programming therefore I'll be looking forward to learning from both the tutorials and from him.

Comments

Popular posts from this blog

Application Design - Project 3: Lo-Fi App Design Prototype

Application Design - Final Project: High Fidelity App Design Prototype

Experiential Design - Task 1: Trending Experience