7 minutes read
Building, Releasing and Distributing A Video Game

Building, Releasing and Distributing A Video Game

You’ve designed your video game. The characters, levels and gameplay is complete, and you’re almost done coding it. But there are a few more steps before your game is ready to go out there in the world. In this final article in the Create a Video Game series, we’ll cover the ins and outs of finalizing, releasing and distributing your video game.

Building and Testing Your Video Game

To turn your code into a working game, it needs to be compiled. This is also known as the “build process”. During the build process, the code itself, as well as any dependencies such as libraries, game engine components and third-party frameworks, are checked and assembled into an executable. The process to do this will vary depending on your development environment and the specific game engine you’re using. You may have built your game several times during the development process to do preliminary testing and verification. But once you’re confident that your game is done, it’s time to start testing.

Video Game Testing

Video games are complex pieces of software. All of the game logic, graphics, physics engines, multiplayer and other components need to work together. If any of these components isn’t working properly, it will affect the gameplay experience. That’s why video games are extensively tested before they’re released.

Video game testing involves more than simply playing through the game. Every possible interaction in the game needs to be tested for functionality. This could include hidden or bonus areas, rare events, hard-to-achieve outcomes, and many other things. Each element of the game needs to be checked, verified and recorded in a logical manner. Then any bugs found need to be triaged and classified to determine if they should be fixed before the game ships, or if they can wait for a later release. Then, the bug fixes need to be tested once they’re fixed to make sure they solve the original problem without introducing any additional issues (known as regression testing).

Alpha and Beta Releases

As an alternative to expensive video game testing, many indie game developers have begun releasing very early versions of games to players, either for free or at a reduced cost from the final release price. These “alpha” and “beta” versions allow developers to get the game into players’ hands more quickly, build hype and anticipation, and incorporate suggestions from fans into later versions.

While this can seem like an attractive option, it’s good to remember that an early release may put off some customers, especially if you are charging for access to it. Additionally, it requires lots of time to organize and fix the bugs reported to you by early testers.

That being said, many popular games existed for years in a “beta” state before being released as a “1.0 version”. One example is Minecraft, which had many changes and revisions before finally being released as version 1.0. The practice is so popular now that popular distribution channels like Steam now have dedicated “Early Access” sections for pre-release games.

Source Control and Bug Tracking

While it’s good to organize your video game project well from the beginning, good organization and code management become essential in the testing phase. Most developers use a source control system like Git to organize their projects. This allows for orderly updates to your code as bugs are discovered and new features are added. By keeping track of all changes to every file in your project, you can pinpoint problems much more easily and fix them more quickly.

Closely related to source control is bug tracking. Proper bug tracking lets you organize bug reports by severity, priority and date received. It should also integrate with your source control system to track which changes were made in response to which bug reports and when. This makes the entire testing and debugging process much easier.

Packaging Your Video Game

Once your game is ready for release, you’ll need to package it for distribution. The ins and outs of this will vary depending on the tools you’ve used as well as the platform you’re targeting, but the end goal is the same: to put your video game into a distributable package that can be downloaded and installed.

In some cases, your game can be packaged into a single executable file. In this case, the file can simply be zipped and distributed. In other cases, you’ll want to use an installer creation software like InstallShield or Nullsoft Installer (NSIS) to create an installer package for your game. On MacOS, this step can be done directly from Xcode to create a MacOS Installer package.


Distributing Your Video Game

In the old days, video games had to be distributed on CD-ROM or other media. Nowadays, the Internet makes it easy to get your game in front of as many people as possible very quickly. As an independent developer, you have several options when it comes to distributing your game.

Distribute Your Game Using Your Own Website

Many software developers over the years have set up their own websites to sell their software, and video games are no exception. If you are giving your game away for free, this could be as simple as setting up a one-page website to promote your game, with a download link. For paid games, you will need to set up an ecommerce package that works for digital downloads. You’ll also need a payment processor like Paypal or Stripe to handle accepting payments.

There are also third-party services that handle payments and downloads for software titles. They will handle the transaction on your behalf, and then send you a monthly or weekly payment, minus a service fee.

If you are distributing your game yourself, you will need to decide if it will have a license key mechanism or copy protection built in. Third party frameworks can be used to add this functionality if required. You may also want to offer a free trial, either time-limited or feature-limited, to allow players to test-drive your game before paying.

Distribute Your Game via Mobile App Store

If you have developed a mobile game, then you’ll need to use one or both of the major app stores to distribute your app. Apple’s iOS App Store and Google’s Play Store both have their own requirements for submitting, reviewing and approving your game.

As with self-distributing, you can choose whether your game is free or paid. Many games offer a free version with ads, with the option to pay to remove ads or unlock extra features or levels. You will need to decide which model works best for you prior to submitting your app to the store.

Both app stores take a 30% cut of the revenue generated from your game if it is a paid app or has ads. The same applies to any subscriptions or in-app purchases that you make available.

Distribute Your Game via a Game Platform

Thousands of PC and Mac games are available on specialized game distribution platforms. Major game stores like Steam and the Epic Store have made it easier for indie developers to participate in their marketplaces. Using a game distribution platform has several advantages for small developers. It simplifies the packaging, distribution, payment, and licensing of your games, while potentially delivering a larger audience for your title.

These platforms also take a cut of your sales, however this is usually much lower than a game distributed through a mobile app store. Additionally, if you used the Unreal Engine to build your game, the royalty fee is waived if you distribute it through the Epic Store.

Distribute Your Game via Desktop App Store

Though less popular than their mobile counterparts, the Windows Store and Apple’s Mac App Store are options for distributing your game. Like both mobile app stores and game distribution platforms, they can simplify different aspects of the distribution process. But they do have their own requirements and also take a cut of your profits. They also tend to not be the first choice for gamers looking for new titles, so your audience may be more limited as well. However it is another option to choose from for video game distribution.

Creating a Video Game: Final Thoughts

In this five-part series on creating video games we’ve looked at programming languages, game engines, graphics, audio, multiplayer and community features, and distributing your game.

Creating a video game can be a huge project, depending on the type of game and the complexity you design into it. But it can be a fun — and lucrative — project for the aspiring software developer.

To get started on your game development journey, why not check out some free programming courses from SoloLearn? With courses in popular game programming languages such as C++, Java and Swift you can level up your skills anywhere by using the mobile app to learn and practice coding in real-world scenarios. Before you know it, you’ll have the skills you need to build your very own video game.