Quality Requirements - IP-2025/waves-of-the-fallen GitHub Wiki

ISO 25010

1. Functionality

Feature Completeness:

  • game must fully implement all core mechanics (combat systems, shop system, player upgrades, wave progression)
  • fully implement multiplayer features (lobby creation, matchmaking, enemy and XP synchronization).
  • all maps and environments need to fit in correctly and support gameplay mechanics
  • Integrated bosses need mechanics with unique tactics and attacks to challenge players
  • enemy behavior works correctly
  • Fully integrate all intended character classes and special abilities to allow diverse playstyles
  • progression systems (XP, leveling, unlocks) function properly

Correctness:

  • The XP and Gold systems should accurately calculate and reward players based on kills and boss fights
  • Shop offers correct weapons
  • Weapons and abilities deal intended damage and apply correct effects
  • Enemy spawn rates and waves trigger as designed
  • Player stats, upgrades, and class perks apply correctly
  • Multiplayer sync ensures consistent game state across clients

Appropriateness:

  • Game mechanics align with the "Vampire Survivors" genre expectations
  • The game should provide a fun and engaging experience with a clear difficulty progression
  • Difficulty scales appropriately for singleplayer and multiplayer
  • UI elements provide clear and accurate feedback (health, XP, shop options)
  • Controls are intuitive and responsive

2. Compatibility

Coexistence:

  • The game should run smoothly on IOS and Android
  • game should function well across different network environments and with various internet speeds (multiplayer)

Interoperability:

  • Multiplayer works across different devices and network conditions
  • Supports various screen resolutions and aspect ratios without UI issues

3. Reliability

Game Stability

  • game should not crash/freeze or loose performance, even during high enemy density situations or high attack frequency
  • no degradation after long playing sessions

Availability

  • game should maintain a stable connection (multiplayer)
  • game should stay function stably under various network conditions
  • Matchmaking and lobbies work reliably without frequent disconnects
  • Singleplayer mode functions without requiring an internet connection
  • Game loads and runs consistently (across multiple sessions)

Recoverability

  • In the case of an error, the game saves data and restores gameplay after
  • Players can rejoin a match if disconnected (if applicable)

4. Safety/Security

Data Integrity

  • Player progress (XP, Gold, unlocked characters) must be stored securely and not be lost due to bugs or crashes
  • Ensures consistent game state across sessions and multiplayer matches
  • ??? Secure handling of player data ???

Cheat Protection

  • Prevent exploits and data corruption (e.g., infinite XP or Gold farming, speed hacks, damage manipulation)
  • provide validation of key actions (e.g., XP gain, item purchases)

5. Maintainability

Modularity

  • Codebase structured with clear separation of concerns (e.g., movement, combat, UI, enemies, wave system, multiplayer)
  • New content (eapons, enemies, and maps) should be easy to integrate
  • Easy replacement or extension of game components without breaking anything

reusability

  • Generic and scalable systems (e.g., weapon handling for both melee and ranged)
  • Common functions and assets used across multiple game elements (e.g., physics, UI elements)
  • Reusable fragments for enemy behaviors, player stats, and game mechanics

modifiability

  • Game balance can be adjusted easily
  • future changes can be added easily

analyzability

  • Logging and debugging tools integrated for tracking errors and performance issues
  • Clear error messages and stack traces for efficient troubleshooting

Code Readability

  • Follow clean coding practices and Consistent naming conventions to support long-term development and bug fixing
  • Well-commented code explaining complex logic and functions
  • Clean code structure with clear separations (classes, functions, game logic, ...)

Documentation

  • Setup and contribution guidelines for developers
  • ensure efficient maintenance and future development

Testability

  • The code should be structured to allow testing
  • Unit tests for ( especially critical) functions (e.g., damage calculation, XP gain)

6. Performance

Scalability

  • game should scale well across different devices and configs (multiplayer)

Responsiveness

  • Gameplay mechanics (movement, attacks, wave spawns) must respond quickly and smoothly
  • Gameplay should be smooth without noticeable latency
  • Player control should be precise
  • Immediate feedback for actions (attacks, damage, UI interactions)
  • Smooth animations and transitions without noticeable delay

Time behavior

  • Fast loading times (game startup, level transitions, shop interactions)
  • No frame drops or slowdowns during intense battles

consumption behavior

  • Efficient network usage to reduce lag and bandwidth consumption in multiplayer

capacity

  • Handles high enemy densities without performance loss
  • Supports simultaneous player actions well
  • all background processes are managed well

7. Interaction Capabilities/usability

Comprehensibility

  • Clear UI design (health, XP, shop, abilities)
  • Intuitive controls
  • Simple and understandable game mechanics (attack, movement, upgrades, shop)

Learnability

  • Gameplay should be intuitive
  • Gradual difficulty curve
  • ??? Tooltips and in-game explanations for weapons, upgrades, and abilities ???

Satisfaction

  • Gameplay must be enjoyable and engaging (but not too easy)
  • easy and fast lobby creation
  • rewarding progression (XP, unlocks, upgrades)
  • Visual and audio feedback for player actions (damage, level-ups, enemy hits)
  • Variety in enemies, weapons, and strategies to keep gameplay fresh

Efficiency

  • players don’t need to take unnecessary steps and can quickly engage with the game
  • Ensure seamless interaction between systems

aesthetics

  • Well-designed UI with consistent fonts, colors, and icons
  • Sound design and music enhancing immersion and gameplay feedback

8. Flexibility/Transferability

Installability

  • Simple and fast installation process
  • No complex setup required

Interchangeability

  • Modular design allowing future content updates or expansions without breaking the core game

Quality-Scenarios

1. Performant Enemy Waves

Quality Attribute: Performance (Scalability) Environment: High enemy count (endgame wave)

  • Source: Game system
  • Trigger: The game generates a new wave with 100+ enemies
  • Artifact: Wave spawning mechanism
  • Reaction: The wave is spawned correctly without the frame rate dropping
  • Response Measure: In 90% of cases, FPS remains even with the maximum number of enemies

2. Intuitive Shop Navigation

Quality Attribute: Usability (Comprehensibility & Efficiency) Environment: Player accesses the in-game shop Source: Player**

  • Trigger: The player opens the shop and looks for a new weapon
  • Artifact: Shop user interface
  • Reaction: Weapons and prices are clearly displayed, and the purchase process can be completed within a maximum of two clicks
  • Response Measure: 95% of players can complete a purchase within 5 seconds without guidance

3. Stable Multiplayer Connection

Quality Attribute: Reliability (Availability) Environment: Normal network load Source: Player

  • Trigger: A player joins a multiplayer session
  • Artifact: Connection to the multiplayer lobby
  • Reaction: The connection is established within 3 seconds and remains stable throughout the session
  • Response Measure: In 95% of cases, the connection is successful without disconnections or latency spikes over 100ms

Quality-Tree

QualityTree drawio