From PacMan and Tetris to GTA and Street Fighter, the gaming industry has grown immensely. Now, it isn’t necessary to walk into an arcade to play these games—you can achieve them from the comforts of your home! With better Sound Systems and Renderers, the quality of video games has gotten better. The gaming industry is, in a similar manner, growing in revenue every year. Naturally, new studios are emerging at a fast pace with the promise of keeping each game engrossing. The search for highly skilled workers in the game industry is ever-growing, and this applies to Manipal as well. MIT gaming looks for these talents among the many people in Manipal and helps them reach their full potential.
Game development typically starts with an idea—a story, a goal, or sometimes, even a meme! Once the concept is settled upon, the next step is to prepare the tools. Gaming engines and frameworks are developed on, after which codes that are required for most games are incorporated into software packages.
A game engine is a software development environment which helps people design video games. Developers use game engines to construct games for consoles, mobile devices, and computers. There are hundreds of not only general-purpose game engines like Unreal and Phaser, but also big Game Studio specific internal game engines. Each game engine has its own goals, advantages, and disadvantages. Two popular game engines are Unity and Godot.
Currently the most popular game engine with more than half of the world’s games being made on this gaming engine, Unity allows you to program in C Sharp (C#). It is free for personal use and has a cross-platform development and export, i.e. you can develop 2D and 3D games on multiple platforms like Windows, Linux, or macOS. The games can be played on over 25 platforms, such as mobile phones, desktop, consoles, augmented reality (AR), and even virtual reality (VR). The easy-to-use gaming engine has a vast community built over the years.
Unity uses an Entity-Component System where main entities called Game Objects have different kinds of components like Physic Bodies, Mesh Renderers, Colliders, and more attached to them. For commonly repeated objects, one can use prefabs, which are templates, using which objects can be made for the games.
One of the most significant advantages of this gaming engine is that you can find numerous guides on the internet to help you make your dream game. The Unity Asset Store is another reason why it is loved by many. The cross-platform export lets you create your project once and release it to various platforms with little to no effort.
However, the version compatibility is currently bad— projects made with different versions of the smallest differences show incompatibility. This is especially a problem when multiple people work together but have different versions of the gaming engine. Although it can be solved using the same versions of Editor, it’s still a hassle. While the gaming engine is stable and won’t usually have unsolved bugs, which you’ll have to report about and wait for the Unity Technology developers to fix. Another disadvantage of the gaming engine is that despite being free for most features, it still has a few paid features, such as many export platforms and the dark theme. These issues, however, prove to be small compared to the massive amount of features it does provide.
Godot is an open-source game engine and less than 50MB in size. The gaming engine has some similarities to Unity, such as a cross-platform editor for Windows, Linux and macOS, and the ability to make both 2D and 3D games. It doesn’t have direct support for consoles like Xbox, Switch, PlayStation, and more. This is due to the NDAs of the respective console companies and their licensing issues. However, porting it to consoles can be done quickly by a few third-party companies.
Unlike Unity, Godot has an MIT license which allows you to fix, reuse, modify, or even sell the game’s code. Godot also has a built-in editor and, by default, will enable you to program in GDScript (Python-like Godot specific language), C#, and Visual Scripting. It has a continuously growing community with over a thousand contributors.
One of the unique features it offers is GDNative Interface, which lets you not only write high-performance C++ code but also enables you to code in any language. It also uses a node-based architecture, i.e. everything in Godot is a node. Each node can have its script and can be called Scenes. What makes this feature truly powerful is the fact that each scene can be made and tested independently. Moreover, if there’s an issue, one can report or solve it themselves. If approved by the maintainers, it gets added to the main project, making for a higher chance of fixing bugs. Other advantages of Godot contain easy to contact developers as well as projects being developed by the community itself.
However, due to its smaller size and lack of commercial business, there has always been a lesser number of tutorials and documentation. While it has dramatically improved over the years, it isn’t perfect. It also has a lower performance compared to other engines, especially for 3D. However, the flaw of low performance for 3D will almost surely be fixed in the upcoming version 4.0 of Godot.
Perhaps the fascinating change is not how the games have changed, but rather the expanding demographic of gamers. With more people playing games, creating demand for more immersive experiences, or even being interested in developing a game of their own, the gaming industry has continued to grow. As communities maintain social distancing during the pandemic, one can only think about all the innovative minds are coding their way through a game, ensuring that the video game industry has a bright future.
Written by Kaavya Azad for MTTN
Featured Image by Chakshu Saraswat for MTTN