The publisher Jettelly is very young, but it is releasing some very interesting titles. They started with books about shading in Unity and Godot, and little by little they have been expanding the range of topics. The wait until they finally released this book felt long. Although they offer the option to buy it in advance at a discount while the chapters are being completed, I don’t have enough
In another article I explained how to use Godot’s NavigationAgent2D node to obtain a path to reach any destination across a level. In that case, the resulting path made it possible to avoid bumping into the level’s static obstacles. However, in that article we didn’t look at how to avoid collisions with other agents. Since agents are dynamic, you can’t prepare a navigation NavigationPolygon in
As many of you know, on my X profile I usually share packs of assets, courses, and books that I find online at good prices. Some time ago, a pack of Zenva courses appeared on Humble Bundle. Based on what I had read in Reddit forums, I warned in the post that the quality of the courses might not be what people expected. To my surprise, Pablo Farias (@pablofariasnew), founder of Zenva, asked me to
artificial intelligencegame designgame development
There are many books about artificial intelligence (AI), but not so many focused on its use in video game development. Among those, there are two types: introductory books and in‑depth ones. The one we are dealing with belongs to the second category. That’s why I don’t recommend it to anyone who hasn’t already sharpened their teeth on a good number of introductory books and tried implementing AI
Reusability is key in software development. Unity is no exception. After you’ve spent some time developing games, sooner or later you’ll come across problems you solved previously and you’ll want to reuse earlier implementations. It may also happen that a colleague needs a component you developed that would help them solve an implementation problem. In both cases, you’ll need to export a set of
Recently, we saw how it could be done in Godot to assign costs to the tiles of a tilemap so that those costs could be used in navigation algorithms. Unity has its own particular way of doing this, but, as in the case of Godot, it will depend on whether we want to use those costs with a custom navigation algorithm or with the engine’s navmesh navigation. Let’s see how it’s done in both
In my previous article, I explained how to assign custom data to the tiles of a tilemap, which we can use to build a 2D scene. One of these data points could be the transit cost of a tile, to be used by a Dijkstra algorithm we implement, or by the AStar2D component already included in Godot, to create paths through the scene.The above would be a perfectly valid way to implement navigation in our
It’s very common to use Tilemaps to shape 2D games. Their simplicity makes them ideal for creating retro-style environments.Why might we need to associate data with a tile? For multiple reasons. For example, suppose we’re using a Tilemap to build the map of a top-down perspective game. In that case, we might want to add a “movement resistance” value to different tiles so that our character moves
There are many ways to get into video game development. We all start from our love of playing, but some of us have a technical background and dive straight into programming with an engine, others get involved after dabbling in modding or level creation for a specific game, and some even come from the world of physical board games.This book is for all of them because it begins with the most
In development, serialization consists of changing the format of an object in memory so that it can be stored on disk.One of the most popular serialization formats is JSON, a text standard that allows you to save data in files following a key-based structure very similar to Python dictionaries.When you serialize an object—an instance of a class—into JSON, what you do is select the key data of the
For some unknown reason, Unity lacks a built-in tool to measure distances in scenes and prefabs. Godot does have one, but Unity doesn’t, even though it’s extremely useful both for building your scenes and for evaluating functionality tests. That’s why the Unity Asset Store is full of assets offering this functionality… for a price. Recently, I needed to measure distances in a Unity project I’m
In a previous article, we reviewed some of the tools available to create your game's storyline. In this one, we’ll look at some of the tools you can use to turn that storyline into one of the simplest and most addictive types of games: visual novels.Visual novels are a genre of video games that focus on interactive storytelling, where the player makes decisions that affect the narrative. They
The importance of the storyline depends on the type of game and its target audience. There are games like Tetris or Among Us, where the narrative is minimal and the fun lies in the mechanics. These types of games do not require a complex storyline.However, the storyline is a fundamental pillar of the experience in narrative, RPG, or adventure games. In these games, the storyline is important for
In C#, an interface is a contract that defines a set of methods, properties, events, or indexers that a class or structure must implement, without providing the actual implementation. It's like a blueprint that specifies "what" must be done, but not "how". When a class adheres to an interface, it publicly commits to providing at least the methods defined by that interface. Therefore, the class