Essential Game Design for Programmers with No Time
GAME DESIGNPROGRAMMINGINDIE GAME DEVELOPMENTGAME DEVELOPMENT


The world of game development has a mix of people with different levels of talent from different fields. The skillsets developers new to game development tend to focus on are programming, art, and sound. Some start their journey with experience in one or more of these skills. Others start from scratch. Everyone grows and gains some experience in every skill as they continue to work at their games. A skill that is often overlooked and that may be just as important is good game design. Indie game developers are usually video game enjoyers and it is easy for them to tell themselves, "I've played a lot of games so I know what a game should play like." Without focusing on at least the essential elements of game design, it is easy to make mistakes that would prevent new players from enjoying your game. You don't need to spend the time learning all game design principles. Following just the essentials will help you make a great game.
The most important things to focus on are:
Game mechanics - The main player interaction (combat, movement, puzzle solving)
Game Play - Overall feeling while playing (curious, challenging, relaxing)
Player progression - How the player advances in the game
Though other aspects are important, let's look into why these are the essential ones and how to fit them into your game ideas
Why Game Mechanics Are Important
The game's mechanics are the only way a player can express themselves when playing that game. The interactions and controls have to be familiar and/or intuitive or else you risk a player feeling limited. Coming up with unique mechanics may seem fun at first, but may lead to an unplayable game. Copying and slightly tweaking a common mechanic will almost always lead to a better player experience. I've seen many demos where there were placeholder images and no sound, but the mechanics were so tuned in that it carried the game.
What Exactly is Gameplay Anyways
The best way to describe gameplay is the feeling you want your player to have when playing the game.
Examples:
The Infamous Getting Over It, had a thriller and anxiety element to it which kept players engaged... for better or for worse.
Stardew Valley with its cozy vibes drew in many different players who were looking for a relaxing game.
The challenging Dark Souls requires a player to grow in ability to be successful in combat.
Silent Hill is a game that I still can't play through because of the creepy creatures and ambiance.
It is not always easy to figure out the vibe you are going for and it is even harder to know whether or not most players will feel the same way. Allow others to playtest and ask the testers questions about the feeling of the game. This will help you gauge whether you are producing the emotions you are looking for.
Though mixing different gameplays is alright. Since this is a post for busy programmers, focusing on one type of feeling is enough to carry the game.
How Player Progression Enhances Your Game
When players start understanding the game, they want the challenge to change or increase. Nobody wants to play level one of Tetris forever. Once a player gets an understanding of the game, they are expected to be taken to the next level.
Whether a player is looking for bragging rights or just internal fulfillment, progression should feel like progress. One of the most frustrating scenarios is where a player invests a lot of time into a specific game, only to in the end feel like nothing was accomplished.
Progression is different for different types of games, but some of the most common forms are:
Meta-progression - Takes place outside the normal game loop where a player can change different mechanics
Skill-based progression - This is focused on players getting better. The mechanics remain the same, but the player's skill must increase to advance.
Levels - This can include player levels and game levels. Progression is a numerical value and getting better means getting to the higher numbers.
Exploration - The player's goal is to find and fill in a map or something similar. The more that is filled in equates to progress.
Why are Game Graphics Not Essential
As an indie developer, you are not going to compete with big-budget games. I would argue that those big-budget games always feel like they are lacking in other places. Graphics, though they are important to get right, do not need to be a focus or time sink. Some of the most popular, recently released games prove this.
Vampire Survivors used visuals from a single asset pack and are pixelated when scaled.
VVVVVV uses straightforward shapes.
Something else to remember is that, what looks good is subjective. Different players are attracted to many different art styles. Chasing approval for your graphics is not worth the time.
What About Game Sound?
Because Game Music and sounds are extremely important to the feel of the game, it was a hard decision to cut from the essentials list. The reason is this post is for programmers with no time. Music and Sounds are easily configurable so changing them is easy at any point in development. This is unlike the essentials that are listed. Changing a game's mechanics, for instance, would probably result in a rewrite.
Go Make a Game
Game development is complicated and requires multiple disciplines. As a programmer with no time, following at a minimum these essential game design elements will help guide your game in a consistent and fun direction. When time permits, if ever it does, it would be beneficial to learn the basics of other design principles.