If you are reading this, it’s because you are interested in video games development or because you already developed a PC game and you want to play it comfortably on a console or you are looking forward to having it there. Well, the first piece of advice is:
Plan what platforms you are going to develop and stick to them right from the start.
Objectives of video games development
All of you, who have already developed a video game on a PC and want to port it to consoles will probably find many problems:
- It doesn’t work as good as it does on PC.
- It should meet certain requirements. PC is a jungle, there are no guidelines to follow, many types of computers… the goal is to make the game works. As an advantage, the computer allows you to do many things, there is more freedom. But not in consoles, it has its operating system and libraries and you must work with them.
This means that something that works on a computer (or doesn’t work but let you skip errors) doesn’t work on consoles. And there are also the requirements for each console; these couldn’t be seen as problems at first, but may turn into problems after developing some parts. The work you’ve done may be useless or even you’ll have to do it again.
Prepare your project, repository, equipment, etc. Video games development needs you to manage multiple versions of your game.
When you are working on a project you will have to choose the game engine, which libraries to use, which languages to support, etc.
In the case of Unity, the language is C# (if Unity Script still exists, first tip: DON’T USE IT), you will learn to use it, you’ll love it as if there were no other language in the world. Well, the consoles have their own libraries and, as everything in a “PRO” environment, they are done in C++.
Depending on the support you get from the game engine, you can port the game without touching its code, but if you encounter any problem be ready to get your hands on the code and know how it works.
Visual Studio is your friend to work with several languages, which is needed in video games development.
And while it may sound very professional, in video games development you also need to check the specs of each platform, especially if you work with handhelds.
A computer may seem unlimited in resources, but the consoles are quite constrained. You must be careful with graphic load, (although you usually can choose the level of quality), CPU load (because, although some people say the opposite, they are not very powerful compared to a computer and read/write from disk is usually slower).
These are details to be considered even at design level.
Unity has a tool for measuring performance. The consoles also have their own tools for video games development.
Organization in video games development
You must make one game per platform, but thanks to current tools like Unity we can do a lot of common work with just “one” video game development.
The idea of work is to have a large part of the common code and to specify parts of the code platform-specific. Your game is always played the same, but it will change the interface, for example, adapting it to each controller with different buttons or control system in the case of Nintendo Switch.
Plan from the beginning what platforms you will be working on. Planning can save a lot of work.
Video games interface
Another section that you may forget when making a game is texts. We always want to write down everything, but we still don’t remember that we must translate it. Some regions may require specific languages.
Or suddenly we want to launch our game into a new Asian region and we don’t have a single font or an idea of how it will look on the game interface. Having an adaptive interface is very important for this. Also, a lot of options we may have in PC to configure the game may not be available for consoles.
We’re sure you’ve seen more than one image explaining controls.
Consoles now have an ecosystem built around users. Users want to communicate, to form groups and to share experiences. One very important thing is the achievements. Maybe because you’re on a PC you haven’t thought about it, but many consoles give it a lot of importance! Keep this in mind when designing and implementing.
We all seem to like them.
You must have control over the execution, over the main loop, understand how the code is structured to adapt to a series of events that happen on consoles; can the console suspend the game? The player exits the game? Several players will play on the same console?
How to “save”
On the computer you have a great freedom of how to save data. You will know if you’ve had to search the internet to find out which path a game uses to store files or if you want to manipulate a file.
The consoles have a specific library to connect to the system to read and write memory and even has an own load/save interface as in PlayStation 4. Always check that you can convert the files to bytes.
Updates in video games development
If you’re working with consoles, get ready for updates. From time to time new versions of development software are released and you may have to adapt to it… or adapt your tools. Many delay problems can be caused by this. If you work with Unity, for example, an engine update that affects everything in the system means a lot of work. So, it’s best to give dates when the game is practically ready to avoid major annoyances.
Yes, there are plenty of versions to choose from and more to come.
Finally, to be able to launch a game you must pass a quality check on several platforms. Plus, one for each patch, DLCs, feedback you want to add. It can be a complicated process the first time around and deserves its own article, so stay tuned for upcoming releases!