Game Development Final Project
15 December 2024 - 12 January 2024
WANG ZILONG(0361141)
Game development | Bachelor of Design in Creative Media | Taylor's University
Final Player - Playable Game
Introduction
During the development of "Tribal Quest", the team gradually realized the complete process from conception to final presentation through modular design, code integration and scene optimization. This article will comprehensively analyze the final stage of game development from five parts: development process (Process), script design (Script), scene construction (Scenes), end screen (Endscreen) and personal reflection (Reflection), and show how to build an interesting game world through meticulous polishing.
1. Development process (Process)
The process of game development is like building blocks. From a single functional module to a complete system, it requires careful planning and repeated testing. The following is an extended description of the specific process:
(1) Modular design
Independent development: In order to ensure development efficiency, the entire game is broken down into multiple modules (characters, enemies, levels, UI, etc.), which are designed and tested separately.
Division of labor and collaboration: Different developers are responsible for the detailed implementation of each module. For example, the character action script is the responsibility of programmer A, while the enemy logic script is implemented by programmer B. Each module is unified and integrated after completion.
(2) Code integration
Unified interface design: By defining a unified trigger interface, such as item pickup, collision detection, and mechanism triggering, we ensure that each module can collaborate efficiently.
Integrated logic optimization: For example, when a character interacts with an enemy, multiple scripts are triggered after a collision is detected, including health reduction, animation playback, and sound effect triggering. These logics are implemented in an event-driven manner to avoid code coupling and duplication.
(3) Testing and adjustment
Functional testing: Test each module one by one, such as whether the character's jumping height is reasonable, whether the enemy's movement is in line with expectations, and whether the level traps can be triggered normally.
Player testing: Invite test players to experience the game, record their feedback, and optimize the game. For example, based on the player's suggestions, the spacing of the ground spike traps in the first level was adjusted to make it easier for novice players to pass.
Through these processes, we ensure that the game's logic is clear and functional, and also provide a good technical foundation for subsequent expansion.
2. Script design (Script)
Script design is the core of game logic and directly determines the player's interactive experience in the game. The following is a detailed description and expansion of each module script:
(1) Player Script
PlayerMove:
Move and jump: After the player presses the arrow key, the Rigidbody2D movement function is triggered, and the speed and direction parameters are combined to achieve a smooth movement effect.
Climbing mechanism: By detecting whether the character touches the specified "Ladder" tag object, switch to the climbing state. When climbing, limit horizontal movement to ensure that the player does not fall from the stairs.
Sprint and cooldown time: The sprint function adds a cooldown timer to prevent players from using it frequently and enhance the balance of the game.
PlayerHealth:
Use integer variables to record the player's health value. After each attack, call the function to reduce the health value and trigger the corresponding injury animation.
Designed the game end logic. When the health value drops to 0, the end interface pops up.
Fruits and Coins:
The prop pickup is implemented using the trigger detection of Collider2D. When the player enters the trigger area, the pickup animation is executed and the UI display is updated.
(2) Enemy scripts
Enemy:
The basic script implements the logic of enemy static and area collision.
When colliding, animation and sound effects are triggered, and the player's health is reduced.
Enemy3:
Added dynamic patrol behavior, set left and right points and speed parameters, and the enemy will move back and forth within the set range.
Control the enemy's visual effects through the animation state machine, such as switching between patrol and attack animations.
(3) Level mechanism scripts
MovePlat:
The mobile platform moves in a loop or back and forth mode by specifying path points and time parameters.
When the player stands on the platform, the movement of the platform will affect the player's position through the parent-child relationship.
Bounce script:
Use AddForce to add an upward force to the player to simulate a spring bounce effect, and trigger specific sound effects and particle effects.
Door script:
Designed a variety of door opening conditions, such as collecting a certain amount of fruit or triggering a button.
The door's open and close status is updated synchronously through animation and sound effects, which improves visual feedback.
(4) UI scripts
The button functions of the main interface and the end interface are implemented by binding events. Players will jump to the specified scene after clicking.
Update the player's health, gold coins, and fruit count in real time, making the UI an important reference tool for players.
3. Scene Construction (Scenes)
The scene is the stage of the game, and each level requires a unique design and layout to attract players. The following is an extended description of the main scenes:
Level Design (Scenes)
Level design is the core of the game. We gradually deepen the difficulty of the game through different scenes, mechanisms and challenges, while maintaining the diversity of gameplay. Each level is designed around a specific theme, with a unique visual style and interactive mechanism.
1. Tutorial Level: Getting Started
Goal: Help players familiarize themselves with the basic operations and mechanisms of the game.
Design Points:
Simple Environment: Design a short platform area with a simple blue sky and grass as the background to focus players' attention on the operation.
Basic Action Teaching:
Jumping: Guide players to master single and double jumps through simple platform jumps.
Item Pickup: Place fruits on the path, trigger the pickup animation after touching, and update the count on the UI.
Door Trigger: After the player collects a certain number of fruits, the door opening animation is triggered and enters the next level.
UI Elements Coordination:
The current collection progress of fruits and gold coins is displayed in the upper left corner of the screen, and players are encouraged to complete the task through dynamic updates.
Prompt text (such as "Press the space bar to jump") appears in the center of the screen, gradually guiding players to complete basic actions.
2. Level 1: Secret Forest
Goal: Provide players with a real adventure experience and increase the depth and fun of the game.
Level theme: With the primeval forest as the background, it shows rich natural elements such as vines, tree roots and moving wooden platforms.
Main challenges:
Dynamic platform:
Design a moving wooden platform that requires players to jump during movement to avoid falling.
The movement trajectory of the platform has been calculated. The initial movement is linear, and complex path changes are added later.
Ground spike trap:
Ground spikes are placed on the key path, and players need to jump accurately to avoid injury.
The UI prompts players to "Watch out for traps!".
Enemy patrol:
Dynamic enemies are set on the main path. Enemies move through left and right patrol scripts. Players need to seize the gap to pass or attack enemies.
Prop collection and goals:
Players need to collect a certain number of fruits and gold coins to trigger the door opening script to enter the next level.
The level is designed with hidden paths and additional props to encourage players to explore.
UI elements coordination:
Display the number of remaining fruits at the top of the screen, such as "3 more fruits to collect".
Provide health bar. When the player touches a trap or an enemy, the health will decrease with sound effects and visual vibrations.
3. Level 2: Ancient Ruins
Goal: Increase the complexity of the game through puzzles and dynamic mechanisms, while testing the player's operating skills.
Level theme: With stone ruins as the background, add historical and mysterious elements, such as moss-covered stone pillars and broken sculptures.
Main challenges:
Climbing and fans:
Players need to use the climbing mechanism (touching the stairs automatically triggers the climbing state) to reach the high platform.
The fan provides upward wind force through Area Effector2D, and players can use the wind force to cross the dangerous area.
Bounce area:
A bounce platform is designed in the center of the ruins. When the player touches it, it will trigger an upward force and bounce him to a higher platform.
Set traps around the bounce area to test the player's operation timing.
Button mechanism:
Set multiple buttons in the level, and when the player steps on them, the door's opening and closing animation is triggered.
Some buttons will also rearrange the path, and the player needs to quickly adjust the strategy.
Prop collection and goal:
The hidden area of this level is more challenging, and the player needs to use fans and bounce to find extra fruits.
The goal is to complete all prop collection and unlock the exit.
UI element coordination:
Show the current mechanism trigger status in the upper right corner of the screen, such as "Door is open" or "Remaining buttons: 1".
Dynamically prompt the player for the best route, such as displaying "Use wind power to rise" in the fan area.
4. Level 3: Final Challenge
Goal: Combine all the mechanisms and challenges of the first two levels to provide players with an unforgettable ending.
Level theme: Integrate the elements of forests and ruins, and create a tense atmosphere through dynamic lighting and sound effects.
Main challenges:
Complex paths and mechanisms:
The platform design is more complex, with the addition of dynamic movement, flipping and scaling features.
The scope of the mechanism trigger is expanded, requiring players to complete the path unlocking within the specified time.
High-speed gear trap:
A gear trap that appears randomly is set up. Players need to observe the movement pattern of the gears and find the gap to pass through.
Final door mechanism:
Players need to trigger multiple hidden buttons and collect all props in the level to unlock the final exit.
UI element coordination:
Display a countdown in the center of the screen to increase the sense of urgency.
Achievement system: When completing the final level, players will see a pop-up window prompting "Congratulations! Unlock special props!".
UI design detail optimization
1. Start interface
The main interface attracts players through dynamic effects and sound effects, and provides clear options such as "Start Game", "Settings", and "Exit".
2. Real-time feedback
Health bar, prop count and prompt text always remind players of their current status.
Achievement feedback: When players complete a specific task, an achievement icon will pop up on the screen to encourage further challenges.
3. End interface
Summarize the player's performance, such as completion time, prop collection rate and score.
Dynamic background and congratulatory text make players feel a sense of achievement and provide options to "replay" or "return to the main menu".
Conclusion
Level design and UI production are indispensable parts of game development. In "Tribal Quest", through carefully designed challenges and dynamic visual feedback, we have created an immersive adventure journey for players. In future improvements, I hope to further enhance the innovation of the levels and add more interactive elements to provide players with a richer gaming experience!
Google drive link(testing videos&files) :https://drive.google.com/drive/folders/1Zw7dLIjo8ULxsbsfo8TESNVVre7ld3Hl?usp=drive_link
Reflection
Tribal Quest is a 2D game with adventure and collection as its core. The process of developing this game allowed me to deeply experience the whole process from conception to final product presentation. This is not only a technical challenge, but also a profound exploration of creativity, logic and user experience. From the initial planning to the final integration, the project involves multiple links such as modular development, script design, level construction, UI production and player feedback optimization. Here, I will review each stage of development, summarize the gains, reflect on the shortcomings, and look forward to future improvements.
The entire development process starts with modular design. I split the game into multiple functional modules, including character control, enemy behavior, level mechanism, UI interface and resource integration. The benefits of modular development are obvious. Each module can be developed and tested independently, avoiding complex coupling problems, while providing flexibility for subsequent integration. In the character control module, I designed the core script so that players can smoothly complete operations such as moving, jumping, climbing and picking up items. These functions are managed by the state machine to ensure smooth and natural movements. In the enemy module, I implemented the behavior logic of static and dynamic enemies. The dynamic patrolling enemies especially increased the interactivity and challenge of the level. The level mechanism module covers mobile platforms, bounce areas, button mechanisms, and scene switching, providing the game with diverse gameplay and interactive possibilities.
During the integration process, I faced the problem of data interaction between modules. The interface design of different scripts was not completely unified in the early stage, resulting in conflicts in some functions during integration. For example, there was a logical inconsistency between the character jumping and the physical collision of the mobile platform, which caused the player character to slide off the platform. These problems were solved by redesigning the event-driven interface, but it also made me deeply realize the importance of good architecture design in the early stage of the project. Although the integration work is cumbersome, modular development is still an efficient and flexible solution, especially in game development that requires frequent adjustments.
Level design is the core of "Tribal Quest". I showed different gameplay themes and visual styles through three main levels. In the tutorial level, my goal is to let players quickly familiarize themselves with the basic operations of the game, such as jumping, climbing, and picking up items. This level is designed with simple platform jumping tasks, and the prompt text on the screen gradually guides the player to complete basic actions. The tutorial level lowers the threshold for novice players, but the visual performance is relatively monotonous. In the future, dynamic backgrounds and small interactive elements can be added to enhance the sense of immersion.
The first level, the secret forest, is the beginning of the player's formal adventure. This level is set against the background of the primitive jungle and shows a variety of elements such as dynamic platforms, ground spike traps, and patrolling enemies. I learned in this level that rhythm is an important part of level design. For example, the speed and spacing of the moving platform have been repeatedly adjusted so that players can feel the tension without losing interest due to too many failures. However, the density of some traps may not be friendly to novice players, which reminds me that I need to balance risks and rewards more accurately when designing.
The second level, the ancient ruins, is mainly puzzle-solving and dynamic mechanisms. Diverse mechanisms such as climbing, wind propulsion, and button mechanisms increase the complexity of the level and enrich the player's operating experience. In the wind area, I designed the propulsion implemented by Area Effector2D. Players need to flexibly grasp the direction and timing of the wind to pass. However, these mechanisms lacked sufficient visual cues in the early stages, such as the lack of clear signs of the wind direction, and some players tended to fail in their first attempts. This made me realize that clear visual feedback is crucial to guiding complex mechanisms.
The final challenge of the third level combines all the mechanisms together, providing a highly tense and complex gameplay experience. I designed a variety of dynamic mechanisms and time-limited tasks by combining the visual elements of the forest and the ruins. For example, the high-speed gear trap requires players to react quickly in a short period of time, and the multi-stage unlocking of the final door mechanism tests the player's mastery of all skills. Although this level has designed multiple complex mechanisms, some task logics are relatively cumbersome, and some players may find it difficult to understand the goals in the early stages. In the future, the player experience can be optimized through clearer path guidance and prompt text.
Script design is the technical core of game development. In the character control script, I implemented smooth movement, jumping, and climbing functions, and managed the character behavior status through a state machine. In the player health management script, I designed the logic for dynamically updating the health value. Whenever the player is hurt, the health bar will decrease in real time with visual vibration and sound feedback. The enemy script implements the enemy behavior logic of static and dynamic patrols, and some enemies enhance interactivity by triggering animations. In the level mechanism script, functions such as mobile platforms, bounce areas, and button mechanisms provide rich interactive elements for the level. The implementation of these mechanisms allows me to have a deeper understanding of the technical principles of trigger and event-driven development.
UI production runs through the entire development process and is an important bridge connecting players and games. From the simple navigation of the main interface to the dynamic feedback of the real-time UI, I always put the player's experience first. In the main interface, I designed the function options of starting the game, setting, and exiting, and attracted the player's attention through dynamic backgrounds and sound effects. In the real-time UI, the health bar, prop count, and prompt text provide players with key game information. Especially in the level, dynamic prompt text can guide players to complete the current task. For example, when the player approaches the target door, the screen will display "Remaining props: 3". The end interface provides players with a sense of achievement by summarizing the player's performance, including completion time, collection rate, and score, while providing the options of "replay" or "return to the main menu", which increases the replayability of the game.
This development has taught me how to plan and manage game projects, and I have also learned my own shortcomings. In the future, I hope to add more rich level mechanisms, such as multi-stage boss battles or dynamic environmental changes. At the same time, I plan to optimize the visual effects of the game and enhance the immersion through dynamic lighting and particle effects. In addition, I also want to explore the possibility of multiplayer mode to increase the interactive experience between players.
Overall, the development of "Tribal Quest" has been a journey that has benefited me a lot. It not only allowed me to verify my technical capabilities, but also allowed me to find a balance between creativity and logic. I look forward to applying these experiences to larger-scale game development in future projects to bring players a more exciting adventure experience.
Comments
Post a Comment