Creating a game with Godot Engine - Ep.1 - Introduction
In a series of articles I will try to give some inputs to people who want to learn how to develop a game with the Godot Engine. For this purpose I have developed a basic Godot project as a course material. This project is a very simple 2D top-down puzzle game. The name of this game is Ball's Dip, because I watched too much South Park, but also because the goal of the game is to guide balls into the corresponding colored hole.
The goal of this series is not to make you an expert at Godot. First, because I'm not an expert, I've started getting into Godot only few months ago. Second, because it would take too much time. Godot has a lot of very interesting features which are worth talking about.
The goal is to share with the community what I have learn so far, developing a simple 2D game, from Godot. Doing so, I hope that I will help people getting started and give them the motivation to produce their own game. I will also give some hints how to better organize your project so it does not become a mess with time.
The way the articles will go through the project is simple. First we start with a global view of the different elements of the game. Then we go into details, taking each element and try to explain the why and the how.
What will be covered?
Here is the list of the different aspects of a game articles will go through:
- Project organization/folder structure
- Project settings
- User settings
- Writing scripts
- Scene loading at runtime
- Creating User Interface (UI)
- Remapping controls
- Loading levels
- Using Tilemaps
- Creating a playable character
- Creating interactive objects
- 2D collision and physics
- 2D lighting
- 2D particles
- and more...
About the game
Before going into technical explanation, lets talk about gameplay. And by gameplay I mean what we want to achieve with all this. Ball's Dip is very simple and basic 2D top-down puzzle game. Each level is delimited by walls. The player can move the character using the keyboard and orient the flashlight with the mouse. In each level there is at least one ball emitter and corresponding receiver. All three, the emitter, the ball and the receiver share the same color so the player knows what goes where. The goal is simple, the player has to put a ball into the corresponding receiver to stop the emitter. When all the emitters have been stopped the player win. The player has one or more boxes that the character can move around to guide the ball to the receiver. The catch is balls are exploding on contact with walls and the character. If the character is in the explosion radius the game is lost.
What is next?
In the next article we will speak about project organization and folder structure as well as some of the project settings that I used.
Written by Olivier on Tuesday October 4, 2016