Happy New Year from the Kobold Tactics Team! As we ring in the new year, we’re excited to announce that we’re making the transition from Godot 3 to Godot 4, and changing our main scripting language to C#.
For those unfamiliar, Godot is an open-source game engine that in recent years has quickly gained popularity for its simplicity and flexibility. It allows developers to create games for a variety of platforms, including PC, mobile, and console.
One of the main reasons for our transition from GDScript to C# in Godot 4 is the need for type safety. In GDScript, variables do not have a fixed type and can change at runtime, which can lead to potential bugs and issues. There is a way to add type checking to GDScript but in Godot 3 this was clunky at best and completely broken in some cases, with cyclic reference issues galore. By contrast, C# is a statically-typed language, meaning that variables have a fixed type and cannot change at runtime. This helps to prevent many of the issues that can arise with dynamically-typed languages, making it a safer and more reliable choice for our project.
In addition to the benefits of type safety, C# also offers a number of other advantages over GDScript. It has a large and active developer community, with a wealth of libraries and tools available for use. It’s also a widely-used language in the industry, which means that there are many resources available for learning and development.
While GDScript has served us well in the past, we believe that the switch to C# and Godot 4 will allow us to create a more stable, reliable, and scalable game.
As we make the transition from Godot 3 to Godot 4, we’re also taking the opportunity to rewrite and redesign most of our core systems. The main reason for this is that our current systems were not designed with the longevity of the project in mind. When the project was first started, it was only supposed to last for 3 months as part of the Sacramento Developers Collective’s annual Progressive Game Jam. However, as the project gained traction and grew in scope, it became clear that our current systems were not scalable or maintainable in the long term.
By redesigning our core systems from the ground up, we hope to create a more stable and efficient foundation for our game. This will not only improve performance and reliability but will also make it easier for us to add new features and content in the future.
As with any major change, there will be a learning curve as we adjust to Godot 4 and C# as our main scripting language. But we’re confident that the benefits of the transition will outweigh any initial challenges.
So let’s start the year off with a new engine and a fresh start. We’re excited to see what Godot 4 has in store for us, and we can’t wait to share the fruits of our labor with all of you.