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