Finish what you start
Everyone can start, not everyone can finish.
Keep the scope small
Keep it simple, then build complexity.
Don’t get too attached to your ideas
Kill them if they don’t fit. Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
Keep a backlog of tasks you have planned
Assess your priorities.
Define the difficulty factors of each mechanic
Define what parameters will be used to increase or reduce the difficulty of your mechanics.
Imagine in detail how the game plays in your head before committing to a prototype
Visualize activities done moment to moment, minute to minute.
Work on your pitch
Describe your game clearly in a single sentence, where that sentence does not describe a single other game.
Form Follows Function
Make sure the design communicates its workings.
Make sure the player can and have enough feedback to make meaningful decisions.
Reward the player
Give the player an instant reward for overcoming an intended challenge.
Keep it simple
What is the smallest possible prototype I can build to illustrate X?
Assign more than one purpose to your mechanics, make them interact with each other.
Add colors, shapes, sound effects, and music to your prototypes.
See if there’s an easy-to-use tool or asset that allows the prototype to be made faster.
Prioritize your tasks
Again, assess your game priorities, cut what’s not needed. Focus on what will bring the highest design value with the lowest effort.
Make sure the player knows (or has an idea of) their goal, how much they progressed and what is left to complete.
Consider all player senses in your designs, carefully consider each possible feedback and state available.
Fix annoying bugs before starting the next task
Don’t put off for tomorrow what you can fix today.
Set deadlines, nothing like them to motivate you. Assign a time to your work on each stage of the project, you won’t be able to tell how much time you lost if you’re not keeping track of it.
Give the player optional challenges. Allow them to solve challenges in different ways.
Look for joys and frustrations shared among all playtesters.
Show, don’t tell
Make sure the player can interact with your game without explicit instructions from you.
Reinforce emergent design
Keep an eye out for emergent behavior. If it fits your core experience, encourage players to pursue it by designing risk/reward around them.
What was relevant?
Ask for the player to describe their favorite and least favorite moment or interaction, when they felt clever and if there was something they wanted to do and the game didn’t let them.
Don’t stick to the same testers, always bring new players.
Notice when players get frustrated or encounter problems or try to prolong the same activities.