The Steam audience is savvier than you. They are more intense and more opinionated too. I have seen many indies surprised when their game gets called out with bad reviews for what seem like trivial nits. But they aren’t trivial. These are features Steam players expects and if you are missing them, you will hear about it.

It’s really important that you implement them because your early reviews are VERY VERY important: just a few negative ones can turn you into the “Mixed” or worse category. 

Here is a list of every feature every game should have

Controls

  • Completely remappable controls – Players expect to be able to change every single action to any button among control pads, mice, and keyboards. YES every single action and every single button. I think the reason for this is there are so many controller types and so many different play styles that players require full customization to make your game work for them. This is also related to accessibility. Some players have special needs use custom controllers like foot pedals to move their in-game-character. This is a fundamental feature that I see most first-time-developers miss.
  • (Related) Customizable Dpad and Analogue stick controls – Players expect to be able to use both the DPAD and Analogue sticks interchangeably in game to move the character (unless the explicitly rebind the controls for the directional buttons). Players also expect to be able to remap controls so you can do things like assign actions to the dpad while moving the player with the analogue stick. It is crazy. I know! But they expect to be able to do this.
  • You must be able to interact with your game’s UI using a mouse, a keyboard, and gamepad interchangeably at any point without having to switch settings. Part of this is required by Steam in order to pass the “Full Controller support” designation. This also makes sense from the consumer perspective because PC players are usually at a desk and have all 3 input devices within arms reach most of the time. They might use a game pad for controlling their character, but quickly use their other hand to make selections in an in-game menu. And if they need to chat in game, they can quickly fill it out using their keyboard.

Graphics

  • Ultra Wide Screen Support – Many people have ultra-wide monitors these days. In fact I got one las year and I love it and I am not that hard core of a gamer! Unfortunately I often find games don’t handle odd resolutions very well and important UI elements and buttons appear off screen when scaled up to 2560 x 1440 or greater. Another issue I see is when letterboxing bars are added, background elements will suddenly appear over them because the game wasn’t designed with wide-screen in mind. It looks super cheesy. So support ultra wide resolutions and test them to make sure your game doesn’t look bad for people who invested in high-end visuals.
  • 60 Frames Per Second  – Even if you have a slow paced pixelart game, it must run at least 60 frames per second or you will get a heap of negative comments and reviews. I know! You can argue whether people really need that much, but you will get complaints if you don’t support 60 FPS. I am sorry. Just do it.
  • Windowed mode. YES your game is an epic immersive experience but some people like to step back and reduce how stimulating your game is. Their solution? Switching to windowed mode so your game plays with their desktop in the background. Windowed mode is also helpful because it can solve scaling issues if your game doesn’t correctly display on ultra-wide monitors.
  • Colorblind mode – This isn’t about picky gamers, this is an accessibility MUST. If you are making a game that relies on distinguishing between colors, you must support alternative ways of distinguishing the gameplay elements. For more tips on accessibility, watch this talk on colorblindness.

Audio

  • Separate customizable SFX and Music volumes (including mute for all of them) – Even if you have the perfect audio mix, someone will want to change what you have done. Similarly, some folks just love to stream their own music but still want to hear your sound effects. Allow them to mute.

Other Steam Features

  • Pausing at any point – Seems obvious but pausing is actually a pretty tricky feature to implement in many game engines. Players expect that you should be able to pause the game at any moment without penalty (even during cut-scenes).
  • Cloud support – This is a Steam API feature that uploads save files to the Steam cloud. When properly implemented, players will be able to play your game on one PC, then play it on another PC and the game will continue in the exact same spot. It sounds trivial (who has multiple gaming PCs!?!) but I have received enough requests that I think this is worth implementing. Note that players don’t typically leave negative reviews if you don’t implement this, but it can cause some to complain about it. 
  • Achievements – Many steam players LOVE achievements. They join fan communities just to document all the various achievements they have collected. Be sure to add them. Side note, achievement hunters HATE the “no death” achievement where the only way to win it is by playing the game without dying. Just don’t. 
  • Trading cards – This is a special feature that is only unlocked once you reach certain sales levels. If you are lucky enough to earn enough, create them!
  • Pause with overlay – When the Steam overlay is pulled up your game should pause. Check the Steam API for this one. 
  • Pause with disconnect – When your controller is unplugged / turned off / disconnected / runs out of battery, your game should pause.

Bonus feature

The following are features that if you implement them will really be popular with the Steam community but won’t hurt you if you don’t have them.

  • Uploadable screenshots – The Steam API supports a button that will upload a screenshot of your game to the user’s profile. Many Steam fans participate in special sub-communities where they share screenshots as if they are travel photos. This feature is very important to them. Read more here.

Featured image by Pablo Zuchero on Unsplash