How We Test Our iOS Games
May 29, 2013
Ah yes, I have started to test 'Kick The Kitties' as each of its sixteen levels are being hammered out. I know testing can be tedious, but it can be fun and more importantly it is essential to development of a great game. Essential!
I established a simple testing system when developing 'Goats R Delicious' last year and it seems to be very effective. Before I continue, remember this is an iOS game and I am utilizing TestFlight on the appropriate mobile devices.
If levels are in the process of being developed, I always start with the latest level and then work my way down to the very beginning of the game. Once all levels are built, upon receiving the latest version, I start from the very beginning of the game. Remember, before installing the latest build via TestFlight, restart your mobile device.
It has been my experience to be clear and concise when communicating with your programmer (or at least I try). Even if you are the programmer, you will not remember every situation and will appreciate a standard format that is easy to decipher.
I use my iPad to do the mundane testing because of its interactive ease in capturing images and placing them in your gallery. This is what I do:
- I play the entire level (I probably die several times) and take images of situations were errors, concerns, questions or suggestions appear.
- Upon completing a level, I enter my gallery where these images are located.
- Each image becomes the basis of one email which is to be sent to the programmer (or self).
- Each email has the following in the subject header; TestFlight Versions #, Level # and a number or letter so one can keep track of the many emails from a particular level. For example, "Version #56, Level 8 p.3" tells me this is the third image from my walk through the eight level on the 56th build upload. Everything I send has to be documented.
- Finally, each email has to have a comment about the image because things are just not always obvious.
Here is some advise I have about actual testing:
- Test every wall section or boundary to make sure you character cannot penetrate anywhere outside of game play. Having your character falling into the "blue" or being "stuck" can be demoralizing and players will notice!
- Die on every spot where you have designated the character's possible death and make sure the dying sequence and images are consistent. You do not want your images to bleed.
- If you character can jump, jump everywhere! You never know where a hidden collider is.
- Walk or run on every surface available. There is nothing worse than having your character fall through the floor and into the "blue."
- Make sure your spawning points are spawning consistently.
- Stand in front of or behind every object/item available.
- Make sure there are not any unplanned "dead" areas that give the players unintended refuge.
- Are the mathematics behind health, score, item collections and et cetera working properly?
- Kill every "opponent" you have placed in your game. Verify that every "opponent" functions correctly.
- Destroy every "item" you have designed as destructible. Verify that every "item" functions correctly.
- Use every "facilitating object." Verify that every "facilitating object" functions correctly.
- If possible, do numbers 6 thru 8 in a different order or created other possible progression situations within a level. Not everybody plays a level the same way you do.
- Make sure your music is looping correctly.
- Finally test your UI extensively.
I know many of you could add things to the list, but hopefully I covered the basics.
Remember, game play memorization is your enemy and therefore try and approach every new upload a little differently than the previous one. Best of luck!