16 ms·
Godot Engine – A decade in retrospective and future
- brachi 7y agoA very well written and inspiring post. I haven't used Godot much, but I feel 2020 and the next decade is going to continue growing much more :) > This was an extremely hard decision to make [work full time in Godot], because at the time, my experience (...) was paid a lot more, and I was receiving extremely good job offers(...). [T]he same happened to Rémi (an Energy Engineer), who also changed his life plans and profession to work full time for the project. It really speaks of the love for the project. I hope the motivation and joy for writing the engine is balanced with the right compensation.
- ramijames 7y agoThis is really something that I can speak to with personal experience. When you believe in open-source software and decide to quit your job because you want to try and build a business around it, it is incredibly scary and fulfilling. You sacrifice a lot so that others can benefit. It's a bit of a life of illusion, but you make do. Good on these guys for providing to the community something that is genuinely awesome.
- kroltan 7y agoIn financial terms, we are sure that each are paid at least 4.4k USD/mo, based on their Patreon goals. If that is the right compensation is subjective, I'm not familiar with the market rates for that level of experience.
- allannienhuis 7y agoIf they were receiving job offers with better compensation, that suggests that rate is below market, by definition :) .
- vanderZwan 7y agoI wonder if Godot has a chance of becoming the Blender of game engines. From the way it is growing it's starting to look like a real long-term possibility to me, especially for the smaller game studios.
- throw_m239339 7y agoIt's all about the $$$ and the community. Blender started as a commercial project too. I was already using it in the 90's alongside POVRay. The good thing is unlike in the photography or the print industry there is no real industry wide vendor lock-in when it comes to formats in 3D, so it's always possible to create a challenger. Right now Godot isn't really on par with Unity, but it could become the de-facto game engine for Blender in the future if Godot allows deep integration with the former.
- brachi 7y ago> there is no real industry wide vendor lock-in when it comes to formats in 3D Mmm, Blender had a lot of problems having to reverse FBX from autodesk, which AFAIK is or was a de-facto standard. About open standards, I kinda hate xml, so I didn't like Collada much. I'm looking forward for knowing more about glTF[1]. Thankfully Blender 2.8 had the official add-on from the beginning.
- pjmlp 7y agoglTF was introduced by Khronos for WebGL, then thanks to Microsoft glTF 2.0 was born and became API agnostic. Khronos YouTube channel has lots of talks on the format.
- PudgePacket 7y agoI hope so! Though the Blender situation is a little different. Blenders main competition are paid software. While Unity and Unreal are technically paid too, many users can use them "for free" for the most part. Unity and Unreal are both foraying into non-gaming applications like Cinema, and whatever the word is for working with architectural programs/formats. Might be an opportunity for Godot to stay focused and gain mind share that way? I know Unity is under a bit of an upheaval right now with their engine architecture and it's putting a lot of strain on it's userbase.
- kemonocode 7y agoI have nothing but love to give for Godot and its incredibly dedicated community. Sure, it's still rough around the edges, but many of my gripes (e.g. poor documentation) have been slowly fixed over the years and I've been recommending it to people new to game dev (although not necessarily new to programming) in order for them to tinker on and make their first games with.
- puppyprogram 7y agoThe good thing about having gripes in an open source product is that you can be a part of the solution!
- kemonocode 7y agoI've helped with documentation myself, so yeah, it does feels nice to be part of the solution!
- deleted 7y ago[deleted]
- eatonphil 7y agoTrying to find the best way to introduce friends/family (with programming backgrounds) to game programming for fun. (So not kid-focused stuff like Scratch or Logo.) Godot looks pretty good. Is there anything else you've had success with?
- lwb 7y agoIf they have a TI-83 or TI-84 graphic calculator, you can't beat Axe Parser! https://axe.eeems.ca/Documentation.pdf https://axe.eeems.ca/Documentation.pdf It's as simple as the BASIC language that comes with the calculator, but it compiles to assembly so it's lightning fast. And you can write and build the entire game from your calculator. I spent hundreds of hours making games with Axe back in high school.
- stevekemp 7y agohttps://love2d.org/ https://love2d.org/ is pretty popular with people who are likely to be overwhelmed by 3D things and talk of engines and renderers. It is pitched as a beginner-friendly framework, but you can do a lot with it..
- kris-s 7y agoPICO-8 might be a fun starting point. https://www.lexaloffle.com/pico-8.php https://www.lexaloffle.com/pico-8.php
- vanderZwan 7y agoTIC-80 and LIKO-12 are pretty decent open source "clones" https://tic.computer/ https://tic.computer/ https://ramilego4game.itch.io/liko12 https://ramilego4game.itch.io/liko12 And then there's the BASIC engine: https://basicengine.org/ https://basicengine.org/
- kick 7y agoCHIP-8 is really cool, too!
- lwb 7y agoGreat post. Is there a 3-year, 5-year, even 10-year roadmap for Godot? It's a tool I'm very interested in using but the industrial backing and stability of Unity/Unreal is hard to beat. Some kind of assurance that the creators of Godot plan (or at least hope) to keep working on the project for a long time would go a long way.
- gdxhyrd 7y agoIf you need reliable support, you have to pay someone. It does not matter which project you are talking about.
- mroche 7y agohttps://www.patreon.com/godotengine https://www.patreon.com/godotengine I can’t remember if the team is getting outside funding from grants or such, but this is the main payment system I believe.
- vanderZwan 7y agoThey mention that Mozilla supports their HTML5/WASM efforts, which makes sense
- cpeterso 7y agoGodot Engine was awarded $50,000 in 2019 by Mozilla as part of the Mozilla Open Source Support (MOSS) program. Godot also received a MOSS grant of $20,000 in 2016. https://godotengine.org/article/godot-engine-awarded-50000-mozilla-open-source-support-program https://godotengine.org/article/godot-engine-awarded-50000-m...
- lwb 7y agoI'm not asking for support. Godot could definitely go the for-profit route and charge for cloud builds and other features like Unity does. I just want to make sure that if I invest in learning the tool as well as I know Unity that it'll be around for the next few years.
- csande17 7y agoI've been looking for a lightweight 2D engine to use on Android. Something I can use to build simple 2D games with small binaries that load quickly and run on lots of hardware. (Like I might use SpriteKit for on iOS.) Should I look further into Godot Engine, or is it more of a "heavyweight"/loads-of-features engine like Unity and Unreal?
- billfruit 7y agoI think Defold may be a good option for you, it is quite polished and easy to learn and use.
- lancefisher 7y agoI don't have a ton of experience in this space, but I've been looking for a good, simple 2D engine as well. My two top picks are Godot and GameMaker [1]. I've been building prototypes in both, and both have their strengths. I'm currently leaning a little more towards Godot since I've had a bit of trouble getting GameMaker to work well on my Mac (it's been fine on my Windows PC). I tried Unity, but it really feels like an overkill for what I want. Both Unity and Unreal are really geared more towards 3D, and to me they complicated 2D development because of it. [1] https://www.yoyogames.com/gamemaker https://www.yoyogames.com/gamemaker
- jhasse 7y agoIf you know C++, have a look at mine: https://bixense.com/jngl https://bixense.com/jngl
- corysama 7y agoI’m not familiar with Godot, but word on the street is that its 2D pipeline is nicer than Unity3D’s. Unity3D does 2D, but focuses on 3D. I’m using Unreal right now and I expect it is 100x heavier than you are looking for. It’s one of the top 5 largest public C++ codebases in the world.
- shafyy 7y agoI've never worked with Unreal, but Godot is significantly more light-weight than Unity. Can definitely recommend!
- SquareWheel 7y agoI've become a big fan of Godot over the past six months or so. The open development model is a breath of fresh air compared to most game engines. The node system seemed weird to me at first, but it's really grown on me. I can heartily recommend the engine now.
- arminiusreturns 7y agoI've been using godot for about a year now, and really like it. I am really excited about the upcoming vulkan renderer which should help with my main gripe which is no ambient occlusion. Some people have found some novel ways around it but I am choosing to just focus on my gltf assets and work on my blender skills in the meantime. Linux native gamedev is possible!
- arminiusreturns 7y ago*occlusion culling not ambient occlusion
- shafyy 7y agoWe've just switched to Godot from Unity 2 months ago (we're doing VR), and I will never go back.
- ljm 7y agoI’m curious as I’m playing around with these myself and trying to make a decision from a beginner’s perspective (right now I’m just rolling my own from scratch with libsdl, to get to grips with C++ and the fundamental concepts). What sold you on godot over unity?
- markus_zhang 7y agojust curious did you check out the C++/11 binding of libsdl?
- ljm 7y agoOh, I didn't know about this! I've been using the raw library and handling cleanup myself (and understanding when and where I need to do it). It's probably a boon I started on PHP4 which basically had a 1:1 C interface for a lot of things, including manually deallocating variables to save memory and depending on variables passed by reference, so I knew what to expect even if I lacked the experience of the underlying system. Thanks for pointing it out, I'll take a look at it. (edit: I am using the fancy renderer in favour of the old surface manipulation; I guess that's a step up, comparing the code)
- earenndil 7y agoHave you seen raylib? IMO (also using sdl, but making a 3-d engine and using opengl), sdl's standalone 2-d capabilities are--okay, but not great. It's capable enough, but the ergonomics aren't that great, compared to raylib.
- shafyy 7y agoOther than it being open-source and light-weight, I liked the fundamental concepts more. Also, GDScript let's you iterate much faster than C# and is sufficient for most cases. If not, you can still switch to C# or any other language (there are bindings for quite a few now).
- fizixer 7y agoIsn't Unreal Engine an alternative in 3D space?
- protomikron 7y agoUnreal is not really open-source and has a restrictive license.
- iamwil 7y agoIt seems like some of you have some real love for Godot. How come you decided to use/recommend Godot over Unity when it was less mature? Was it much better along some axis that Unity didn't provide? What makes it better along that axis? Usually happens when something is 10x better at something new that people care about that the incumbent is blind to or is structurally incapable of addressing. I'm just wondering what it is in this specific case. Ease of use? Beginner friendly? Open source so you don't have to pay? The node system makes it easier to do X?
- MattRix 7y agoI'm not a Godot user, I'm a Unity user, but the fact that you don't have to pay is one of the big draws of Godot. Unity Pro is $150/month per seat. The fact that it's open source is also big, because there are often bugs in the Unity engine that I can't fix since I don't have source access. A lot of devs also like jumping on new technology because it feels good to learn new things. Oh and then because it's open source, you can improve the engine and it gives you the "Ikea effect" where you like something more because you helped to create it.
- vanderZwan 7y agoI know quite a few game devs (side-effect of both living in Malmö and being active on the TiGsource forums) and if there is one common thing I hear about Unity it's how it does not seem to care at all about backwards compatibility, and how upgrades can completely screw over projects. I don't know what the story is with Godot (beyond the breaking changes between 2.0 and 3.0 that was mentioned in the linked blog post) but if that is a lot better then I can imagine that some game devs might be more interested in Godot for that reason too.
- dleslie 7y agoEvery version change, even minor revisions, come with a real risk of breaking your compiled asset bundles. From shaders to light maps to referenced classes. It's a huge amount of effort to keep a project tracking Unity version upgrades.
- sahiphopza 7y agoVisit <a href="https://sahiphopza.com/"><strong>sahiphopza</strong></a> https://sahiphopza.com/"><strong>sahiphopza</strong></a> for mp3 songs
- sahiphopza 7y agoget mp3 here too https://sahiphopza.com/category/download-mp3/ https://sahiphopza.com/category/download-mp3/
- danShumway 7y agoWhat's Godot's C# support like nowadays? I remember there being some criticism of the early implementation, but I haven't checked back recently. I keep on getting really curious about Godot, it seems like an engine that should be up my alley, and I really am in the market for Open Source engines. I don't want to keep coding everything myself. But I'm a little thrown off by the idea of learning a new scripting language, and dipping into C++ for an engine like this seems counterproductive. If I cared that much about memory management, I'd probably write a game-specific engine again.
- bjconlan 7y agoYeah, I thought this too and was thrown off by learning a proprietary language but I found it didn't really get in the way both because of its familiarity and simplicity with talking to the event system and scene graph (as you would expect). Any shortcomings I found were clearly identified and documented. (Mind you this was a basic parallax game so was a shallow dive). It's really a hard thing to balance and can understand why c# would be choosen to perhaps deprecate this (but this choice I think is mostly from unity's success (and convertible user base)
- Riverheart 7y agoFelt the same way about the scripting language at first but dug in anyway and it's so close to Python it wasn't too bad to use in practice. Has some short hand for referencing nodes via $ that C# version didn't have.
- makohn 7y agoInteresting post. I haven't that much experience with Godot, but I found the recently published YouTube Video where Juan explains the source code quite interesting: https://www.youtube.com/watch?v=5RIPRlCvRAk https://www.youtube.com/watch?v=5RIPRlCvRAk
- spookyBlackBox 7y agoAs a side project to get me back into lower-level programming, I've had the pleasure of working on a personal fork of Godot. The engine's simply fantastic from a programmer's perspective. The code is readable, the architecture is quite intuitive, and with the exception of a few engine components, you don't run into much in the way of incomprehensible spaghetti code. Adding features is more or less trivial, as has been merging upstream modules from more modern branches into the project. I see a bright future for the engine, especially after the 3.1 update, and I anticipate that it'll start seeing significant commercial adoption in the second half of this decade (it needs a few more years of refinement and PR). The release of the Vulkan renderer will be a massive boost to public interest, and developers will increasingly consider it for their next projects. That said, I do have a few concerns about its development. I'll preface these critiques with the fact that I'm working from 3.1 stable, and have only merged from 3.2 as needed. There's a wide-spread conception among the Godot community that Godot's performance (especially in 3D) is abysmal. This has been blamed on a number of factors, such as the memory model (largely heap-based), and the rendering engine (it uses quite a bit more cpu time than it needs to). It is exactly the second-issue that has lead many community members to see the Vulkan renderer as Godot's salvation. I can't speak to that, but as is, many of the criticisms Godot faces are legitimate. But among the projects I've seen where performance has been an issue, it's largely been the product of a developer's failure to understand how the engine is processing their content, and by extension their failure to architect their game around that. This is an issue many inexperienced developers run into on just about any engine. Godot also lacks editor tooling that would allow anyone but a programmer to easily mitigate these issues in a scene, even if they knew where the performance issues were. This, compounded with the fact that Godot has largely focused on accessibility first and foremost has resulted in a lot of inexperienced community members without much understanding of the engine's internals to discourage people from even trying to adopt the engine for 3D projects until 4.0. I hope that 4.0's release will be enough to minimize what I believe to be largely a PR issue, but I also fear that the inevitable bugginess that comes along with an entirely new rendering architecture may just exacerbate them, or that it will simply fail to live up to the expectations of many people who expect a more modern renderer to somehow fix their poorly considered code. I'm concerned that this will slow the engine's development with respect to its tooling, as there are few people really testing the bounds of it's capabilities and workflows.
- m0llusk 7y agoThat the Godot scene editor is made with Godot seems to be an excellent example of how eating one's own dog food can exercise and improve the basic technology.
- mhh__ 7y agoIt's fairly common practice in compilers (for good reason), i.e. the D compiler is now written in D and the Rust compiler is written in Rust etc. I think the first Haskell compiler was written in Miranda but that's before my time. You get to test the product without waiting for feedback from the real world and you also end up with a test suite (in effect) for free.
- Jowsey 7y agoHow do compilers compile themselves before the first iteration? This always confused me
- Doxin 7y agoYou compile the next version of the compiler using the previous version. That does mean that the first version of the compiler cannot be written in the target language. Once you've got that working you can write a new compiler in the target language and compile it with the previous compiler. Back in ye olden days the first assembler was written in machine code. The first C compiler was written in assembly, and the first D compiler in turn was written in C.
- agluszak 7y agoIt's nice to have a dark editor theme included for free ;) (Looking at you, Unity. What you're doing is not cool at all.)
- shmerl 7y ago> The new rendering architecture will also allow companies working on console ports to more efficiently port the engine and offer our users the possibility of running their games on the most popular game consoles (something we will, unfortunately, never be able to offer officially due to legal reasons, thus forcing us to cooperate with companies porting it on their own). I didn't quite understand that part. What legal reasons prevent them from making ports for consoles? Do consoles ban open source projects? Also, are they planning to use some translations layers like for DX12 and GNM from Vulkan when working with Xbox and PlayStation? Would be nice if gfx-rs could offer a GNM target for the Vulkan portability option. Alternatively, Sony and MS can of course start offering an option to use native Vulkan, as they should have from the beginning.
- Negitivefrags 7y agoYou are not allowed to publish any information about console APIs. That is part of the agreement for getting access to the SDK. You can't publish any code that calls non-standard APIs. So therefore any code that interacts with those APIs cannot be open source. You would have to publish a seperate extension to the engine that is not open source and make it only available to those who have signed the Developer Licence Agreement for the platform. Depending on what licence you chose or how the code is structured that might break your own open source licence.
- shmerl 7y ago> You are not allowed to publish any information about console APIs. That is part of the agreement for getting access to the SDK. Sounds very much like paranoid '80s - '90s approach where everything including development tools was viewed as some kind of super guarded secret. But I guess incumbent consoles are stuck in that mindset. They should realize it's been a different century for two decades already. Hiding an API is not helping anyone.
- deleted 7y ago[deleted]
- pjmlp 7y agoTheir console APIs already offer the lowlevel control from Vulkan and are much older than Vulkan, so no, it is not from the begining.
- spapas82 7y agoAny recommended learning resources for Godot?
- krapp 7y agoUdemy has some really good courses, and Youtube.
- wastedhours 7y agoGamefromscratch [0] has a decent series, as does GDQuest [1] [0] https://www.gamefromscratch.com/page/Godot-3-Tutorial-Series-Index.aspx https://www.gamefromscratch.com/page/Godot-3-Tutorial-Series... [1] https://www.gdquest.com/ https://www.gdquest.com/
- inDigiNeous 7y agoI've been using Godot engine for the past two months now, I evaluated both Unity and Unreal Engine of course, and in the past I've built my own 3D engine (took me 2 years, C++ with Lua scripting, OpenGL 3.3+). What got me started with Godot was the fact that it is completely open source, and I was evaluating also writing my project with Rust, and Godot had already support for interfacing it's scripting interface NativeScript even with Rust already (although much work in progress). Ultimately I decided to develop the project with mostly C++, but during learning the engine I noticed that GDScript is very capable and seems even faster than Lua at least according to my 2 month experience, mostly coming probably from the fact that it has native types like vectors and matrixes and so on integrated directly into the scripting language and implemented with C++. I was pleasantly surprised how easy and logical the engine is to use, they've made a lot of correct decicions when it comes to the technical viewpoint, for example getting engine scripts written with C++ was very easy, which surprised me. The documentation is also very well written, with up-to-date examples and I haven't seen any missing information yet. Only thing I've been missing is more complete examples of games utilizing C++ for example, and more complete projects to be looked at as an example. Most of the projects I could see were written mostly with GDScript, so I would have wished to see more indepth and professional examples in how to write performant projects using Godot. But mostly GDScript even seems to enough to implement most of the game or application logic. For me though, the fact that the engine is open source and that people are actively fixing issues in it, and I can even contribute myself is a big factor. The MIT license also grants me to do whatever I want with the end product, which is a big plus. I hope to contribute to the project as I go along, been looking at the source code and it's really readable also, the architecture is pretty solid and clean at least according to my quick evaluation of the project. I'm projecting great success for Godot in the next year, especially with the upcoming Oculus Quest support already well under way, this could be a easy and more flexible way for people to get into VR development possibly.
- inDigiNeous 7y agoAnyone have some good example project online, that utilizes more C++ scripting or custom Godot modules even ? This was the only thing I could not easily find when trying to peruse the projects utilizing Godot online.
- Fr0styMatt88 7y agoI keep debating whether I want to commit time to doing a hobby project in Godot or Unity (yes, I know I should just pick one and do it). Unity has made massive strides but I just find Godot so damn pleasant to work in, especially with code editing being built right into the editor and GDScript being such a nice language. I can really see Godot becoming the Blender of game engines. Kudos to the team!
- dakom 7y agoI am coming back to Unity for a side-gig VR thing after not touching it for a couple years. Unfortunately the timing is not great since they are still sorting out all the new offerings (XR Plugin vs. Player settings, Input systems, ECS from prefabs, etc.) Is anyone doing VR with Godot? I have a couple questions: 1. What's the development cycle look like? In Unity I can hit play and put on the headset (Oculus Quest w/ Link, so essentially a Rift). No need to export a full build or go through multiple steps. Honestly this is the single most important factor for me since it allows quickly figuring out other problems. Does Godot support it? 2. Unity has made a big deal about DOTS and from initial tests it's legit. For VR on low-powered headsets (ultimate target is Oculus Go) these performance savings matter. How does Godot compare? 3. I don't know C++ and worried that I wouldn't be able to squeak by from bad usage of it. GDScript looks interesting but in this use case performance matters. I am doing a significant amount of Rust these days esp for hobby projects and would LOVE to be able to code in that. Are the Rust bindings to Godot good? Does it interfere with quick iteration? (looking at the repo it's hard to see what's going on and what the impact is on a real project)
- blensor 7y agoI have started VR development very recently for a small side project and I am very happy with Godot (I mentioned the link in one of the other replies, it's calle VRWorkout). Currently you should use the 3.2 Beta and have to install the godot_oculus_mobile plugin yourself, but once that is setup, you have an Android symbol in your Godot Editor and can hit play to get it running on the Oculus Quest headset. It's reinstalled for each time you hit play, so that takes a few seconds. I don't know how unity handles this. Performance wise you are on your own I guess, so you should know what to do and what not to do to achieve good performance. Don't know about language bindings, I am using GDscript as it is close enough to python to get by. From my point the whole experience was a breeze, given that's it's free and a really small download I would definitely at least check it out before trying something heavier.
- dakom 7y agoCool, thanks for the feedback! I didn't see the source code on your repo - just release builds... did I miss something or is it closed-source? Unity also takes a few seconds, it's not instantaneous, but much better than the proper build/deploy route which can be minutes
- benjaminjackman 7y agoDoes anyone have any experience or knowledge about the process of porting a Godot game to consoles? I know it’s not built into Godot because all the sdks/apis are behind NDAs for the consoles, I was wondering how difficult it is, what it entails and if anyone has experience going the suggested route of hiring the company on the Godot site to do the porting. More so than performance this would be the biggest blocker for Godot I would think ( not that it’s in any way it’s Godot fault ... it’s consoles being consoles )