How to Develop a Scoring System for a Game
Tags: realtime, simultaneously, concurrentconnections, unity3d
Published: 2023-12-01 13:29:37

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_.

![Game scoring in OW2 - Develop a scoring system](https://images.ctfassets.net/3prze68gbwl1/Ce2cvtOP6ExtZky0mAw7D/312ef1178366ad79b91056356a6633e6/OW2_In-Game_Stats.png)

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.

### Score

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.

![Scoring system for games - A scoring system](https://images.ctfassets.net/3prze68gbwl1/KZh6w99euanyDmQGlhlFF/968aef927a904f6941e2e93ce7126014/Screen_Shot_2022-11-09_at_1.09.28_PM.png)

### Time

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](https://www.speedrun.com/): 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](https://gamesdonequick.com/), a charity game marathon where speedrunners compete against one another to achieve the fastest results.

### Lives/Health

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.

![Tracking player progress - Game scoring](https://images.ctfassets.net/3prze68gbwl1/5RRB08rOdWryuSkwplwF2N/f2e300b5f1aa7bc6a934b483543cdad2/Screen_Shot_2022-11-09_at_2.59.18_PM.png)

### Collection

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.

![Scoring by collecting in Super Mario games](https://images.ctfassets.net/3prze68gbwl1/2JwzzO4f9od9iugtQKkpRi/54d3ae48d7876f141705be14e3dd3d2d/Screen_Shot_2022-11-09_at_2.59.01_PM.png)

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.

### Statistics

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.

![Detailed statistics in League of Legends game scoring](https://images.ctfassets.net/3prze68gbwl1/1zgLF0pZVyE5aAEniG04oB/782f4c4149e351444e6765306e8b313d/LoL_Stats.png)

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.

### Unlocking Content

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.

![Unlocking content through achievements and scoring](https://images.ctfassets.net/3prze68gbwl1/vzMBvv8FYZyrxmCBsVbph/f32943c14a3e515fc52a250faa6583df/2022110915414100-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg)

### 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.

![Experience and level-ups in game scoring](https://images.ctfassets.net/3prze68gbwl1/1fvROiI31yrOHuylJv4BtT/5bcf06a9650718022b95025a8d251114/FF9_Screenshot.png)

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.

![Elden Ring Souls - Develop a scoring system for a game](https://images.ctfassets.net/3prze68gbwl1/1TKKk0JeBgeChUlJyqg7Fb/fcbdbfe1186cb803590d8806d24d7636/Elden_Ring_Souls.png)

### Achievements

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.

![World of Warcraft Achievements - Scoring system](https://images.ctfassets.net/3prze68gbwl1/3QJubv0tsXx1rgGtr7sr7s/937123dba5af1b4fbc4b211693846db4/World_of_Warcraft_Achievements.png)

### 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.

![Steps for developing a scoring system for a game](https://images.ctfassets.net/3prze68gbwl1/7uAZzdLVX8XDYD25kaAqlT/c5ba77e0ac6232ce9166483da0d8f513/Screen_Shot_2022-11-09_at_2.52.16_PM.png)

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.

### Genre

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.

![In-game overlay for game scoring in OW2](https://images.ctfassets.net/3prze68gbwl1/70lECaBkpLZhpsJnDqP67T/f9b92e6b751a2d6d0317ed1c706b6712/OW2_In-Game_Overlay.png)

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.

### Platform

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.

![Choosing platform for game scoring development](https://images.ctfassets.net/3prze68gbwl1/4ywxhyfImwTJzsl4LfiIS5/d27d74be31b23280184952b37a6c4273/2022110915370700-691C9B2C6D1F1E032DDC01FD026159FD.jpg)

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.

### Online Connectivity

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.

![](https://images.ctfassets.net/3prze68gbwl1/qeGkleG2ZTFSRoT0PUd9M/5252b0a2097577161b80d0e32b704439/unity-tablet-min.png)

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](https://www.pubnub.com/blog/pubnub-what-is-it-and-why-do-you-need-it/) 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](https://www.pubnub.com/blog/getting-started-7-ways-customers-use-pubnub/) 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](https://www.pubnub.com/customers/panzerdog/) fast-paced shooter [Tacticool](https://www.panzerdog.com/), 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](https://www.pubnub.com/customers/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](https://www.pubnub.com/customers/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](https://www.pubnub.com/docs/sdks) that integrate seamlessly into your game, including an SDK specifically designed for [Unity](https://www.pubnub.com/docs/sdks/unity). 

1.  [Sign in](https://admin.pubnub.com/#/login) or [create an account](https://admin.pubnub.com/#/signup) to create an app on the Admin Portal and get the keys to use in your application. Learn how to do so by following this how-to on [creating keys](https://www.pubnub.com/how-to/admin-portal-create-keys/).
    
2.  [Select the SDK](https://www.pubnub.com/docs/sdks) that aligns with your game’s development environment.
    
3.  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.

1.  [Publish](https://www.pubnub.com/docs/messages/publish): Send updates whenever player input is updated, such as chat updates, emoji reactions, player kills, match statistics, files, and other complex [metadata](https://www.pubnub.com/docs/metadata/channel-metadata).
    
2.  [Subscribe](https://www.pubnub.com/docs/messages/receive): Receive updates from connected players to refresh players' screens with new and important data.
    
3.  [Presence](https://www.pubnub.com/docs/presence/overview): Update the online status of players and signal changes to friend lists while players are in-game.
    
4.  [Message Persistence](https://www.pubnub.com/docs/storage): Display any missed information to offline players once they log in.
    
5.  [Push Notifications](https://www.pubnub.com/docs/push/send): Notify mobile players who are offline about any missed messages and notify players about new in-game updates, events, and news.
    
6.  [Objects](https://www.pubnub.com/docs/metadata/channel-metadata): Store information about your players in one place without the need of setting up or calling your database.
    
7.  [Access Manager](https://www.pubnub.com/docs/security/access-control): Restrict access for private conversations, chat rooms, special events, and player-restricted content for your players.
    
8.  [Functions](https://www.pubnub.com/docs/functions/overview): 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](https://www.pubnub.com/docs/functions/overview) 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](https://www.pubnub.com/tutorials/unity-pubnubprix/).

### 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](https://www.pubnub.com/industry/gaming/) in their own games.
    
-   [Follow a tour](https://www.pubnub.com/tour/introduction/) to learn the basics of PubNub.
    
-   [Play](https://www.pubnub.com/demos/) our game demos, including the Unity demo [PubNub Prix](https://www.pubnub.com/demos/unity-pubnubprix/), a racing game where you can chat with other players in and view leaderboard updates in real time.
    
-   [Learn](https://www.pubnub.com/how-to/) to build your own games and features with PubNub.
    
-   [Follow](https://www.pubnub.com/demos/) our step-by-step tutorial to set up and build online features, including the [Unity game PubNub Prix](https://www.pubnub.com/tutorials/unity/).
    
-   [Dive into our documentation](https://www.pubnub.com/docs/sdks) that fits your game’s needs, including the [PubNub Unity SDK](https://www.pubnub.com/docs/sdks/unity), and learn how to customize PubNub's features that uniquely fit your game.
    

Feel free to reach out to the Developer Relations Team at [devrel@pubnub.com](mailto:devrel@pubnub.com) for any questions or concerns.

How can PubNub help you?
========================

This article was originally published on [PubNub.com](https://www.pubnub.com/how-to/develop-game-scoring-system/)

Our platform helps developers build, deliver, and manage real-time interactivity for web apps, mobile apps, and IoT devices.

The foundation of our platform is the industry's largest and most scalable real-time edge messaging network. With over 15 points-of-presence worldwide supporting 800 million monthly active users, and 99.999% reliability, you'll never have to worry about outages, concurrency limits, or any latency issues caused by traffic spikes.

Experience PubNub
-----------------

Check out [Live Tour](https://www.pubnub.com/tour/introduction/) to understand the essential concepts behind every PubNub-powered app in less than 5 minutes

Get Setup
---------

Sign up for a [PubNub account](https://admin.pubnub.com/signup/) for immediate access to PubNub keys for free

Get Started
-----------

The [PubNub docs](https://www.pubnub.com/docs) will get you up and running, regardless of your use case or [SDK](https://www.pubnub.com/docs)