PostRobcore // Blog // Games // YouTube // Twitter // GitHub

Game Design Tenets

These are the core tenets I keep in mind when designing or making games.

Posted on 2023 April 22

These are the core tenets that I keep in mind when working on a game or a game design:

  • Respect the Player’s Time
  • Let the Player Customize their Experience
  • Tight Core Game Loop
  • Support Colorblind Users
  • Clear Control of the Game
  • Silhouettes are Important
  • Don’t Punish through Choices
  • Respect Internet Bandwidth
  • Respect Computer Resources
  • Reward Exploration
  • Reduce Loading Times

Respect the Player’s Time

Time is one of the most precious and valuable resources that we have. Any game that I make should give the same level of respect to a player regardless of wheter they have 60 min or 12 hours to play.

If a game promises a gripping story but requires the player to perform a ton of insignificant, unsatisfying tasks, then they are not respecting the player’s time.

Exceptions are for games which are upfront about their level of grind, of course. If I play Monster Hunter, I’m aware that part of the game is collecting resources so it’s not a waste of time to get there.

Fast Travel is a good example of a respectful feature for players. I think it’s immersion-breaking, but not everyone has the time to spend just walking across the game map.

Let the Player Customize their Experience

To me, this is one of the primary hallmarks of Indie gaming. So many indie games let the player decide which features they want to play with to customize their experiences.

  • Crusader Kings 2 / Paradox Games -> difficulty, lucky nations on/off, historical focuses on/off
  • Prison Architect -> difficulty, turning game features on/off
  • Civilzations -> # of enemies, difficulty, world features on/off
  • Mobile Trash/Kuso-Mobage -> autobattle
  • Total War -> autoresolve
  • Bravely Default -> exp/gold modifiers

Tight Core Game Loop

Every game should be built around a loop, and everything that the game does should be to get the player back to the loop and let them play it again. The game can augment and change the loop or how the player gets to it, but the core and fundamental experience should be there.


  • Total War series -> Organizing then moving troops
  • Call of Duty series -> Identifying and then opening fire on the enemy
  • Civilizations series -> Producing, moving, and then attacking with troops

Support Colorblind Users

Don’t use color as the exclusive indicator of a game concept. Always include a symbol or the ability to toggle a symbol to support colorblind users.

The most egregious example is Red+Green, since that’s used in traffic lights. 🚦🚥 😿 I prefer Blue + Red.

Also avoid Blue+Yellow.

This is especially important for games that use color, such as match 3 or bubble popping games.

Clear Control of the Game

The player should be aware of any time they have control of the game. This is anything from a noticeable shift in the game UI (ex: adding a compass and health bars) or an icon indicating that the game is awaiting some kind of input before it will proceed. It’s incredibly frustrating for players to sit around and have to guess when they need to interact with the game.

I’m not a fan of quick-time events (QTE). It catches me off guard when I’m watching a cutscene and then need to scramble to find a button to prevent something from happening. So I would cover QTE as a violation of this category unless it’s clear that a QTE is upcoming.

Silhouettes are Important

Every game element should be distinguishable to a player by its overall shape. This helps with game flow and can prevent the user from feeling tricked or deceived if the element in question is dangerous to them.

This one is the hardest to do, but not impossible. Look at the character roster from Overwatch. Every character has a readable silhouette, even if some are similar. The largest characters have a very defined silhouette.

Don’t Punish through Choices

Players love choices in games. One of the worst choices you can inflict on a player is an abrupt “pick a penalty” choice if they did not have a chance to avoid it. Choices should always reward the player for interacting with it instead of penalizing them for interacting with it.

Respect Internet Bandwidth

Any time the player needs to pull resources down from the open internet, keep in mind that their internet may be slow, unreliable, or they may have a data cap. Don’t assume that a player’s internet is fast and unlimited.

Resist remotely retrieving assets which could be stored locally, and resist sending or requesting information from the internet too much.

Respect Computer Resources

Don’t assume the player is on a supercomputer. Give them the option to disable graphically-intensive parts of the game. This can allow the game to cache less (less memory usage), render less (less gpu), or even not bother with entire components of the game (less cpu).

The reputation of being able to run on a toaster is better than the reputation of needing a supercomputer to play.

Reward Exploration

Players are naturally curious and often willing to push the boundaries of a game. When a curious player wanders away from the critical path in search of a side quest or easter egg, reward them within reason. Don’t have them walk down a path for minutes for nothing. Don’t just populate the area with default enemies that grant no extra items or experience. Reward different playstyles, and the curious should also have fun in your game.

It doesn’t even require an open-world game to reward explorers. Dragon Age: Origins had a hidden spider encounter just on the side of a field. It wasn’t mentioned nor was there a cave, but just behind a little hill was a group of spiders ready to attack the player, oh my!

Dark Souls is mostly the king of this idea. Not open world, but there is so much intricacy in the game world, that the player is rewarded pretty often in the form of loot. But also proportionally punished by having them drop off of fatal cliffs if they are not careful. It doesn’t just reward an alternative playstyle, it entirely embraces it.

Reduce Loading Times

Nothing ruins a player’s fun like sitting at a loading screen, waiting to get back to the best game loop that they’ve ever experienced. Initial load times are fine.

Strongly consider caching relevant content on game launch (data, images, sound). This will increase the memory requirements for the game. Unless the game is particularly asset-heavy, it would pay dividends in having an unbroken game loop.


Thank you for reading!

<-- Next Post: Better Weekday Encoding // Previous Post: Git Pull Request Auto-complete Is Usually Bad -->

Back to the list of blog posts?