What does GDevelop offer?
There are 5 key areas of functionally we have discovered while reviewing GDevelop:
The fundamental building block of GDevelop is objects. An object can be anything a sprite, tile map, sound. Essentially anything you can place on the scene is an object. For an object to be used and be visible it must appear on a scene. A scene consists of several features, but the main use is the canvas.
Once you have added an object to the list you can drag it directly onto the scene from the menu for it to be placed. You can then configure the settings for an object. As well as defining the objects properties you can add variables (from a selection of built-in types). You can also attach events (more on that to come).
Events are used to provide action to your game. Without events you would just have a scene with a number of static objects, so not really much of a game. You can attach events to objects or use ones associated with the scene.
Events consist of a condition such as an if, for, while and then actions to carry out if the criteria are met. An example of an event might be if I am pressing the D key then move my sprite to the right. Events can be nested which makes them easier to read and can help optimise the game. For example, if you want to check if a player is colliding with a group of objects but then you want a specific reaction to happen depending on the specific. You can have one event with a criteria of the player colliding with an object in the group and then a number of sub-actions with their own criteria.
Events appear in one long list which can get messy, luckily GDevelop has a number of built-in features to try and keep things under control. You can group events together, nest events if applicable, you can add some colour coding and expand/contract on the view. That said, if you are going to make a complex game the events list would still likely become very unwieldily. Extensions can help with this, more on that to follow.
If you have done any programming before you will know what a variable is but if not, it is a way of storing data during game execution. An example might be keeping a record of the player score. In GDevelop variables can be global, attached to a scene or attached to an object. This allows you to scope the variable where required. You will use a global variable if you need it to be maintained over multiple scenes. Scene variables tend to be ones which exist and impact multiple objects (for example player score). Ones you attach to an object are used to save data about that specific instance.
There are 5 variable types you can use which keeps things simple:
- Boolean (true/false)
- Array (a collection)
- Structure (a more complex structure of other variables).
Structures allow you to nest variables into a tree like structure. You might want to use this if you want to store lots of information about a player for example their name, scores from multiple levels and how many times they have died.
With GDevelop being a no-code engine then expressions provide a way for you to create values based on calculations. Luckily GDevelop comes with a built-in expression editor which makes it easy and wizard like. You can carry out functions such as basic math, string concatenation, random number generation to name just a few.
This is where the real power of GDevelop kicks in (in our view). Now there are lots of built-in functions, actions, object types etc. within GDevelop which you can create a lot of fun games with. Extensions allow you or others in the GDevelop community to create custom functions and behaviours for use within the game).
Extensions can either be added in the editor from the community or you can create your own. If you decide to create your own then the experience is very similar to using the actions editor. It is still no-code editing.
Getting Started with GDevelop
Getting started with GDevelop is simple, you can first give it a go straight from the browser (I guess that is one of the benefits of a games engine in Node.js) and then download for your OS (Windows, iOS and Linux supported). You get everything you need to get going in the one download with the feature rich IDE. All you need to do is load it up and start developing.
We cannot praise the creators enough when it comes to the tutorials. There are so many online including the beginner’s playlist on YouTube. Also, a really nice feature of the IDE is that when you are on most windows looking at functionality there is often an embedded video to take you through exactly how to use it. This is something we haven’t seen on other games engines and is a welcome addition.
Is GDevelop free?
GDevelop is free and open source but there is additional paid functionality you may want to consider. It is true to say that you can go with the free version and never need to pay a penny to create a great game. There are also no revenue limits as there are with other providers.
The main additions are around the use of GDevelop’s cloud platform and services. This allows you to store, build and deploy your game straight from GDevelop in the cloud. This helps takes out the legwork and makes collaboration within teams easier. The costs are around £5-10 a month at time of writing so isn’t going to break the bank if you seriously want to start something big but for now the free is all you’ll need.
To the Games!
What would a games engine review be without taking you to some of the games. Now we haven’t found big mainstream games but there are plenty of fun ones online. The best place to check these out is at liluo.io which has the largest repository of GDevelop games.