I’m writing about gamedev and Godot from the perspective of an IT professional; gamedev is my hobby.
My first game jam - Godot Wild Jam #88
After waiting too long, I finally decided to take part in a game jam. I’ll write down my reflections from doing it for the first time, so this post will be much less technical than usual. Spoiler: it was satisyfing, sparking creativity, novel expierence. Since this is long article, readers who wants to get an essence can jump straight into Summary or Tips sections. Game jams A game jam is similar to a hackathon in classic software engineering - there is a set of rules, a theme or main topic, and a limited time to create a game, concept, or prototype. ...
GDScript Code formatting - tools and addons
In this article I describe why it’s worth formatting code according to a code style and then review code-formatting addons for the Godot editor. If you are interested only in the addon recommendation, scroll straight to the Summary section. Code formatting Code formatted in a consistent, predictable way is one of the indicators of good code quality. It improves readability, which is a huge factor — especially in large projects, where most of the time is spent reading existing code rather than writing new one. It’s also very helpful for teams to follow a single style: it reduces unnecessary discussions during code reviews and makes handing over projects or modules much easier. ...
Pong project - level
This is an article from the Pong series. Please refer to the Pong project home page if you need more context. Level Ball? ✅ Paddle? ✅ What’s next? Actually, having these two allows us to bring everything together into a minimal playable experience. To achieve that, a playing field - or level, in game terms - is required. Imagine (or watch a video of) a game of Pong and think about the requirements for the playing field. For the most basic version, it could be: ...
Pong project - paddle
This is an article from the Pong series. Please refer to the Pong project home page if you need more context. Paddle Requirements Okay, the Ball is implemented. The next step is to implement the paddle. Requirements: It should respond to player input and move up and down within the playing field. The ball should bounce off the paddle. Based on the above, these requirements translate into the need for collision detection and changing the node’s position. Both are quite easy to achieve, as there are several nodes that handle collisions well: Area2D, RigidBody2D, and CharacterBody2D. When it comes to moving a node based on player input, any of these types can be used — since position is a property of Node2D. In the following section, I’ll compare Area2D and CharacterBody2D, as they seem the most appropriate for this task. ...
Pong project - ball
This is an article from the Pong series. Please refer to the Pong project home page if you need more context. Let’s start implementating Pong by creating the ball. The ball and paddles are core to the game and need to work flawlessly to provide a good experience to the players. Project kickoff As this is the first step, it requires creating a project in the Godot editor. If you need help with that, take a look at the Godot docs. ...
Pong project - home
As my first project, I have chosen the classic Pong. It ticks all the boxes: it’s very simple in terms of graphics and mechanics, and its gameplay is known to virtually everyone. It will be a great hello world-type project. In a series of upcoming posts I will describe how to implement it and also delve into topics such as the choice of nodes, code extensibility, and other aspects, rather than just presenting and explaining the code. ...