The professionalism of the team really astounds me, from direct and honest communication to the actual quality of the builds. Godot is a treasure I feel and a great example of how to do open source, and build a community.
I'm currently in a game design undergrad program and was surprised to see how few books are published about specific engines. I'm not positive, but I reckon it was historically a niche domain that changed constantly because it closely followed bleeding edge hardware, and until recently, was mostly proprietary. Just yesterday, a knowledgeable, experienced instructor decided to switch from using Unreal Engine 5.0.3 to 5.1 in class only to find the well-established system for some basic game parameters was deprecated.
Game development also requires non-trivial base knowledge about a broad range of topics, i.e. 3D meshes, materials, rigging, lighting, and/or 2D animation, UI concepts, some audio stuff, knowing how event-based programming works, generally, etc. Gaging base knowledge might be difficult! Most people don't need to, or event want to understand the whole huge thing to work on their projects... So even among those interested that's still a tough sell.
It would bother me less if the documentation was better. Even in Unreal Engine many of the entries in the API docs are generated from whatever sparse comments are in the engine code. It seems like the standard way to learn these things is to either be motivated enough to stumble around for a few years using tutorials, YouTube videos, overly terse official docs, and reading engine code, or learning from someone who already knows what they're doing, either at a university or on the job. I am pretty green though, so I may be making some faulty assumptions.
I've found forcing myself to learn Unreal's Blueprint system taught me more about game development in general than bigger projects in Godot because Unreal is so much more opinionated, but you can pretty easily dig into the mechanics. Godot being so close to Python was nice, though. The videos at LinkedIn Learning (formerly Lynda) are outdated for Unreal, but deeper than tutorials, and useful for basic game creation knowledge and parallel skills like 3D modeling software.
While not about specific engines, I am quite sure that there is enough literature about "how to build your own engine", as I have enough of them on my bookshelf since MS-DOS days.
So I imagine a local library or bookstore might have some dusty books from Andre Lamothe, Game Development Gems book series, and whatever else came after.
You've clearly never used a modern game engine; things have changed a lot in the past 20 years. Using a modern game engine and building a game engine are as different as building your own car and driving, or even designing a digital camera and being a fine art photographer. Both go really deep, but in entirely different directions. There probably isn't even a statistically significant overlap between people who are great at one being great at the other. The people designing and assembling the high-level logic for Zelda Breath of The Wild, for example, would get absolutely no use out of knowing how to build a game engine, and that's a good thing. When it comes to the way the game works from a player perspective, the underlying implementation details are invisible. Studios employ game engine engineers for a reason and they're not really using the engine. They're using code to make tools that other people use in the engine.
Like you said, things get deprecated or replaced really frequently with engines. I think if anyone were to write a book for any of the major engines, it would be partially out-of-date by the time writing was finished. There are some books out there, but they're all very behind compared to current release versions.
Yep. I was seeing books released in 2020 when I was looking in early 2022 and they were already outdated enough to be less useful than a handful of youtube videos.
I just learned Godot over the weekend. I am amazed by how easy it was to get something made. I previously had no real game development experience. Within a weekend, I made a functioning game and later even published it and wrote a blog post. Anyone can play it in Chrome right now.
I get the same thing, but I've been ignoring it because that can be a rabbit hole. I've seen lots of advice just to get something small published if you want to do game dev, so that's where my priorities have lied in this project. Now that I have something small published, I am comfortable digging a little deeper.
I was just reading about SharedArrayBuffer recently, specifically about supporting Firefox. Lemme see if I can find it in my notes.. Ah yes, it was about ffmpeg.wasm which requires this feature. Apparently this security restriction is coming to Chrome also.
Sounds like they are just trying to set up the expectations by drawing the analogy to 3.0 release. It’s happening, it’s going to be slow, incomplete, rough, etc, but we hope to see the community helping to fix it.
I really want to play with Godot RL Agents but I want to do vision based learning and that’s a bit down their road map. If anyone wants to contribute to add that feature I’d love you!
Is there a good book to learn Godot? I've been waiting for such a book for some time. I have only been able to find online tutorials and videos, but I would like an offline book.
It's not a book, but I think the most high quality introduction to Godot is by HeartBeast on youtube. I went through his "Pixel Platformer" video "Godot action RPG" playlist. These were quick and got me everything I needed to get started.
Here are some games I made as a hobbyist with godot, in increasing complexity:
I've bought both of his courses and can confirm they are excellent and absolutely worth the money (although I got his newest one at a deep discount, it's fairly pricey). He also makes himself available for questions over Discord and very friendly.
Vampire Survivor like games are top-down action games where you move your character and it auto-attacks hordes of enemies. You gather XP and choose from a few options each level up. You end up selecting s handful of offensive and utility capabilities and get ultimate versions of them if you manage to max them out. There are some synergies between the different weapons and items you end up choosing in your build (complexity of synergies varies in the genre.) If you’re familiar with autochess, the leveling/building takes cues from that genre.
Our company creates Godot courses and while we have scripts for our videos, we’ve found it difficult to turn them into books. Game programming is just so visual, especially introductory content. Things like walking someone through the Godot editor is hard to convey in text. We’re working on it though!
If you are a compulsive HumbleBundle buyer, you may already have it! If not, it's great. I didn't finish it, but I read through maybe a third of it, and that was enough for me to feel comfortable enough to learn the rest of it as I went.
I wouldn't call myself an expert, but got far enough to publish a game (Puck Fantasy, available here: https://www.lowkeyart.com/puckfantasy ), so I'd recommend the book!
Not that I know of, and even the tutorials last time I looked are still factually incorrect though I haven't looked since Beta... 3? But some of the changes to nodes/classes with renamed properties/methods are still listed in the old, and before anyone asks yes I was looking at /latest/ not /stable/. I wish I'd taken notes so I could submit a PR but I just headbutted my way through it and moved on and only realized later I should have cloned the repo and updated the docs.
There is no good "book" but the fine team over at GDQuest do a lot of written material in addition to their video courses. Their 2D Secrets course is entirely written with no video accompaniment. My suggestion is go through the docs, go through a couple short video courses, then pick up their 2D secrets course. It is the best written material for Godot currently available in my opinion
I learned rust this year, primarily from dead trees, and couldn't have done it without. Staring at a screen after a long day, and holding focus on a long text when I'm already in my browser, with literally the whole Web at my fingertips? No can do. Sitting down with a 300+ page book on programming? Yas please! This got me far enough that starting to do actual programming I felt secure enough with the basics that it never became overwhelming.
It would be nice, but the fundamentals for every game engine I've seen have changed far more quickly than Rust fundamentals. Keep in mind... game engines aren't just programming language frameworks-- they're often inextricably tied to incredibly complex GUI applications and dozens of underlying systems that deal with things like lighting, animation, rendering efficiency, etc. etc. etc. Projects generally are assumed to remain in whatever engine version they're started in so version compatibility isn't a huge concern. The tutorial layer one half step above "Hello World" is generally unusable after whole number updates, and point releases bring changes that are fundamental enough to break "my first game" type projects. As someone who happily learned to code from paper books, I assure you that game engines bring different usage requirements.
You could probably learn GDScript from a book (or really, just learn Python and read up on the differences,) but with engines these days, you're going to be going along for quite some time before coding becomes the primary barrier to achieving your goals.
It's also way less complex. Last time I picked up Unity, after a year or two of not having used it, it felt bloated and full of new stuff that is mostly relevant if you're looking at monetizing mobile apps.
Godot is primarily an object-orientated rather than ECS engine so if you are comfortable with OOP then I think you will find it quite intuitive.
Also the sheer speed with which Godot allows you to load, build and test your software is second to none. Make an update, build in 2 seconds, then play. You just can't compare that to Unity and, even moreso, Unreal Engine.
I've used Unity extensively and Godot 3.x for some experiments. There's some differences and rough edges but everything is just so much faster that I've found it easy to pick up. No waiting for stuff to reload, etc.