How to Develop a Scoring System for a Game
Scoring systems are implemented in video games as a way to provide feedback to a player during a game. While leaderboards display players’ results at the end of a level or match or global high scores, scoring systems are essential not only to provide vital information during a game, but as a way to provide valuable, engaging, and rewarding feedback that encourages an enjoyable experience and replayability to improve scores. Scoring systems contain mechanics that could be as simple as incrementing a player’s score when collecting a coin in the platformer game Super Mario Bros, to tracking player statistics of allies and enemies in an intense 5 vs 5 competitive match in the first-person shooter Overwatch 2.
Just like how these two games are very different, there are different kinds of mechanics implemented in scoring systems that enable players to receive feedback on the current state of their game, feel a sense of accomplishment, and challenge them to improve their performance during a game. These mechanics generate a reward system that encourages replayability. As games have become more complex since the release of games such as Pong and Super Mario Bros, so too have the mechanics that make-up scoring methods.
Continue reading to learn what scoring mechanics make up scoring systems, the steps needed to build scoring systems, and how you can build an interactive and social scoring system to bring players together.
Understanding scoring mechanics for video games
Scoring mechanics are individual pieces that make up a scoring system to help players track their progress in-game. While some scoring systems are fairly straightforward with only one scoring mechanic as a way to provide feedback to a player during a game, most games consist of a combination of scoring mechanics to provide an engaging, useful, and unique feedback experience.
One of the simplest, but most powerful scoring systems is keeping track of a player’s or objective score while playing a game. One of the earliest arcade games, Pong is a tennis-based game that tracks the number of successful goals each opposing player has made. This score contributes to the objective of the game, which is completed when the first player reaches eleven points. The score is represented in big numbers at the top of the screen to easily inform players.
Time tracking is another early and well-adopted metric for tracking a player’s performance during a game. It is used in racing games such as Gran Turismo, where players compete against each other or even themselves by completing a number of laps and achieving the fastest time during a race. Gamers are encouraged to continue to achieve faster times to place in overall higher rankings regionally and even globally.
Outside of direct development, many community members have continued to play and challenge themselves with their favorite games by speedrunning: completing a game in the fastest time possible. To obtain the fastest time, speedrunners track their progress based on certain checkpoints, attempting to beat their own personal or best player time. There are even events such as Games Done Quick, a charity game marathon where speedrunners compete against one another to achieve the fastest results.
As a way to track a player’s progress in a level, game, or match, many characters (and enemies) have a health bar and a set number of lives. Health bars indicate how successful the player is performing, or how far they have progressed through the game or level. If the number of points in the health bar drops to zero, then life is consumed and the player is granted another health bar.
Fighting games such as the Street Fighter series and Fighter's History depict how players are currently performing in a match by displaying a health bar for the currently controlled player and their opponent as the game score. The first player to lose all of their health loses the match.
The Super Mario platforming games track how many coins you have obtained through each level in the game. Once a player reaches 100 coins, they unlock an additional life that allows them to continue playing the game in case they lose. Players can also collect power-up items that unlock abilities for the player to use, such as being able to shoot fireballs. These are scoring mechanics in the sense that it gives the player a sense of gaining more abilities that allow them to progress through the game.
Some games use a combination of different scoring mechanics as an integral part of how well a player has performed during a level. In the action-adventure game series Devil May Cry, a player progresses through levels by defeating enemies. Players who successfully perform a number of actions within a given amount of time while collecting or using items will be rewarded with a higher score when completing the level. While a grade is displayed to the player at the end of match that indicates their performance, their current score is displayed to players while fighting enemies to indicate their current performance.
As games have become more complicated since Pong, especially with the surge of online competitive multiplayer games, scoring systems needed a more evolved mechanic than just simply tracking a player’s score. League of Legends, a multiplayer online battle arena (MOBA) game that pits two teams of five players to battle and eventually win the game by destroying the other team’s Nexus (home base), allows players to view a more detailed breakdown of their current score in-game with useful statistics.
Similar to what is displayed in Overwatch 2’s in-game scoring system, players can view their kills, deaths, assists, objectives claimed, gold earned, and even items bought in-game per player. Players can also view other player information to see their in-game progress, as well as strategize countermeasures based on items purchased by opposing team members. This allows for indirect interaction between opposing team members.
While fighting games such as Super Smash Bros also display a player’s current number of lives and health bar as a percentage bar to indicate a player’s progress in a match, some characters, stages, and items are unavailable until certain conditions are met. Combined with the achievements scoring mechanic discussed later on, this content is unlocked for players by playing a certain number of matches, playing a character a number of times, or winning a number of games with certain conditions in place. Unlocking this content gives the player a certain amount of progress to completing the overall game, and strives for constant replayability and mastery of the game.
Experience & Level-Ups
Some games define scoring mechanics by improving the playable character(s) themselves by a concept called leveling-up. The core concept of role-playing games (RPGs), such as in the Final Fantasy series, has players defeating enemies, completing objectives, or consuming items that grant experience points. Once a player’s character(s) has obtained a certain number of experience points, they will level up, which increases the strength of the player’s character(s). This concept can be applied to the playable character(s) themselves and items the players can equip. Experience points and leveling-up gives feedback to the player’s current progress in a game since it allows them to progress and challenge stronger enemies, eventually allowing them to complete the game itself.
Some games take a unique approach to this experience and level-up scoring mechanic. Elden Ring combines both these mechanics and the collection mechanic discussed earlier. Players collect “runes”, which are collected when defeating enemies. Players can choose to level up their character with these runes, purchase items, or enhance equipment. The runes are indicated as a total, displayed to them whenever new runes are collected.
Achievements are personal goals players can complete for rewards and accomplishment and are typically a staple of Massively Multiplayer Online Roleplaying Games (MMORPGs) such as World of Warcraft. Accessible to players from the very beginning of the game, achievements are a visual/written representation of a player’s progress during quests and storylines when performing specific criteria. While achievements don’t usually have an impact on a player finishing a game, they encourage players to play longer to achieve rewards, a sense of accomplishment, and credibility for completing difficult achievements.
Steps for developing a scoring system for a game
Now that you’ve learned about the different scoring mechanics that make up a scoring system, you’ll need to consider what will work best for your own game. Older games, such as Pong and Space Invaders always showed the current score, time, or the number of lives that the player has left since these games were less complex due to hardware limitations.
For modern games, however, do you want to always display this to the player, or should you instead make it a button press to pull up an in-game statistics window? Should you keep minimal information on the screen, such as current objective points, and then show the rest on the leaderboard?
You might have the inclination to use every scoring mechanic to provide the best feedback experience to your players. However, keep in mind how useful the scoring mechanics that make up the scoring system will be based on the genre of your game, platform, and online connectivity of your game.
The genre(s), or style, your game falls under is the first starting point of developing your scoring system for a game. Although players have preferences for which the kind of games they like to play, some genres are by nature more complex than others. RPGs and other open-world games require experience points and level-up scoring mechanics as a way to give feedback on your player’s progress. Achievements for this genre of game are an additional, useful scoring mechanic, but you probably won’t need the time or statistics game mechanics. First-person shooting (FPS) games, on the other hand, require a complex scoring system of health, statistics, achievements, and even collection scoring mechanics to provide an accurate measure of a player’s performance, especially during competitive online matches.
The type of genre typically defines what scoring mechanics you would display at a given time as part of the scoring system. Racing games need to display your current time on your player’s user interface at any given time, but would only display the player’s best time as soon as a player passes a lap checkpoint. If a player eliminates another player in an FPS game, a graphic or text should be displayed that indicates that interaction has occurred, but should be removed from the screen shortly after. However, the active player’s current ammo level, ability cooldowns, and objective results should always remain visible as a way to provide useful feedback on score updates.
Although games within the same genre are uniquely different to stand out from each other, your own game is more than likely inspired by your favorite games you’ve played or seen. You should research scoring mechanics in other games that you believe work well and think about how you want to integrate them into your own scoring system. If you want to create a truly unique scoring system, begin to implement what you believe is missing or could be a unique experience. While you are designing your scoring system, be sure to keep in mind your target platforms, as this will affect how your scoring systems will look and feel.
As you are taking inspiration for scoring mechanics from other games and beginning to design your own scoring system, you’ll need to focus on what platforms you are planning on releasing your game.
Games for desktop, which include Windows, Mac, and Linux, allow for more flexibility in terms of resources to be able to power the scoring system for your game, as well as screen size to be able to fit the individual scoring mechanics that make up your scoring system. Players also gain access to a variety of inputs that can affect scoring mechanics that update players, such as keyboards, mice, and controllers. You can also gain valuable feedback from players on your scoring system for your game if you release your game in trial periods, such as through Steam’s early access program, so you can update your scoring system with player feedback as you are developing your game.
Developers planning to publish their games to consoles (PlayStation, Xbox, Nintendo) have a standard set of consoles to develop on, as well as a more generous amount of screen real-estate space as they are meant to be played on larger television screens. However, feedback and updates in general are more difficult to change or alter since you now need to work with the home console publishers, and are limited to a controller to interact with or view scoring mechanics in your system.
If you are designing your game for mobile platforms, you need to keep in mind three things for scoring systems: input, screen size, and online capabilities. Mobile devices are meant to be exclusively touch screen, meaning you need to make sure that users are easily able to access detailed scoring mechanics in a way that doesn’t interfere with gameplay. Since mobile devices have smaller screens, what and where you are placing scoring mechanics that make up your scoring system is the most important design choice to keep in mind. You don’t want to constantly display non-essential scoring mechanics such as text, graphics, or player statistics during the entire game, as it will interfere with player actions and gameplay. This will frustrate players and create a negative impression of your game.
Although applicable to most games on all platforms, the most popular mobile games support online connectivity, which includes multiplayer, chat, and leaderboards so players can interact and socialize. Enabling online connectivity allows players to have a more social experience of viewing other players’ statistics during a match, but you need to ensure you don’t interfere with a player’s gameplay experience. Being able to chat with players during a match is a way for players to interact with other online players and their friends, but it should be a small window that is out of the way and doesn’t interfere with gameplay. Having the chat disappear while not in active use after some time is another great way to free up screen space. Other online players’ statistics should only display essential information to the currently active player, but allow this information to be presented with a button press or profile lookup to see more detailed statistics.
Offline games such as RPGs are complex, story-driven games that are usually not expected to contain social features. Your scoring system for these types of games can be self-contained, and information can be updated and stored while playing by saving to local files. However, online games that require consistent updates during a match, especially FPS and MOBA games, need to display accurate and essential information during a match. Scoring systems that do not display reliable, accurate, and effective scoring mechanics will lead to individuals losing matches, which in turn leads to player frustration and eventually players quitting your game.
Adding online features to make your scoring system interactive and social requires a strong infrastructure that needs to be able to support potentially hundreds of thousands of concurrent players at a time. Your scoring system needs to be able to reliably and actively display feedback to players during important matches that is useful, effective, and fun. While it is possible to create this infrastructure yourself, this will take time, resources, and upkeep that can be spent elsewhere. This is where PubNub can help.
Making your game scoring system interactive and social
PubNub is a developer API platform that enables applications to receive real-time updates at a massive, global scale. PubNub serves as the foundation for over 2000 customers in diverse industries, including gaming. Game developers can depend on PubNub’s scalability and reliability to power their online features for games and tools for in-game chat, live scoring updates, and alerts and notifications to bring players back to the game. PubNub is efficient, reliable, and fast enough to update scoring systems in real-time, without affecting the gameplay experience of players.
Panzerdog’s fast-paced shooter Tacticool, built using Unity, uses PubNub to power their in-game chat. Panzerdog can depend on PubNub’s scalability and reliability to support communications for 100,000 plus daily players and 10 million downloads across the world.
Beamable, once a game developer now turned into a full-stack LiveOps platform for live games for Unity, depends on PubNub’s infrastructure to power its chat platform to build highly engaging and interactive games using their platform.
Mayhem lets gaming communities build customized leagues that attract players. They turned to PubNub to power their chat, real-time leaderboards, and push notifications to ensure a smooth and limit-free player experience.
To begin using PubNub to make your game scoring system interactive and social, you’ll need to first create a PubNub account and import one of PubNub’s many SDKs that integrate seamlessly into your game, including an SDK specifically designed for Unity.
Select the SDK that aligns with your game’s development environment.
Follow the SDK’s getting started documentation to configure your keys and begin implementing PubNub functionality in your game.
PubNub has the following features built-in to its API that can meet the specific needs of the scoring system for your game.
Subscribe: Receive updates from connected players to refresh players' screens with new and important data.
Presence: Update the online status of players and signal changes to friend lists while players are in-game.
Message Persistence: Display any missed information to offline players once they log in.
Push Notifications: Notify mobile players who are offline about any missed messages and notify players about new in-game updates, events, and news.
Objects: Store information about your players in one place without the need of setting up or calling your database.
Access Manager: Restrict access for private conversations, chat rooms, special events, and player-restricted content for your players.
Functions: Translate messages, censor inappropriate messages, announce the arrival of new players, process and store score updates, and notify other players of mentions and score updates.
Although simply a summary of each of the features, PubNub’s Functions feature is especially useful for supporting real-time score updates without affecting games. You can set-up the Functions feature to act as a constant, separate running system to update users on a variety of events triggered.
You can store, monitor, and even code logic for event handlers to process and send this information back to your players. Setting up your game to catch this logic from Functions allows you to display this information back to your players in event listeners, meaning you have full control over this data from the time it is triggered to when it is displayed to other players. You can see an active example of this in our Unity Karting Game.
Getting Started with PubNub to make your scoring system
Scoring systems in games are an important and necessary feature in game design to provide useful feedback to players. Although there are many different types of games on different platforms, there are scoring mechanics that developers can use to inform and communicate the necessary information a player needs to have an enjoyable in-game experience.
With the addition of online features, you can make your scoring system more interactive and social for players. This creates an enjoyable experience that leads to player satisfaction and replayability. PubNub can serve as the infrastructure to support these features, so you can focus on what matters most.
Learn more with the following resources:
See how other customers incorporate online features in their own games.
Follow a tour to learn the basics of PubNub.
Learn to build your own games and features with PubNub.
Feel free to reach out to the Developer Relations Team at firstname.lastname@example.org for any questions or concerns.