Games Development - Weekly Journal
- Week 1 - Game Review
- Week 2 - Game Ideation
- Week 3 - Introduction to Unity
- Week 4 - Basic Gameplay Coding
- Week 5 - Applying Sound Effect and Animation
- Week 6 - Sumo Battle
- Week 7 - 2D Prototype
- Week 9 - 2D Gameplay Coding
- Week 10 - Animation and Animator
- Week 11 - Knock Back, Health System
Week 1 (25/09/2024)
Today's exercise requires us to review a senior's game project, which is crucial as we will be doing a similar project for our final this semester. By playtesting some of the seniors' game projects, I believe this exercise will help us better understand the key elements of creating an engaging game, such as graphics, sound, mechanics, storyline, and more. In this exercise, I will be reviewing a game called Reaper Test by Sam Mun Hoe, analyzing its strengths, weaknesses, and areas for improvement based on my perspective.
Introduction
Reaper Test is a 2D action-adventure game developed in Unity. From my understanding, the objective of the game is to become a certified reaper by overcoming various obstacles, battling monsters, and avoiding traps and spikes. In my opinion, this game is simple and straightforward, without any complicated missions. The objective is to overcome obstacles and reach the end, so it only took me 20 minutes to complete.
Figure 1.1 Screenshot of me passing this game
Story and Settings
As stated, the game is a test to become a reaper, making the objective clear and straightforward for players. From my perspective, the difficulty level should progress from simple to hard. However, the hardest part of the game seems to occur in the middle, while the later stages appear to be easier when compared. In my opinion, the sudden spike in difficulty during the mid-game may cause frustration and loss of motivation, especially for players like me who tend to give up easily. Meanwhile, the easier ending makes the game feel less rewarding, like the game ends suddenly and I was expecting more challenging missions.
Figure 1.2 The part which I felt the hardest
I would say the controls in this game are very responsive and intuitive compared to others! I also like the combat effects, which are smooth and not glitchy. However, there are times when the avatar moves too quickly and doesn't stay centered on the screen, making it easy to bump into obstacles ahead, as players might not react in time to sudden events.
Figure 1.3 Avatar does not stay at the center when moving
Graphic and Visuals
I like the art style of the game, it’s simple yet fits the vibe of a reaper undergoing a test in a dark, gloomy underground setting. I find both the character and the monsters to be cute, making it suitable for players of all ages. From my perspective, one area that could be improved is the slightly complicated background. Since the overall color scheme is quite similar, I sometimes couldn't notice the obstacles ahead because they blended into the background.
Sound and Music
In terms of audio, this game lacks a variety of sound effects and background music for different events. The background music remains the same throughout the game, and because it’s short, it keeps looping which can become boring. In my opinion, the background music could vary across different stages, even more intense tracks in harder levels.
From what I observed regarding the sound effects, there are only combat sounds, while other actions like running and jumping lack of sound effect. This makes the avatar appear to glide when moving, which detracts from the player experience. Apart from that, sound effects for completing levels, defeating monsters, and dying should also be included.
Conclusion
In conclusion, this exercise has given me a better understanding of what makes a good game and how minor changes can significantly affect the player's experience. For me, developing a game is not an easy task, especially since I am a complete beginner in game coding. Nevertheless, I still enjoyed the Reaper Test game and hope to learn from its strengths.
< back
Week 2 (2/10/2024)
I was absent today because I needed to attend an outside conference. Therefore, we completed the exercise online, which involved converting classic video games into a new one. We used Fruit Ninja and Cooking Madness as references, applying the SCAMPER method to create a new game.
Figure 2.1 Cooking Ninja's game ideation
Our proposed game is called Cooking Ninja. In this game, players take on the role of a ninja chef in a fast-paced restaurant. To prepare meals for hungry customers, the chef must quickly collect the correct ingredients mid-air, similar to the gameplay style of Fruit Ninja. Players must follow the customer orders displayed on the screen and accurately gather the ingredients before time runs out to keep the kitchen running smoothly and satisfy the growing line of hungry customers.
We used the SCAMPER method to show how we incorporated elements from Fruit Ninja and Cooking Madness to create our game, Cooking Ninja. This is a short presentation prepared by all of us since we were unable to present that day. Hoping to get your feedback!
Figure 2.2 Presentation
Reflection
For this exercise, I have learnt to use SCAMPER by utilizing the elements of classic games. This was our first time learning about this method. The SCAMPER method is a creative thinking technique used to spark innovation and generate new ideas. The letters stand for Substitute, Combine, Adapt, Modify, Put to another use, Eliminate, and Reverse. By following these steps, we were able to come up with a new game idea by referencing Fruit Ninja and Cooking Madness. This method has given me another way of critical thinking method which is very useful in our upcoming exercises.
< back
Week 3 (8/10/2024)
Today in class, we learned the fundamentals of Unity, including creating 2D and 3D games. We covered basics like object placement, properties such as rigid body and collider applications, and some simple coding. I found it quite challenging especially the coding part. Below are the outcomes for the class activities we did today!
Figure 3.1 Lecture notes
In this 2D game exercise, we learned how to place objects and apply gravity and collision physics to them. As a final challenge, we created a catapult similar to Angry Birds. In the 3D exercise, it was similar to the 2D exercise in applying physics. Additionally, we did some coding to adjust the speed and direction of objects and implemented keyboard controls, which I found quite challenging.
Figure 3.2 2D Game exercise
Figure 3.3 3D Game exercise
We were given a challenging exercise that required us to make adjustments to the code. Following the lecture notes, I made changes to the plane's speed and direction, slowing it down. Additionally, I was able to make the camera follow the plane, although it took some time to adjust since the coding was more complicated. Lastly, I managed to get the propeller to rotate, but due to its small size, it's barely visible.
Figure 3.4 Challenging exercise
Reflection
This is entirely new to me, as I have no background in software like Unity or C+ coding. It took me a lot of trial and error to complete this task. Even a small syntax or logic error in the code can lead to completely different results. But luckily, with the help of my friends and lecturer, I managed to complete it. However, I am still unclear about the coding part, especially how different codes can lead to different outcomes. Nevertheless, I believe that after a few more exercises, I will have a better understanding of how Unity and C++ work.
< back
Week 4 (15/10/2024)
In today's class, we were taught more advanced features in 3D game coding. We learned basic gameplay elements such as if-then statements, random value generation, arrays, collision detection, prefabs, and instantiation. It was quite challenging for me, but I managed to complete the task after some trial and error, along with help from my peers and lecturer.
Figure 4.2 Lecture Notes
Figure 4.2 Class exercise
For today's challenge, we are required to modify the code so that the dog releases when the spacebar is pressed, the ball falls down randomly, and both the dog and the ball are destroyed when they exceed the boundary or collide with each other.
Figure 4.3 Challenging exercise
Reflection
In this class, I managed to complete all the steps provided in the slides within the class time, and I gained a better understanding of what each code does and how everything works, except for the prefabs and game over part, which I found a bit confusing. However, I was able to solve it in the end. This class has given me some coding knowledge on how to create a basic shooting game, which I can apply to my upcoming assignment.
< back
Week 5 (22/10/2024)
In today's class, we reviewed basic gameplay coding and also learned how to add sound effects and animations to make the game more lively. I found it complicated because the projector wasn't functioning well so I couldn't keep up with the pace, and it took me a lot of time to figure out the right code for the game to work properly.
Figure 5.1 Lecture Notes
I managed to recall some concepts from the last class, such as spawning objects and setting up a game over sequence. I also learned new skills, like adding animations and creating a repeating background. Everything went smoothly thanks to the help from my lecturer and peers, except for the last step, which is applying sound effect, I couldn't do that for some reason.
Figure 5.2 Class exercise without sound effect
Reflection
For today's reflection, I learned how to add animation and sound, which can further improve user experience. This knowledge is beneficial for me, as I plan to implement these elements in my assignment. As a fan of games with smooth animations and immersive music and sound effects, I’m excited to apply what I've learned. Additionally, I will also work on solving the sound effect issues during the next class. This path will be challenging, but I believe that I won’t give up.
< back
Week 6 (29/10/2024)
In today's class, we learned to code an arcade style sumo game. We learned how to program power-ups and increase the difficulty of each level in the game. I am able to follow this class as I had a clearer mindset and felt more energized today. As a result, I managed to complete the whole exercise in class.
Figure 6.1 Lecture Notes
I am glad that I managed to finish this game in a shorter time than I ever have. The power-up mechanics can also be applied to my assignment, as my game idea includes these types of elements, so this activity is useful for me! Below is my outcome for this class. However, I suck at controlling the ball, but overall the coding works.
Figure 6.2 Class exercise
Reflection
I learned new things in today's class, including applying power-ups, increasing difficulty, and some new coding techniques for the player controller. Overall, this activity was manageable for me. However, I still made some mistakes, like syntax error in coding, using the wrong names in the code, forgetting about prefabs, and other small errors, which can cause the game to malfunction. So, this reminds me to be more careful when doing my assignments, as a minor mistake can have a domino effect, causing the subsequent code to malfunction. It’s important to test each step after adding new code.
Lecture Notes
- Package Manager > Add Cinemachine > Add to camera - camera follows the player
Figure 7.1 Simple Prototype
This class exercise has given me valuable insights into basic gameplay mechanics, which will be really helpful as we start prototyping for our assignment. What I learned today can definitely be implemented in our game.
< back
Week 9 (19/11/2024)
In today's class, we continued working on the game prototype we started last session. During the lecture, we learned how to add sprite sheets into Unity to create animations, implement a simple UI to track measurable values, and set up triggers for specific conditions.
Lecture Notes
- To make animation from sprite sheet - Import the png for the sprite sheet > Drag into Animator
- To make UI - At the hierarchy > Right click to add UI > Choose to add image or Text
- To count measurables - Add script for Text > add "using TMPro" in the script
Figure 9.1 Game prototype
Reflection
This class exercise has been very useful for me because what I learned today is directly applicable to my game. I've been wondering for a long time how to import sprite sheets into my character for animation, and I realized that it's not as difficult as I thought. After this class, I feel more confident about applying these techniques to my game assignment.
< back
Week 10 (26/11/2024)
This week, we continued with our previous lecture, learning about implementing animations and animators, such as attack, hurt and die, which are very useful for integrating them into my game.
Figure 10.1 Game prototype
< back
Week 11 (3/11/2024)
In today's online class, we learned how to add a health bar system for our player and apply effects such as color changes on the player and a knockback effect when hit by the enemy.




.jpg)
.png)
Comments
Post a Comment