Hey Everyone,
I want to learn the basics of gameplay programming. Who can point me in the right direction? Are there any good tutorials to watch? or some free online classes?
Thanks in advance.
Hey Everyone,
I want to learn the basics of gameplay programming. Who can point me in the right direction? Are there any good tutorials to watch? or some free online classes?
Thanks in advance.
Gameplay is the overall topic of everything that happens, well, inside your game. I guess there is no tutorial which covers “how do I start gameplay programming” (but try google for it) rather than specific genre and game related tutorials like coding a 1st-person controller, implementing a turn-based combat system or how to add inventory to your game.
You need to declare your gameplay feature first and then start to break it down into smaller pieces. Like for example an inventory system. To implement an inventory system, you need some kind of item storage, a UI that let the player access the storage and some system to let them interact with items in the game world. That system needs to be split into pieces as well, how does the game know that something the player is focussing is an interactable, when and how is it allowed to pickup stuff from the game world, how is user interaction implementd and all those tiny little things.
Gameplay programming is the art of translating game design into functional features and giving technical expertise to allow the game design to be improved over time
My suggestion is to start making a game. Something not too complicated but also not too easy like Pong. A good start would be the old OpenGL tutorials about implementing 1st-person camera found here https://nehe.gamedev.net/tutorial/loading_and_moving_through_a_3d_world/22003/
Don't use this to learn OpenGL but to get an understanding of the “design” requirements and a possible way to implement them. How I wrote, implementing the player controller is already part of the gameplay ?
Assuming you're familiar with programming in any language, I would suggest you start picking up a language that you are going to use to develop games. C++ is used to script in the Unreal Engine and CryEngine, while C# is used to script in Unity. You can find YouTube tutorials for both of these engines on YouTube that guide you through a few simple projects across various genres. Both engines allow visual scripting, and at least with Unreal, I would highly advise you get familiar with its libraries through visual scripting before you start working in it with C++. Picking a genre is important, as some algorithms and techniques may be specific to a genre. Be sure to make the projects your own and modify any stuff that you feel like. Don't be afraid to ask questions, make mistakes, and learn from them.
Especially if you're just starting out, you could even program games that are text-based or games that use very simple graphics (perhaps even ASCII art) using the language of your choice without using any engine. That may be a good way to get acquainted with the language and how to express designs in it. Game programming is, after all, translating the design, the vision, into code that runs efficiently and without errors. My first project was an implementation of Nim (a mathematical strategy game) on the terminal.
If you're interested in game development professionally, though, I would count working with engines a skill you must have.
None
Pick an easy language (like unity) and study the game demos that should come with it.
You can see code, change it, experiment with it and its a great place to start learning.
There are also a wealth of tutorials online that start from scratch and take you through a game development project.
@Woodya6
It also helps if you're comfortable with object-oriented programming. Don't forget there are a lot of 2D libraries as well such as pygame.