Hi!

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. ...

January 9, 2026

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. ...

December 11, 2025

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: ...

November 29, 2025

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. ...

November 1, 2025

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. ...

February 16, 2025

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. ...

February 15, 2025