Gaming

How to Develop a Scoring System for a Game

0 MIN READ • Oliver Carson on Mar 28, 2023
How-to: Build Game Scoring System

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

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: completing a game in the fastest time possible. To obtain low latency, 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.

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.

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.

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.

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.

Experience & Level-Ups

Some games define scoring mechanics by improving the playable character(s) through a leveling-up system. This is a core mechanic in role-playing games (RPGs) like the Final Fantasy series, where players gain experience points (XP) by defeating enemies, completing objectives, or consuming special items. When a character accumulates enough XP, they level up, increasing their stats and abilities. This system applies to characters and equipable items, enhancing their attributes or abilities.

From a technical perspective, XP and level progression are typically stored in local game state for single-player games, while multiplayer and live-service games rely on server-side tracking or cloud-based storage to ensure persistence and prevent exploits. Efficient database structures, caching mechanisms, and synchronization strategies are critical for maintaining real-time updates without performance bottlenecks. This structured progression system provides clear feedback on player advancement, balancing difficulty scaling while maintaining engagement.

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

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.

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.

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 platforms to develop on, 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.

Online Connectivity

Popular mobile games support online connectivity, including multiplayer, chat, and leaderboards, enabling social interaction without disrupting gameplay. Chat windows should be small and disappear when inactive, while player stats should display essential info and allow for detailed views when needed.

Offline RPGs typically feature self-contained scoring systems with minimal need for real-time updates. In contrast, online games like FPS and MOBA require highly responsive, low-latency communication to maintain fair and competitive gameplay. Handling thousands to millions of concurrent connections efficiently demands a robust WebSocket or UDP-based networking layer, capable of dynamically load-balancing across multiple servers.

To handle network packet loss, implementing Forward Error Correction (FEC) and latency compensation techniques (such as client-side prediction and server reconciliation) is crucial. Reliable UDP protocols like ENet or QUIC can further enhance performance by reducing retransmission overhead compared to traditional TCP-based solutions.

State synchronization across players must account for varying network conditions, requiring a mix of authoritative server models with delta compression and interpolation to minimize bandwidth consumption. Techniques such as snapshot interpolation and lag compensation ensure a smooth and fair experience even in high-ping scenarios.

Adding social features—such as real-time chat, leaderboards, and player matchmaking—necessitates a scalable infrastructure capable of handling thousands of simultaneous updates per second. PubNub or similar platforms offer distributed messaging architectures with built-in redundancy, ensuring real-time feedback remains consistent under high traffic loads. Integrating such solutions with game servers requires careful design, including rate-limiting strategies and pub/sub channel partitioning to optimize message distribution.

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

  1. Sign in or create an account 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.
  2. Select the SDK 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: Send updates whenever player input is updated, such as chat updates, emoji reactions, player kills, match statistics, files, and other complex metadata.
  2. Subscribe: Receive updates from connected players to refresh players' screens with new and important data.
  3. Presence: Update the online status of players and signal changes to friend lists while players are in-game.
  4. Message Persistence: Display any missed information to offline players once they log in.
  5. Push Notifications: Notify mobile players who are offline about any missed messages and notify players about new in-game updates, events, and news.
  6. Objects: Store information about your players in one place without the need of setting up or calling your database.
  7. Access Manager: Restrict access for private conversations, chat rooms, special events, and player-restricted content for your players.
  8. 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.

PubNub’s Functions feature is a powerful serverless execution environment designed to handle real-time event processing directly within the PubNub network, eliminating the need for a dedicated backend infrastructure. This is particularly useful in production-grade gaming environments, where minimizing latency and offloading computation from game servers is critical for maintaining real-time interactivity.

Unlike traditional backend architectures that rely on dedicated game state servers to process and relay updates, PubNub Functions execute within the PubNub edge network, enabling low-latency, event-driven message processing. This means Functions can be used to modify, filter, or enrich messages in-flight, without requiring an additional round trip to a separate game backend.

For real-time score updates, Functions can be set up to listen for specific event triggers (e.g., player actions, match results, leaderboard changes) and execute custom JavaScript logic to process these updates. The processed data can then be broadcasted instantly to connected players using PubNub’s publish-subscribe model, ensuring that score updates are pushed to the appropriate clients without impacting core game mechanics.

Key benefits of using PubNub Functions over a dedicated game state server:

  • Serverless & auto-scaling: No need to manage infrastructure; Functions scale automatically with traffic.
  • Low-latency execution: Runs within PubNub’s global edge network, reducing delays in event propagation.
  • Stateful event processing: Can store temporary data in Key-Value Storage, allowing context-aware processing.
  • Seamless integration: Tightly coupled with PubNub’s existing message persistence, access control, and analytics features.
  • Redundant & fault-tolerant: PubNub’s distributed architecture ensures high availability without manual intervention.

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, enhancing player satisfaction and replayability. PubNub serves as a powerful real-time infrastructure to support these features, allowing you to focus on the core gameplay experience while ensuring low-latency and scalable communication.

To handle massive player bases, PubNub leverages a globally distributed edge network that optimizes message routing, reducing latency through efficient WebSocket and multiplexed TCP connections. Traffic is dynamically routed to the nearest data center, preventing bottlenecks. It follows an "Availability-first" model, ensuring high message delivery rates with optional message persistence for durability. Messages remain ordered within a single channel but may not maintain strict global order across multiple channels.

For scalability, PubNub distributes traffic across multiple brokers, supporting millions of players simultaneously. However, high fan-out scenarios can introduce delivery delays, and throughput limits may require enterprise-level scaling solutions. While encryption secures messages in transit, end-to-end encryption is not enabled by default and needs additional configuration.

By offloading real-time communication to PubNub, you can build a dynamic and engaging multiplayer experience without worrying about the complexities of scaling and message consistency.

Learn more with the following resources:

Feel free to reach out to the Developer Relations Team at devrel@pubnub.com for any questions or concerns.