My general philosophy to making a game is to take the following steps:
- Produce a Minimal Viable Product, that has the core gameplay elements, but maybe only you know how to play it. The graphics should be really minimal as well.
- Show this demo to a few people. See how far they get, and see what problems they have. Do not tell the user how to play the game, unless they beg you, in which case you should give them the minimal help, and take note of the fact that you needed to give them help.
- See what you can do to resolve these problems. In general, I prefer the following order:
- Make the task more intuitive. This can be done a number of ways, generally it follows common conventions (wasd for movement, for instance).
- Add some graphical hint to inform the user of what they should next do. This can vary anywhere from a circle highlighting what needs to be done next, to an arrow, icon, etc.
- Improve the graphical fidelity. This can take a number of ways, but generally speaking, people are more likely to click on certain types of objects, for instance.
- Use spoken word or sound to draw attention. People often have the volume turned down, so keep that in mind.
- Use text. Really try to avoid this, people don't read. Text primarily in this stage can be used as a placeholder for future things, but should not explain how to play the game.
- Add new features. (No more than a few at a time if possible)
- Cycle through 2-4 until you have a game that is playable by many, and they enjoy.
- Improve the graphics.
- Record sound effects, sounds, etc.
- Polish the text.
- Test, finding issues the users don't like.
- Repeat steps 6-10 until satisfied.
Okay, so how do I follow these steps? Let's start by taking an early screenshot of the game that I'm working on. Note that the Sphere is actually a ship, the small map showing land and sea, and simple cubes for cities. I have text explaining some things that I don't have graphics for (Which is okay), but the text doesn't explain how to play the game.
If you'd like to see my realtime development of my game, join my Google Group, where I send out weekly updates. The game is a sea trading game, and is slowly starting to look like a game.
Ben Pearson is the author of the Amateur Radio and other technology blog KD7UIY and developer of Games and Apps at Google Play pearsonartphoto, where he plans to publish some of the games created by inspiration of gamedev.tv. He is currently working on a Sea Trading game, which you can subscribe to updates at his Google Group. He has been a programmer since a young age, although only recently is learning programming with game engines. He has completed the the Complete Unity Developer Course and the Procedural Generation courses, and is working through the Complete Blender Developer Course and Unity Game Physics courses. He is hoping to soon start Unreal Courses soon. Follow him on Twitter @KD7UIY.