Game programming has many categories, especially if you plan on getting a job in the game industry.
However, in this article I only want to introduce to you three categories you may find yourself doing
as a solo indie game developer.
Game Scripting
Third Party Modules
Game Engine Programming
Game engine programming
Game Engine programming, is one of the harder things to program when it comes to game development.
As a matter of fact, I never tell beginners to get into this, as for some it may end up being a turn off when it comes to game programming.
If you feel like you may want to do this one day, just understand that Game Engine Programming is working
on creating or adding features to a game engine that game developers will end up using when creating a game.
Third party modules
When you stop to think about, a game is basically multiple “small projects” that mesh together to create
a game.
These “small projects” would include a dialog system, pause menu, bullet physics, network calls, animation system, etc.
When they all work together, you have yourself a game.
On your programming journey, you may find that time is better spent using third party modules rather than creating
your own “small project” from scratch.
For example, it’s not uncommon that game programmers purchase a dialog system third party module, so the
programmer can focus more on creating a game rather than creating the dialog system from scratch.
Purchasing third party modules speeds up development, but sacrifices flexibility as you are limited to the
features that the third party module provides.
Lastly, you may end up wanting to create third party modules that others can use, and this is a great way to make
money as well.
Game scripting
Game scripting is basically what a solo developer ends up doing, which is programming a game that others can
purchase and play with.
The Godot Basics Tutorial series will focus on game scripting.
Transcript
Hello and welcome to another episode in the Godot basics tutorial series. In this episode, we'll be taking a look at categories of game programming and your programming journey, or rather your game programming journey. You'll run into three different types of areas of game programming. They are game scripting, third party modules, and engine programming. There are more; however, these are the common ones you'll find yourself running into. Let's go ahead and take a look at them. So the first area is engine programming, which is the hardest to do.
What you're basically doing is programming to create an engine or framework that other programmers can use to write their games in; for example, engine programming would be as if you were helping the Godot community by fixing bugs in the Godot Engine framework. Not only is it possible to help the Godot engine framework over, but you could also create your own competitor to the Godot engine framework or write your own game framework for your own custom game. However, some people may find it appealing to program at that level, and that is available, and that is within the realm of game programming.
The next thing is third party modules.
Now you'll quickly learn that games are just multiple mini-projects put together.
Take for example, a dialog system you find in visual novels, shooting physics and network calls like HTTP requests and there's much much more. What third-party modules do is that instead of a programmer implementing their own dialog system for example, they could easily download a third-party module.
A third party dialogue system from somewhere and then just add that code to their game.
Now that is another area of game programming; some people try to create common functionalities and features that others can use to create games. And you can make money like this. People will purchase a dialog system, so they don't have to write that code for themselves. As a beginner programmer, the pros for you using third party modules is that you have more time to focus on your core gameplay. That's one thing to keep in mind by downloading code that does what you need, you have more time to focus on other areas. For example, your game needs a dialog system, but a dialog system is not part of the core gameplay.
You could focus more time on, for example, your shooting physics. However, one thing to keep in mind is the negatives that come with third party modules. As a beginner, third-party modules are crutches, so use them as beginners but slowly understand the concepts behind the implementations and improve from that understanding. Basically, to grow as a programmer, you need to let go of third party modules and start learning how to implement them manually.
Now the last area of game programming is game scripting.
This is the general vision or the available picture in your head when you think of a game programmer. That's basically writing code that turns into a game to be consumed by users. This is the programming the series will help you understand and teach you to do. Now there are many different game scripting areas. There's environmental scripting, there's player scripting, there's animation scripting, and much, much more. However, keep in mind that you will be handling game scripting most of the time. So before you try to get into third-party modules or even game engines, first understand how to program making games.
Well, that's all I have for you in this episode. Thank you for joining me. I hope you learned a lot. I look forward to seeing you in the next episode. Have an amazing day.