Design Exploration / Unity 2D Game Project

 TAO YUZE 0366967

Bachelor of Design (Hons) in Creative Media
Design Exploration — Task 1 : Proposal







Proposal PDF:



In the past few weeks, I have completed the tile map system, rigid body collision system, basic AI, a complete character movement system, camera tracking system, health points and their supporting UI.

Making a complete game is more difficult than I thought, especially without any coding foundation. At the beginning of this project, I was able to handle it easily, and my professional foundation allowed me to handle visual-related work well. However, as the development progressed, more and more code work gradually emerged, and there were more and more problems between the codes. So in order to prevent the "crappy code" problem from appearing, I decided to stop complicating the game system. I kept the basic enemy "wild boar" and the basic terrain system that I had made. Since I promised to show at least four levels in the final product, I plan to use the development interface to show the basic level design.


Over the course of this semester’s game development project, I began by setting up the tile-based environment using Unity’s built-in Tilemap system. This initial phase went smoothly, thanks to the intuitive interface that allowed me to arrange terrain elements with ease, all without delving too deeply into code.

Next, I integrated Unity’s basic physics and rigidbody components. During this step, I relied heavily on Unity’s editor UI rather than extensive scripting. Through the Inspector panel and other built-in tools, I gained a clearer understanding of how Unity’s physics engine operates and how to fine-tune various parameters.

With the environment and physics groundwork in place, I moved on to implementing the player’s movement system. Drawing on numerous forum posts and community tutorials, I managed to achieve responsive character controls, ensuring that the protagonist could navigate the 2D pixel world fluidly. After this success, I introduced a boar as the first enemy character and built a simple AI system for it, allowing it to patrol and react to the player’s presence. This basic AI design gave the game an initial sense of interactivity and challenge.

When I shifted focus to the damage system—defining how the player and enemies influence each other’s health—it became noticeably more complex. I encountered some difficulties while trying to ensure the system worked correctly under different conditions. By examining existing projects and consulting AI-based code examples, I managed to piece together a flexible, functional damage system. Up until this point, despite some hurdles, development progressed relatively smoothly.

However, significant issues emerged once I attempted to implement a more sophisticated state machine for advanced enemy AI. The project’s codebase began to suffer from poor architecture (“spaghetti code”), making the boar’s AI increasingly bug-prone. After repeated attempts to fix these errors, I realized that I would have to abandon the planned high-level state machine and more complex enemy behaviors. This setback highlighted the importance of proper code structure and incremental design in game development.

With the state machine system shelved, I focused on completing other essential features. I successfully implemented a camera-follow mechanism to track the player and a health bar UI system to provide real-time feedback on the character’s condition. While not as ambitious as advanced AI, these additions considerably enhanced the player experience.

Reflecting on the entire process, it’s clear that I gained valuable insights despite not fully achieving my original goals. From assembling tile-based layouts to experimenting with physics and basic AI, and from overcoming difficulties with damage logic to accepting the limitations of my state machine approach, each step offered lessons that will inform my future game development efforts.








First and second level









Levels 3 and 4






In this semester's exploration course, I tried to develop a 2D pixel-style game based on Unity. Although I failed to fully realize the four levels, UI interface and complete level management system originally planned, I still accumulated valuable experience and skills in this process.

From the initial conception to the construction of the terrain tile system, and then to the realization of the basic movement function of the character, I deeply realized that game development is far from a simple technical stacking, and it also requires precise time allocation, clear goal setting and flexible response strategies. While exploring the integration of art resources, the writing of script logic and the use of engine tools, I not only improved my familiarity with the Unity environment, but also cultivated the ability to learn quickly and solve problems independently by constantly reading documents, browsing forums and trial and error.

Although the finished product is not complete, this process allows me to better understand the overall picture of game development: from basic level design to mechanism improvement, from user interface experience to final tuning, each step is full of challenges and opportunities. I believe that these ways of thinking and technical abilities developed in practice will have a profound impact and role in future creation and learning journeys.

Final Presentation Link:https://youtu.be/8oW9lsgFGG4

评论

热门博文