The club aims to teach game development quickly and build projects as a team. We will be using the Godot engine with the C# programming language (which almost perfectly resembles Java syntax). With weekly meetings during advisory, presentations about game engine concepts are given, and practical exercises (similar to labs in CS classes) are assigned to test your knowledge of that concept, which you should work on at home. There are 8 labs that take an hour to complete on average.
During the second semester, the club transitions to a team project structure, where during our meetings, we start planning and managing tasks to work on at home, resembling an actual development studio. All members are still free to join, and help will continue to be provided on the server, but members will be asked to do the labs if they wish to participate in the team project.
Game engines are development programs where common game mechanics are handled and optimized for you. If you’re familiar with a game framework (such as Pygame or Monogame), the software gives you access to useful audio and visual libraries but is otherwise largely script-based, with all modifications to the mechanics and appearance of a game requiring programming. Even then, advanced features are generally not handled for you.
With game engines (the most popular of which being Unity, Unreal, Gamemaker Studio, and Godot), there are several ways in which you can directly create and design the world. Several features can be set up without programming a single line of code. Complex behaviors necessary for advanced features like proper animations and collisions are built-in for you and highly optimized.
If you know how to properly utilize a game engine, the game will almost certainly have better gameplay, faster development, and smoother runtime.
The technical answer: Godot is a highly flexible scene editor. The practical answer: Godot is a modern game engine that is far more streamlined and well-documented than anything else. What this means is that almost everything about the engine is explained in the official Godot Docs, and Godot avoids overlapping implementations of features.
Older engines like Unity and Unreal need to maintain legacy support and backwards compatibility while introducing new features, so their software can be bloated and challenging for beginners to navigate. The bonus part is that it’s open source, so Godot won’t take a dime if you publish a game with it.
This club is effectively a way to make your Godot learning experience much easier. While we do include references to documentation, all of the exercises we ask you to do have been custom-designed by Narein (club president) to fit the club experience.
There are no hard requirements, although any tiny bit of programming experience helps. That being said, programming will likely not be the most challenging part of game development for you.
Because Godot handles most of the complex behaviors, you will never need to program challenging algorithms or optimizations to the best of my knowledge. You really only need to understand basic Java/C# syntax, the default methods in the Godot editor (which we will cover), the concept of variables and variable types, creating new objects, calling and creating methods, and looking at the documentation when you get stuck.
Even people who find programming immensely challenging find these concepts to be quite simple, which is why I believe even someone with zero prior coding experience can succeed in the editor.
The way we are configuring Godot is not very mainstream; the majority of tutorials you will find for the subject will utilize GDScript and the built-in script editor. The built-in script editor was developed more with GDscript in mind. GDscript is more of a Python-based language, and the built-in script editor does support autocomplete and code formatting for GDscript (but not for C#).
Why are we not using GDscript? Because C# conventions are more in line with what most programmers in Independence are used to, and I like how C# looks and feels to program anyway. C# is also more mainstream and compiles significantly faster (even if compilation of scripts is a negligible part of a game’s total performance usage). You’ll also find that other than storage or performance concerns, it’s better to use an external script editor anyway, as you get access to generally better debugging, refactoring, and code structuring.
Getting started with Godot! Click the button below to start.