上传日期:2024-05-15 05:59:09
上 传 者sh-1993
说明:  Arena is a game developed by a team of 4 using an Agile Scrum development planning technique during the 4th semester of IT studies at Kaunas University of Technology for the Software Engineering module.

Score system.txt

# Welcome to ARENA ![Banner]( Prepare for an adrenaline-fueled, non-stop action experience in ARENA! Become the ultimate one-man army as you face waves of relentless enemies in an epic battle for survival. Armed with only a katana and a lightning-fast dash ability, you must navigate through different maps, each more challenging than the last. As you progress through the levels, the intensity ramps up, with hordes of enemies swarming around you, testing your reflexes and combat prowess to the limit. But watch out - as you climb higher, the enemies grow stronger and more cunning, requiring quick thinking and strategic use of your abilities to stay alive. But the real challenge awaits at the end of each stage: a formidable boss battle that will push you to your limits. Defeat these towering adversaries to unlock new levels and face even greater challenges ahead. Are you ready to become the ultimate lone fighter, battling against impossible odds? Dive into the heart-pounding action of our game and prove your mettle in the ultimate test of skill and survival! ![]( ## Meet the Team Behind "Arena Game" Welcome to the "Arena Game" team page! We're a passionate group of developers who have come together to create an exciting and immersive gaming experience. Get to know the individuals who have contributed their skills and creativity to bring this project to life.W hile each team member specializes in certain areas, "Arena Game" is truly a collaborative effort. We all work closely together, sharing ideas, providing feedback, and supporting each other throughout the development process. Together, we're dedicated to creating an unforgettable gaming experience. # Team Members **Rokas** Rokas is our character design expert. With a keen eye for detail and a knack for bringing characters to life, Rokas has been instrumental in shaping the visual identity of "Arena Game." From concept sketches to final animations, Rokas ensures that every character in the game is unique and memorable. Additionally, Rokas is responsible for enemy spawning scripting, ensuring that players always face exciting challenges as they navigate the arena. **Kipras** Kipras is our UI/UX guru. With a focus on user experience and visual design, Kipras has crafted an intuitive and visually stunning interface for "Arena Game." From the main menu to in-game HUD elements, Kipras ensures that players can navigate the game with ease. Kipras is also responsible for designing achievements and establishing the visual design language of the game, ensuring a cohesive and immersive experience for players. **Steponas** Steponas is our level design virtuoso. With a passion for creating immersive environments, Steponas has crafted the arenas where "Arena Game" unfolds. From intricate layouts to challenging obstacles, Steponas ensures that each level offers a unique and engaging experience for players. In addition to map design, Steponas is also responsible for implementing level logic scripts and refining player movement mechanics, ensuring smooth and responsive gameplay. **Matas** Matas is our gameplay systems mastermind with back-end work mixed in. With a focus on enhancing the player experience, Matas has implemented various systems that enrich the gameplay of Arena. From designing the item shop and currency system to creating tutorials and the scoring system, Matas ensures that players have access to essential guidance and motivation as they progress through the game as well as tying the back-end scripts of the game together and implementing a lot of the functionality that isn't visible. Matas is also responsible for balancing enemy stats, ensuring that encounters are challenging yet fair for players of all skill levels. # Gameplay Mechanics ## Player - Control a single, highly skilled character with the ability to move freely in all directions. - Utilize a rapid dash ability to quickly evade enemy attacks and maneuver around the battlefield. ## Enemy Waves - Encounter waves of enemies that spawn around the player character, increasing in number and difficulty with each level. - Enemies come in various types, each with unique attack patterns and behaviors, keeping the gameplay dynamic and challenging. ## Level Progression - Progress through multiple levels, with each level presenting a progressively tougher challenge. - As levels advance, the frequency and intensity of enemy waves increase, requiring quick reflexes and strategic thinking to survive. ## Boss Battles - Confront a powerful boss enemy at the end to employ a combination of skillful dodging and precise timing. Defeat this formidable adversary to advance and emerge victorious, ultimately conquering the game. ## Score System - Earn points and money for defeating enemies and surviving waves, with bonuses awarded for consecutive kills. - Compete for high scores and challenge friends to beat your best performances. ## Shop System - Access a shop where you can spend the money earned in-game to purchase various items, including healing potions. - Use healing potions to restore health during intense battles, providing a crucial lifeline when facing overwhelming odds. - Strategically manage your resources and prioritize purchases to maximize your chances of survival in the face of relentless enemy assaults. ## Dynamic Environment - Immerse yourself in dynamically generated environments that evolve as the game progresses, keeping each playthrough fresh and unpredictable. - Adapt to changing terrain and obstacles, using them to your advantage in the heat of battle. ## Intuitive Controls - Enjoy responsive and intuitive controls designed for seamless gameplay on a variety of devices, including mobile and desktop platforms. - Master the art of precision movement and timing to outmaneuver your enemies and emerge victorious in the ultimate test of skill and reflexes. # Overview of the Technical Task The technical task for "Arena Game" entails the creation of a 2D Unity game where players take control of a character to engage in combat against waves of enemies. Progression through the game is achieved by surviving against increasingly challenging waves of enemies, leading up to an ultimate boss fight. ![]( Technical Requirements: * Unity Game: The game is being developed using the Unity game engine, ensuring a robust and versatile development environment. * 2D Gameplay: The gameplay experience is entirely in a 2D environment, offering a classic yet engaging gaming experience. * Player Controls: Players navigate the game using simple controls, with movement facilitated by arrow keys and dashing enabled by a dedicated key (e.g., space). Attacks are executed using specific inputs, providing players with strategic combat options. * Animations: The game incorporates animations for both the player character and enemies, enhancing the visual appeal and immersiveness of the gameplay. Multiple attack animations for the player character add depth to combat mechanics. * Enemy Variety: To keep the gameplay dynamic and challenging, the game features six distinct types of enemies, each with unique behaviors and characteristics. As players progress through levels, they encounter increasingly formidable foes, ensuring continuous engagement and excitement. * Boss Fight: The climax of the game is a thrilling boss fight, providing players with an ultimate challenge to overcome before achieving victory. * Platform: The game targets PC desktop platforms, ensuring accessibility to a wide audience of gamers. Furthermore, the game is designed to be lightweight and does not require an internet connection, allowing for seamless offline gameplay. * Compatibility: While the game is compatible with Windows 10 and Windows 11, it is not currently optimized for Linux systems. * Future Considerations: In future iterations, there is a focus on improving script quality to enhance reusability and maintainability. Additionally, implementing dynamic level loading is a consideration to enhance gameplay variety and performance. ## Technology Stack * Unity Version: The development of "Arena Game" is based on Unity 2022.3 LTS, providing stability and support for the latest features. * Scripting Language: Game logic is implemented using C#, a powerful and versatile programming language that is well-suited for game development. * Sprites: Player sprites are created using Photoshop, allowing for detailed and visually appealing character designs. * GUI Elements: Graphical User Interface (GUI) elements are implemented using native HTML/CSS, ensuring consistency and flexibility in design. ### Player movement is implemented using Unity's input system, allowing for responsive and fluid control. The arrow keys are used for basic movement, providing players with precise control over their character's direction. Additionally, a dash mechanic is introduced to enhance player mobility and strategic maneuvering. Attacks are triggered using specific inputs, with animations corresponding to different attack actions. Enemy Behavior ### Enemy behavior is governed by a combination of scripted AI logic and predefined patterns. Each enemy type exhibits unique movement patterns, attack behaviors, and vulnerabilities, requiring players to adapt their strategies accordingly. Enemy spawning is dynamically adjusted based on the player's progress and current level, ensuring a balanced and challenging experience. Level Progression ### Levels in "Arena Game" are designed to progressively increase in difficulty, with each level introducing new enemy types and challenges. The game employs a wave-based spawning system, where enemies spawn in waves, with the intensity and frequency of enemy spawns ramping up as players advance through levels. Upon reaching the final level, players are confronted with a climactic boss fight, requiring mastery of gameplay mechanics and strategic thinking to emerge victorious. ## Challenges and Solutions ### Animations One of the initial challenges encountered during development was implementing animations effectively within the game. While Unity's animation panel with transitions was initially explored, it was ultimately deemed unsuitable for the project's 2D nature. As a solution, animations are played through code scripts during initialization, providing greater control and flexibility over animation sequences and transitions. ### Level Design Designing levels that offer a balanced and engaging gameplay experience posed another challenge. Initially, the concept of tracking enemy spawns and kills to determine level progression was considered. However, due to the complexity and scope of this approach, a time-based level progression system was adopted instead. Levels are timed, with progression based on surviving against waves of enemies within a specified time limit, ensuring a manageable and dynamic gameplay experience. ### Player Movement Player movement mechanics underwent several iterations to achieve a satisfying and intuitive feel. While initially planned for basic movement controls using arrow keys or WASD, the addition of a dash mechanic was introduced to enhance player mobility and responsiveness. This addition not only provided players with more dynamic movement options but also contributed to the overall depth and excitement of gameplay. ## Looking ahead There are several areas for potential improvement and expansion in "Arena Game." Enhancing script quality to improve reusability and maintainability is a priority, ensuring that the codebase remains flexible and scalable for future iterations. Additionally, implementing dynamic level loading and difficulty scaling is a consideration to further enhance gameplay variety, lots of bugs need fixing and the game is a demo in its current state with just the base functionality implemented. By continuously refining and expanding upon the foundation laid in the current iteration, "Arena Game" aims to provide players with an immersive and captivating gaming experience. # Testing Our team rigorously tested the user interface (UI) and game mechanics to ensure a seamless gaming experience. Through comprehensive testing procedures, we verified that all elements function as intended, meeting our quality standards and delivering an immersive gameplay experience. ## UI Tests Testing if the "Play" button works. | **Description** | **Expected Outcome** | **Result** | |-----------------|---------------------|--------------| | Click on the "Play" button. | The game should start and game UI elements should be visible. | The game started as it should, and all elements are working and visible perfectly. | Testing if the "Achievements" button works. | **Description** | **Expected Outcome** | **Result** | |-----------------|---------------------|--------------| | Click on the "Achievements" button. | The achievements window should be visible with all possible achievements. | The achievements window is visible, and you can see all possible locked and unlocked achievements. | Testing if the "Options" button works. | **Description** | **Expected Outcome** | **Result** | |-----------------|---------------------|--------------| | Click on the "Options" button. | The options window and available options should be visible. | The options window is visible, and you can freely navigate through options. | Testing if the "Store" button works. | **Description** | **Expected Outcome** | **Result** | |-----------------|---------------------|--------------| | Click on the "Store" button. | The store window and purchasable items should be visible. | The store window is visible, and you can purchase items. | Testing if the "Quit" button works. | **Steps** | **Description** | **Expected Outcome** | **Result** | |-----------------|---------------------|--------------|---------------------| | 1 | Click on the "Quit" button. | A confirmation window should appear. | A confirmation window appears in the middle of the screen. | | 2 | Click on the "Yes" button in the confirmation window. | The game should fully close. | The game fully closes. | ## Gameplay Tests Testing Player Movement in All Directions: | **Steps** | **Description** | **Expected Outcome** | **Result** | |-----------------|---------------------|---------------------|--------------| | 1 | In-game, press the "W" button. | Player should move up. | Player moves up. | | 2 | In-game, press the "S" button. | Player should move down. | Player moves down. | | 3 | In-game, press the "D" button. | Player should move right. | Player moves right. | | 4 | In-game, press the "A" button. | Player should move left. | Player moves left. | Testing Player Dash Ability: | **Description** | **Expected Outcome** | **Result** | |-----------------|---------------------|--------------| | In-game, press the "E" button. | Player should dash in the direction he is facing. | Player dashes in the direction he is facing | Testing Player Attack Functionality: | **Description** | **Expected Outcome** | **Result** | |-----------------|---------------------|--------------| | In-game, press the "Space" button. | Player should swing his katana and attack all the enemies that are nearby. | Player swings his katana and attacks all the enemies around. |