Some thought on game design
Though computer game development obeys the same laws as usual software development does, it has few own factors.
“No magic numbers” priciple in regard to games has its own meaning: such constants could serve as natural tweaking options. For example, to speed up the entire game there could be variable called GAME_DELAY and it could be lowered. Or something like PLAYER_HP could be increased in order to give player some allowance.
Prototyping or modeling could help developer to focus more on gameplay and less on content such as images, sounds etc. All that stuff could be filled much later. Gameplay is above all. Of course, there could be times when the whole game designing starts from an art piece. But even in that case art has no special meaning, and a model could replace real art for the time of prototyping.
Generally, all games consists or three group of items, each one holds its own concept:
- Progress is the idea of growth, development, and escalation. For most games, the simplest example of this is a score, but it stretches much further to level progression, character enhancements and an evolving story.
- Obstacles are barriers to progress that must be overcome. It doesn’t have to be destructive like killing an enemy - it can be transformative instead, like a quest. But for it to work, it has to stand in the way of progress.
- Resources are the tools you give players to use against obstacles, and occasionally spend on progress. They can be infinite like jumping or running, or finite like power-ups or hit points. They can also be much more abstract, like board position or even the player’s own creativity.
If the game is complex enough a tutorial could be present. It should be as simple as possible, just to cover up the minimum the player needs to now to not get confused at the beginning. Any other features and help could be present as external manual or evene in-game content like some “help” points or all-knowing NPCs.
Moreover, the most painless tutorial is the one that is embedded in the game itself and is almost invisible. Something like this could be represented as easy starting levels with few, slowly exposed game features and more difficult ones which are treated as a “real” game. Sometimes this “learning” process could take even the entire game and take a big part in a gameplay.
Few ways to increase replayability:
- Achievement options: new levels or new items (like weapons) could be unlocked after finishing the game. Or even completely new features like difficulty levels or jetpack or god-mode etc.
- Or game could have open game mode without any forced ending, like in some RPGs or simulators.
- Also, RPGs or game with elements alike could provide many different ways to complete the game (be good, be evil, be nihilist.. whatever). Non-linearity actually strengthens up game replayability a lot.
- Multiplayer mode of any kind would help to. It is one of the ways to extend not the game itself but its use.
- Player-generated content. Or randomly computer-generated. Most of roguelikes uses the latter. And you always could supply your game with an level ro mod editor.
- Tweaking of character. And again RPGs: cosmetic design, perks, character advancing, skills etc.
- Extended gameplay: minigames, different game modes (like survival)
- And, of course, a plethora of original game content: levels, items, quests, plot, features, even colors and sprites/models.