24 December 2023

"Godot 4 Game Development Cookbook" by Jeff Johnson

This book was part of the latest bundle from Humble Bundle, which included books for developing games with Unity and Godot.

The book offers a series of tutorials on specific use cases of Godot. It is fair to say that the index is suggestive and covers intermediate-level topics, ideal if you already have some experience with other engines and have just finished the initial Godot tutorials.

There is an introduction to the advanced features recently introduced in GDScript 2.0. It explains how to introduce volumetric fog in scenes, decal particle systems, pathfinding, deformable models, tiles, sound emitters, and offers an initial approach to Godot's multiplayer features.

It also offers recipes on shaders, but they are so superficial and the topic is so extensive that I found those recipes to be practically useless.

The different recipes follow a common structure. First, a very brief description of what is to be achieved with the recipe is offered. Then there is a "How to do it" section where the steps to be taken through the Godot editor are listed. Finally, there is a "How it works..." section that is supposed to explain in depth the steps that have been taken in the previous section.

I think the selection of topics for the recipes is very appropriate and suggestive. The description of the tasks to be performed is clear and I have had no problems following them. Although in some cases, I had to add some things for it to work and I had to complete it on my own. In general, I have enjoyed the following practices because they have allowed me to discover how far Godot can go.

However, where the book falls short is in the "How it works..." sections. It's okay if the "How to do it" section is limited to listing steps, but the "How it works" section is supposed to be where it should explain in detail why the previous steps have been taken and thus delve into the engine's features. Instead, what the author does is simply recount the tasks performed, but in a literary way instead of a numbered list. In other words, the "How it works" section does not add anything to the "How to do it" section. If you have more or less understood the steps in the "How to do it" section, you can skip the "How it works" section because it will not add anything to you. This greatly limits the value of the book. My advice, if you read this book, is to consult the Godot documentation for the different components as you progress through the steps of the different tutorials. This way, you can partially make up for the lack of explanations from the author.

In my opinion, this is a new example of Packt's poor editorial work. I think the problem with the book is not that the author is unfamiliar with the subject, but that the editorial did not review the book and did not alert him that he was focusing the "How it works" sections incorrectly. Packt is still a machine for churning out books where quantity is valued above quality.

I do not regret having read this book. It has really allowed me to tinker with Godot and convince myself that it is a viable engine for making games of all kinds. It is not that there are many books about Godot 4 on the market. In fact, most of them are from Packt, so there is little alternative. The thing is, I don't think the book is worth its full price. It may be worth it if it is discounted or included in a bundle like Humble Bundle, but I don't think it is worth the usual price. Before that, there are multiple tutorials on YouTube that are much better and more affordable.

11 November 2023

"Godot 4 Game Development Projects" by Chris Bradfield


I have said on occasion that I do not like Packt Publishing books. I have always felt that they prioritize quantity over quality. The fault is not usually with the authors, as there are both good and bad authors at Packt, but rather with the publisher for not doing its job of polishing the content to meet a minimum quality standard before it reaches the public. As a result, there are too many Packt books that have the whiff of a tutorial that has been copied and pasted straight from the internet, with inconsistencies, repetitions, and errors in content and formatting. In most cases, if the publisher had done its job and provided at least some guidance to the authors, the result could have been much more decent. There are things you can forgive an independently published book, but when there is a publisher behind it that charges the same price as an O'Reilly book, I think the level of expectation has to be higher. On the positive side of the ledger, and for what I believe still saves their business, is that the enormous amount of publications they put out cover very novel and varied topics that other publishers will take at least a year and a half longer to cover, and with much fewer books. It is not uncommon to search for a book on a hot topic and find that Packt is the only publisher with books on the subject. Another thing is their quality level, as I have already said. That is why I usually avoid Packt books, unless I find a pack of their books at a good price. In this case, the book that gives its name to this article was included in a pack of game development books that was released through Humble Bundle. For almost €20, I bought a couple of dozen Packt books, so for that price it was worth it. Based on the above, this book has the advantage that there are very few works that talk about game development with Godot, and even fewer about its recently released version 4, which incorporates enough new features to make it very different from previous versions. It is structured as a series of projects that act as tutorials. There are three 2D projects, of increasing difficulty, and two 3D projects. This structure makes the book practical and entertaining, but it does not delve into the design and approach particularities that make Godot so special compared to, for example, Unreal or Unity. Still, if the tutorials in the official Godot documentation have left you wanting, this book can be a good follow-up to them, as it is very similar to them in both form and content, but it takes them a couple of steps further. In fact, I really enjoyed the last chapter, which talks about how to create procedural levels in real time. The tutorials are detailed and clear to follow. The code it uses is GDScript, and I would say it is clean and well-structured code. I think that in general, the way of working with Godot that is seen in the book is not far from the official best practices. So it is a good introductory work to Godot. On the negative side, there is the typical carelessness of a Packt book. At least in the digital version, which is the one I read, the first lines of the code listings are cut off on the left. It is as if they had cut off everything that was to the left of the first or second level of indentation. This means that the body of many functions is saved, but you have to guess the name of the function and the global variables from the incomplete fragment that you get. I found this very annoying. I have no idea how the book could have passed the quality filter like this, assuming that Packt even does one. Did it pay off? Considering that I bought the book in a pack and therefore it came out at a ridiculously low price, that there are not many Godot books (and even fewer Godot 4) and that I had already finished the official Godot tutorials, then yes, it was worth it. Having all the tutorials collected in a book is very convenient, although you can find others just as good with a little internet research. If I had bought it for the price it is on Amazon, or at Packt itself, I don't know if it would have been worth it.