How to polish your Indie Game

Polish comes in various.shapes and forms. Proper Polish can contribute to a game's fun factor and someone's willingness to spend time playing it. It usually is a consolidation of many small details, which in sum can make a big difference. What exactly these can be I am lining out in this article.

Here are a few general principles that apply to game polish:

  • Aesthetics
  • Acesssibility
  • Correctness
  • Consistency & Clarity
  • Simplicity

Alll of these principles together increase the general quality of a game. Below I will explain them briefly and give a few examples on how you can improve each aspect.

As I wrote this article, I started to understand how incredibly vast this topic is and how difficult it is to spot useful, universal patterns. There are al ot of intersections with classic UI/UX topics.

But having an eye for details is a good starting poin in either case.

Aesthetics

Aesthetics by definition is concerned with beauty. This is a rather general term. In the context of games, beauty can be found in the visuals, but also sound design, level or map design, color schemes or just the general feel. Together these aspects create mood and atmosphere.

If your game is not aesthetically pleasing or satisfying to look at, no one will play it. Visuals and sound should elevate the gaming experience and it can be as individual as the game you are making.

A positive game example for good aesthetics and design is the Subnautica series.

How to improve Aesthetics

  • be aware of the art direction (mood/atmosphere) you want to achieve with your game and pick the means to achieve it wisely
  • add Tweening to your user interface (e.g. here a Unity Documentation)
  • ensure good sound design: ambient sounds that contribute to the atmosphere, satisfying sounds for effects or UI that indicate a certain haptic
  • use color schemes that promote the mood of your game
  • use an art style that is lending from historic settings or art periods

Acessibility

The term originally comes from disability and software, but the principle extends to “normal” users as well. Software and games can be designed in a way they are terrible to use, no matter your ability or disability.

If your UI or game play loop are tedious and inherently unfun, no one will play your game. Usage friction needs to be as low as possible. Instead, ensure your game is satisfying to use. Anything that reduces that friction will help make your game easier to use and also more fun.

Then again, a game without any friction isn’t fun. If there is none, then where is the challenge?

Any friction should be generated from your game mechanics or difficulty, not the terrible experience of using a game’s UI (for example). These two are completely different: one can be an intended design choice, the other is a UI/UX problem. A lot of people, particularly on social media, seem to conflate those two.

How to improve Acessibility

  • keep your game loop simple
  • if your game loop is complex, at least ensure your UI is easy to use (e.g. the case when you are using a complex crafting system)
  • add configurable controls and game difficulty
  • add a in-game beginner tutorial
  • measure how many clicks a user needs to perform a certain task and simplify where needed (connecting to the Simplicity principle below)
  • add tooltips to UI components that need more explanation
  • keep important UI components large
  • UI components that are part of the same flow should be close together, see Fitt’s law [nngroup.com],

Correctness

The overall user experience of your game needs to avoid confusion and promote clarity. User expectation and user experience need to match. Correctness is a means to achieve this.

If a user sees and buys a game marketed as shooter only to discover there are no shooting mechanics, they will be disappointed and mislead; a similar disappointment can be experienced if your in-game desriptions are refering to facts, story events or mechanics that are nowhere to be found

Correctness is also about being able to trust a game, its mechanics and information it provides to the user: Does it yield expected result, does it show a low HP level if your HP is actually low?

If you want to stand out as indie game developer, you need to pay attention to that.

How to improve Correctness:

  • ensure your features are functional and free of bugs, as much as possible
  • avoid spelling mistakes and use correct grammar
  • make sure in-game descriptions are up-to-date and present the reality. I vividly remember cooking recipes that are simply wrong while playing ARK: Survival. Frustrating!

Consistency & Clarity

Consistency alone can get you extremely far. Art style, UI style, codebase, accuracy of names or descriptions, corporate identity, marketing materials are all affected by consistency.

In relation to games themselves, consistency establishes rules and patterns. Doing so helps managing user expectations down on a microscopic level, ergo avoids confusion and improves clarity.

Consistent styles have behavioral rules, which ideally are the same across all components. What these rules are is entirely up to you!

How to achieve Consistency:

  • keep your color scheme consistent
  • use similar patterns for similar behavior: Selecting a button or unit usually encircles it in high-contrast color; clicked item avatars, buttons etc. grow in size
  • use known patterns from general UX/UI Design
  • use high contrast colors to lead the eye

A few tips for UI consistency:

  • use the same colors across components for different states: e.g. clicked, pressed, hovering/selection
  • distinguish between primary and secondary button styles. Primary buttons with strong colors are intended for “call-to-action” scenarios signalizing importance, while secondary buttons have a lower priority.
  • make buttons pulsate in scale (grow/shrink) when hovering over them with a mouse

Simplicity

Simplicity in art or code allows you to get to the polishing process much faster than with something that is out of your league in terms of skills. The goal is to reach the polishing stage as soon as possible, which leads to a more polished overall game.

How to achieve Simplicity

  • keep your asset pipelines simple
  • if your asset pipelines are not simple, automate them to save time and energy
  • stick to simple art styles
  • that solution you’re thinking about is probably over engineered. Think about your problem again: the simpler, the better.
  • when programming, design your classes in a way they can easily be mocked by a developer test or similar. This helps with creating test environments.
  • in a similar fashion, keep your UI Components as “stupid” as possible, only use polling or event handling to update them. This also allows you to test components in a test environments separately, speeding up development and reducing bugs

Hope this article helps on your gamedev journey!

Do you have any feedback or questions? Feel free to let me know in the comments!
I appreciate the opportunity to help or improve.

Leave a Reply