I wanted to take a moment to champion a tool not enough people are familiar with, even those active in game development.
The free, open source GDevelop provides a unique and approachable method of game development built around objects, scenes, and events. These kinds of metaphors are prevalent across similar tools like Game Maker Studio (which I’ve been using for nearly 20 years), Construct, Stencyl, etc. But to me GDevelop shines with how events are implemented.
With most development tools, you have objects which represent in-game entities (like a player character object, an enemy object, a sword object, etc.), and you define rules for each of these objects as to how they should behave. Then you put the objects together in a scene and they interact with each other based on how you’ve defined each object’s behavior.
In GDevelop, you define rules at a *system* level, dictating what happens at any given point in the game based on the current conditions of any/all objects and/or the scene itself.
To me, this aligns with a more pure form of game design, where a game is understood by its rules of play; rather than like a piece of software, determined by its inputs and outputs. I’ve found defining the game as a living system, rather than a procedural program, to be very intuitive and fun.
Oh, and this is done without writing any code. I have been adamantly anti-programming for a long time, and fully support us shedding the terminals and text editors to upgrade to a more human-friendly way of telling computers what to do. GDevelop’s UI needs to continue to evolve and get more efficient, but it is such a step in the right direction and a breath of fresh air. Like, you can’t even write syntax errors! Imagine, writing out the rules of a game and the only syntax you need is of English.
Other things I like about GDevelop include a growing, helpful community; being powered by open source, web-based tech; and an increasing number of convenient methods to streamline building across platforms. For example, with one click you can deploy a web build of your game to a unique link that is generated on the fly, then share that link and anyone can play on computers or mobile. Super cool. Cordova support also makes it very easy to create native mobile builds for iOS and Android.
If you’re new to making games or interested in learning, I highly recommend trying out GDevelop. If you’re an experienced developer kind of bored with making games, I really really recommend it. It has become my go-to tool for prototyping and small projects. Check it out!