Game Functionality Testing for Indie Developers
While it is a common misconception that game testing is simply the process of finding bugs while playing through a game, there is far more to the process than this. Game testing is often a tedious and repetitious task, playing over a single scene multiple times, and focusing on things most people don't even consider when gaming -- until they're broken. Here's a brief outline of some of the things small devs should be testing for.
Some books list dozens of types of game tests in an effort to be comprehensive. For an indie developer, it can seem overwhelming, and that sense of overwhelm might lead to a failure to test those things that really can be tested by a one-person dev or a small team. You don't need a ton of combinatorial software or automation to test your game, just patience and attention to detail, far beyond making sure your game doesn't crash or hang.
Probably the most commonly known type of game testing is functionality testing. This type of testing ensures that everything in the game functions the way it should, from the menus to the NPC behaviors. When testing for functionality, you need to consider a large number of issues that can be visually jarring, or halt game-play completely.Functionality Testing Checklist
- Graphics Testing
Graphics errors don't impede the players progress in the game, but can be annoying over time, and will undoubtedly make your game look incomplete.
- Are all your placeholder images replaced with permanent ones?
- Are your textures all clean and correctly implemented? Are there any missing?
- Are your graphics rendering properly? Is there annoying flicker at some resolutions?
Mis-aligned or missing colliders can be a source of great frustration for the player, and can even keep them from progressing in the game. Be sure to test them thoroughly.
- Are any colliders missing? Test by running your player into every object in every scene that should be solid. Unless your character is a ghost, they shouldn't be walking through walls.
- Are there colliders where they shouldn't exist? Invisible walls, or colliders that extend too far out from the object they're supposed to represent are game-killers. Test by walking your player through the entire scene layout.
- Text/Message Testing
Historically, many errors in spelling and grammar have slipped through into finished games. Generally these aren't game-killers, but modern games are expected to be better. Errors in instructions and errors, however, can confuse and frustrate players, as does text that is cut off by the edge of a screen or a graphic.
- Are all your fonts readable? Some fonts are cool to look at but aren't easily readable. Have a second set of eyes give you an opinion if you're using an unusual font.
- Are any of your font files corrupted? It happens, and when it does, it leaves a bunch of unreadable gobbeldygook on screen.
- Are all the messages and dialogue correct and appropriate? As the game designer, it's easy to skip over reading the text for the umpteenth time. Don't take the easy way out.
- Is all your text visible? Check in different resolutions to make sure no essential messages are hidden behind graphic objects or the edge of the screen.
- Is your font size appropriate? Games for kids should have larger fonts, as should casual games that older people might play. In any game, don't make the player squint to see the text, or blow them away with oversized fonts that look out of place.
- Is there enough text? While most games need a minimal amount of text, you need to be sure the player is given enough instructional text to complete the game.
- Camera Testing
Make sure your camera is consistent through out the game, and doesn't expose things the player shouldn't see at each vantage point
- Is the camera angle correct in each scene? Does it freeze at any point?
- Is the camera exposing anything it shouldn't? If your camera is clipping an object or a wall, the player could end up seeing parts of the game that give away future challenges.
- AI Testing
The interactivity with game intelligences such as NPCs should work flawlessly, or players will find themselves frustrated.
- Are any NPCs non-responsive? Too responsive and attack without warning? Are their actions too repetitive? Make your NPCs look like they have a purpose in your game world.
- Balance and Design Testing
Is your player able to win too easily, or are any of your opponents overpowered? Make sure the player is challenged in a progressively more difficult fashion without making a win impossible.
- Are any of the bosses too difficult to defeat?
- Are any of the player's weapons overpowered?
- Is the game too easy or too hard to win?
- Sound Testing
While indie games tend not to have the extensive soundtracks that triple A games do, there are still some crucial things to test.
- Is your initial volume appropriate? Don't start your game by blasting your players' eardrums.
- Do your music and sound controls work - both volume and off/on?
- Does your music get annoyingly repetitive?
- Are the sound effects and music consistent in volume and style throughout the game?
Ensuring attention to detail when testing for your game's functionality will lead to a game with a more professional and complete feel to the players. Along with compatibility and platform testing, which is mostly dependent on the hardware and emulation capacity available to you, even small, independent game developers can create high-quality products.