12 ms·
Godot Engine – Free and open-source 2D and 3D game engine
- rothbardrand 9y agoThis is a lot like an open source Unity. It is trying to be pretty comprehensive, and while a little thin in areas, they are doing a great job-- a lot of value for the "cost" (which is namely, learning the new platform.) The 2.x series is current, but 3.0 which is in the final stages is a big upgrade, with physically based rendering, a lot better shadow system, support for multiple programming/scripting languages and a visual programming language (for designers and artists to use, though its fully capable large scripts are harder to do visually.) Very excited about this project and can't wait for 3.0.
- AnkhMorporkian 9y agoI'm having a hard time finding much about the visual language, but does it happen to convert into a proper text-based scripting language? I love the idea of my designer being able to piece some stuff together with next to no programming knowledge, and me coming in later and editing it in a text form.
- rothbardrand 9y agoI'm not sure if it "converts" in the sense it can be exported, but it is a literal 1 to 1 mapping of the GDScript language (or a subset of it), so such a conversion should be possible.
- coredog64 9y agoIf you're waiting for 3.0, does that make you Vladimir or Estragon?
- phreack 9y agoThey've very recently released a Patreon and it seems to be speeding up development considerably, so it's worth giving a look if you're using Godot. https://www.patreon.com/godotengine https://www.patreon.com/godotengine
- dmacvicar 9y agoIt is remarkable what this team achieved in terms of how lightweight it feels, the shape and portability of the code-base and how high quality and full featured it is, given the complexity of the domain. IMHO, it deserves to be in the http://aosabook.org http://aosabook.org series as open-source code-bases you would read and learn from.
- Heraclite 9y agoHow easy is it to plug to native Android API? Any way you can just use this engine as a View in your already existing Android native app? (like with LibGDX)
- staticelf 9y agoI am always amazed by big open source projects like this. It's impressive on how high quality everything seems.
- Scirra_Tom 9y agoYep me too! The amount of work that goes into something like this is quite frankly astonishing.
- alexlarsson 9y agoI added a flatpak version of the editor to flathub, in case anyone wants to test it: https://flathub.org/apps.html https://flathub.org/apps.html
- jhasse 9y agoThanks! Worked flawlessly.
- Iv 9y agoI have tried to use it something like 2 years ago and just gave up in front of the poorly documented custom scripting language they used. Has this changed? I think they were pondering switching to python or lua? One of the main strength of its main competitor Unity is that it uses C# and the .Net framework. It comes with many usable tools from the whole C# ecosystem.
- WillPostForFood 9y agoC# is part of the upcoming 3.0 release. https://godotengine.org/article/godot-getting-more-languages https://godotengine.org/article/godot-getting-more-languages https://github.com/neikeq/GodotSharp https://github.com/neikeq/GodotSharp
- juice_bus 9y agoIs 3.0 available in a pre-release state to any degree? I would like to try it out but don't really want to invest into a platform specific scripting language. Edit: Appears your link is essentially what I asked for above.
- deleted 9y ago[deleted]
- batat 9y agoGood news everyone! https://godotengine.org/article/beta-release-python-support https://godotengine.org/article/beta-release-python-support https://www.youtube.com/watch?v=h6MsqsJqnao&t=2h35m09s https://www.youtube.com/watch?v=h6MsqsJqnao&t=2h35m09s (Emmanuel Leblond at EuroPython 2017)
- Iv 9y agoOk I'll probably give it a try again after the 3.0 release. I really want an OSS alternative to unity!
- breadbox 9y agoThe documentation for GDscript is pretty thin, it's true. However, I think it has been improving, and that coupled with the tutorials created by other parties has helped me a lot in figuring out how to make things work.
- Vosporos 9y agoStill waiting for it…
- maeln 9y agoFor those who don't get the reference : https://en.wikipedia.org/wiki/Waiting_for_Godot https://en.wikipedia.org/wiki/Waiting_for_Godot :)
- josinalvo 9y agoAny good/recommended performances available online? Allways heard about the play, but never saw it.
- flynnieous 9y agoTry https://youtu.be/izX5dIzI2RE https://youtu.be/izX5dIzI2RE
- kylereeve 9y agoNothing to be done...
- strayamaaate 9y agoHad a quick look through the showcase, looks like mosty small indie titles or developers personal projects - which is cool, but have any larger games shipped with Godot? Any titles we might have heard of?
- coppolaemilio 9y agoThere are several big games published with Godot. The author used this program with his team to develop video games for his studio. Still not AAA but big enough to know it is worth it. Game maker suffered from the same criticism up until a big wave of popular games came out of it. You shouldn't judge an engine by the games made with it.
- PudgePacket 9y agoIt's hard not to judge an engine by the games made with it... To me that's like not judging a racecar by how fast it goes, sure there is other criteria but that's the meat.
- badsectoracula 9y agoI think a better way to phrase it is that judging an engine by the games they've been made with it will give you an incomplete picture: you can only see what is possible, not what is impossible (and even with the possible, you only see what the people use it can do which is affected by their resources and their skills). It is better to evaluate the engine yourself for the project you are planning to do with the requirements it has (not making the entire project, of course, but if you - say - want to create a huge detailed world you can procedurally place entities in the world and see how the engine copes with that and if it provides tools to address any issues).
- chii 9y ago> you can only see what is possible, not what is impossible but if you see a similar game already made, then you can clearly claim that it's possible in the engine. Saves time and effort.
- nallerooth 9y agoBonus points for making this work in Haiku[1]! While I doubt that this has any real value in itself, it's always nice to see that the Haiku project is alive. 1. https://www.haiku-os.org https://www.haiku-os.org
- fmeyer 9y agoI got curious to see how much effort was spent on this task. Following the commit log of the coder who ported to Haiku, it was a matter of mostly adjusting the build process/includes to point to the right lib and fixing some method signatures. https://github.com/godotengine/godot/commits?author=Max-Might https://github.com/godotengine/godot/commits?author=Max-Migh...
- dmacvicar 9y agoopenSUSE community packages for the editor: 2.x https://software.opensuse.org/download/package?project=games:tools&package=godot https://software.opensuse.org/download/package?project=games... 3.0 git (not released yet) https://software.opensuse.org/download/package?project=games:tools&package=godot3 https://software.opensuse.org/download/package?project=games...
- omtose 9y agoHow's the performance of the resulting games? With unity I've found that it's a mixed bag, but it's hard to know if that's the fault of developers or the engine.
- WillReplyfFood 9y agoThe problem with generic engines, is that the type of game has a diffrent performance requirement. RTS can live with physic-sim updates every 0,25 seconds, which is not usefull for a jump & run or fps game. Thus the highest requirement defines the engine, which is a complete waste for some games and limits performance. I dont know if you can configure the framerates and engine internals here. Next problem is that you need to write a lot of partially performance intensive game logic code (pathfinding etc.).. which again makes sense to write in the engine native language. There is a reason why game specific engine exist- and if i would dev a new game today, i would choose- the one os-game that is allready as close as possible to the idea port that to a dedicated engine. Its way too much work to fork a generic engine to a high-performance specialisation.
- meheleventyone 9y agoI think it really depends these days. You can make a lot of games in a general case engine up to and including those that you might think need a specific set of tradeoffs they might not provide adequately. At the same time it can be easier to not have all the unwanted cruft. It's about where you want to put the time and effort and I'm not sure that's very easily generalizable right now. I do think Unity is beginning to jump the shark a bit with what seems like a stronger focus on ancillary services rather than their core offering.
- TeddyDD 9y agoPerformance is fine in most cases. While GDSCript is quite slow it's rare to be the bottleneck. You can always port perfrormance critical code to C++ (or to basically any language in 3.0). You can try to optimize game without other languages as well. I'v got two examples: - My bro had written RTS prototype using built-in tilemap. When zoomed out, game was working pretty slow (12-20 fps) because drawing a lot of tiles at once was bottleneck. He was able to optimize his prototype using GDScript to work with stable 60 fps (he cached rendered tilemap as texture). - I wrote simple "terminal emulator" control for Godot. It was quite slow - rendering 125x32 characters terminal was 120 ms per change. With few simple tricks I reduced it to 40 ms for full redraw and 1 ms for small change like drawing few characters.
- zerr 9y agoAtomic Game Engine (https://atomicgameengine.com/ https://atomicgameengine.com/) also looks interesting since it supports C++ and C# among other languages.
- e12e 9y agoLooks interesting, from the page (for those just browsing comments here): THUNDERBEAST GAMES began developing the Atomic Game Engine on November 12th, 2014 by forking Urho3D. It was released under the permissive MIT license during GDC 2016. Atomic is now being used in production environments, has 30 contributors, and runs on Windows, macOS, Linux, Android, iOS, and WebGL!
- Mikeb85 9y agoWith 3.0, Godot officially supports C, C++, C#, GDScript and D, with unofficial bindings for Python, Nim, and probably others (those are only the ones I know about).
- zerr 9y agoBut 3.0 is still in a very early stage (and several years in slow development?). Atomic Game Engine seems more mature.
- akien 9y agoGodot 3.0 has been one year in development (since the release of Godot 2.1 in August 2016), and I wouldn't say it's in a "very early stage". It's almost feature-complete, tons of bugs have been eradicated already, and the stable release is should be 2-3 months away. As for slow developments... I don't know where you're taking that? Godot has dozens of commits every day, and the pace at which 3.0 features were implemented is honestly impressive (I'm obviously biased as a Godot dev, but check the GitHub repo [0] and the monthly progress reports on the devblog [1]). Godot has been in development since 2007, open sourced in 2014, and has had 400+ contributors [0] over 3 years vs 32 [2] for Atomic over 2 years. On the other hand, young Atomic is an overlay on the mature Urho3D project with 100+ contributors [3] and over 6 years of development. Both Godot and Atomic have their strengths and weaknesses, and are IMO two great open source game engines - but as far as maturity goes, I think the sheer size of Godot (both in terms of community and git/issues/PRs activity) compared to Atomic says a lot. [0] https://github.com/godotengine/godot https://github.com/godotengine/godot [1] https://godotengine.org/devblog https://godotengine.org/devblog [2] https://github.com/AtomicGameEngine/AtomicGameEngine https://github.com/AtomicGameEngine/AtomicGameEngine [3] https://github.com/urho3d/Urho3D https://github.com/urho3d/Urho3D
- ComodoHacker 9y agoFirst game title in the showcase contains obscene language (in Russian). Not very pleasant to see.
- viseztrance 9y agoNot the one who downvoted you, but if you understand what's written there have you considered letting them know? (email, github or maybe twitter)
- tagrun 9y agoReferences on the name https://godotengine.org/article/godot-history-images https://godotengine.org/article/godot-history-images https://en.wikipedia.org/wiki/Waiting_for_Godot https://en.wikipedia.org/wiki/Waiting_for_Godot > In fact, Godot was just a code-name for what would be something else, a more general purpose engine with a proper UI instead of a set of assorted tools. We knew it would take a long time, so we used a name based on a play by Samuel Becket to represent that feeling. Eventually the name would change to something with a connection to our home country, Argentina.
- viseztrance 9y agoHe was referring to one of the showcased games on their website.
- tagrun 9y agoAh, missed that, thanks
- userSumo 9y agoHere is a video [0] showcasing the new features of Godot 3.0 [0] https://www.youtube.com/watch?v=XptlVErsL-o https://www.youtube.com/watch?v=XptlVErsL-o
- SeanDav 9y agoAlmost all of this is impressive and looks great, but personally I am not a fan of "VisualScript". https://godotengine.org/article/godot-getting-more-languages https://godotengine.org/article/godot-getting-more-languages I have yet to see a "Visual" programming environment that is even close to as efficient as normal programming. I may well be in a minority on this one, but surely time spent on this would better be spent in other areas like improving C# interoperability etc? I know the intention does not appear to be to replace actual programming, but I think their use-case is weak and put in because it was someone's pet project. Not trying to be ultra-critical, but just think this is wasted resources, which could be better spent elsewhere. Interested to see what people think about this. EDIT: Should have phrased this better. So to be clear, I am asking what people think about the relative merits of Visual Scripting and not what part of the project has a higher priority.
- sspiff 9y ago> Not trying to be ultra-critical, but just think this is wasted resources, which could be better spent elsewhere. This is an open-source project. Priorities are defined by what the developers need for their own projects, and if there's any time left by what they want to spend their spare time on. I for one am glad that someone decided to contribute a C interface that is friendly to most languages with C/FFI capabilities to allow people to more easily integrate whatever language they want, rather than providing tighter integration with a single language that is a second class citizen on all the platforms I care about. If you think C# integration is more important, go ahead and contribute to it. They have just recently managed to get enough money through Patreon to pay for their main developer to work full-time on the engine, and they are planning to let patrons vote on which features get worked on for the next release. So if you don't have the time or drive to contribute good C# integration, you could donate and vote for C# integration to be picked up by the core developer(s).
- SeanDav 9y agoThis really was not the main thrust of my question. It is completely obvious that the developers, or anyone else contributing can work on any aspect they choose. I am far more interested in a discussion about the merits of a Visual Scripting approach. I should probably have worded my comment better and have added a small addendum.
- SalahEddine 9y agoWill this threaten Unity's/UE4 market ?
- frik 9y agoI follow Godot since it got open sourced some years ago - great project. What scripting language beside visual scripting does it support? Lua? Squirrel? or only C++? (I saw some screenshots there: https://godotengine.org/features https://godotengine.org/features )
- Operyl 9y agoCurrently, not including the upcoming 3.0 release, it’s their own flavor called GDScript. http://docs.godotengine.org/en/stable/about/faq.html http://docs.godotengine.org/en/stable/about/faq.html http://docs.godotengine.org/en/stable/learning/scripting/gdscript/gdscript_basics.html#doc-gdscript http://docs.godotengine.org/en/stable/learning/scripting/gds... Edit: it’s worth noting some of the hard stances they have in that faq have changed since then. 3.0 (coming soon) has C# support.
- Mikeb85 9y agoTheir stances haven't really changed, they introduced GDNative which is a system that loads shared libraries using a C API, which has made it easy to add and use any language (I'm guessing the original idea was to make using C++ in your game easier). Some guy made C# bindings with GDNative, so they're making it optional with the release. There's other languages you can use as well. GDScript is still the 'main' scripting language.
- Operyl 9y agoYeah, but it’s not as much of a “you’re crap out of luck” as it was in 2.x land. They’re approving of it enough to announce it as a feature now.
- tagrun 9y agoThat's plain wrong. C# bindings have nothing to do with GDNative, it's a module on it's own, integrated pretty well and unlike things that can be bound through GDNative, Mono module will be a part of Godot itself. https://github.com/neikeq/GodotSharp https://github.com/neikeq/GodotSharp
- gradstudent 9y agoI hope the quality of their pathfinding code is not indicative of the overall quality of this engine: https://github.com/godotengine/godot/blob/master/core/math/a_star.cpp https://github.com/godotengine/godot/blob/master/core/math/a... They scan the entire open list and recompute the heuristic value for every node all so they can find the min. Yikes! Seriously guys, implement a binary heap. It's easy and your pathfinder will be much faster for it!
- makepanic 9y agoWhy not open an issue with references on how to improve it? It's open source. You could even go ahead and submit a PR with your improvements.
- gradstudent 9y agoI could indeed and thank you for the suggestion. However I'd need to be motivated enough to spend time submitting tickets (good tickets!) to a project I'm not currently invested in. Which I am not. I guess the point of submission is to draw attention to the library and garner community comments. I feel I've made my contribution to that discussion.
- dan00 9y ago> I feel I've made my contribution to that discussion. Well, I didn't like the tone of your comment. People building such an engine obviously aren't incompetent, just because one part of the code you looked at wasn't as optimized as possible.
- Xoros 9y agoAnd writing a comment here instead of in an issue where the developers might hear of it is not a smart move either :) He should definitely have done it elsewhere.
- mrmekon 9y agoThis was pretty much my experience with getting a project posted in HN. A bunch of bugs reported in the HN comments, and not a single issue opened on GitHub. Since I wasn't the one who posted it, the only reason I found the bug reports is because a friend recognized my username on GitHub, and sent me a message about it. I would have preferred bad tickets to total silence...
- jhasse 9y agoDeponia's iOS port (https://itunes.apple.com/us/app/deponia/id953047550?mt=8 https://itunes.apple.com/us/app/deponia/id953047550?mt=8) uses this. That should really be on top of thow showcase page https://godotengine.org/showcase/ https://godotengine.org/showcase/
- 0xBABAD00C 9y agoCan anyone experienced in this space comment on how this tool compares to the Cocos2d family (e.g. Cocos2d-x), specifically in regards to 2D games?
- otterpro 9y agoFrom what I see, it's a complete IDE and one can make a game without any other dependencies, which is really cool. It would make an awesome tool for Ludum Dare. Does anyone know how it compares with other OSS game IDE/engine? Uses Lua for scripting: * Moai * Defold (Candy Crush) * Love2D Python-based: * pygame Javascript: * Phaser (only targets browser/HTML5) Others: * Cocos2d-x
- joeld42 9y agoAnother "unity-style" one to watch is Atomic Engine (https://atomicgameengine.com/ https://atomicgameengine.com/), which is from Josh Engebretson, who came out of the GarageGames scene and is one of the most prolific and talented developers I've ever seen. Atomic is structured very similar to unity, has a C++ core and C# and Javascript bindings, but unlike unity the C++ core (as well as the editor) is open source so you can modify and customize it if needed.
- veli_joza 9y agoAgree about Atomic, it's great peace of tech that builds on top of Urho3D, another very solid 3D engine. Unfortunately, both game engines' lead developers (Josh and Cadaver) have recently retired, so projects' future is uncertain at this moment.
- bmer 9y agoIt's worth noting that Godot 3.0 will be supporting C#, Python, etc.
- reificator 9y agoTheir documentation goes into detail on why they dropped Lua, Squirrel and Python in the first place. It's interesting that they'd then bring Python back.
- robrtsql 9y agoI don't think they intended to bring it back-it's just one of many languages that you can use now that Godot can use native code for scripts.
- CaptSpify 9y agoI'm using this right now to write a game. I've never developed a game before, so I don't have any comparison with other engines. So far I like it. I'm not a huge fan of the IDE, but the gdscript language isn't hard to pick up at all, so I just avoid it and use vim. I'm excited to see where it goes as it feels like a great starting point for people like me who want to make a hobby game, but also feels polished enough that I could see a professional using it.
- noidexe 9y agoI'm using it every day at work. I come from phaser and am currently working as a game designer. Godot was just what I needed since I wanted a visual editor(it makes lots things quicker) but still be able to code(unlike construct, for example). I also needed to test my stuff on mobile and Godot can export to android in seconds. The scripting language took me a week to learn and two to feel confortable with, though I think people coming from c#/java have a harder time getting used to its simplicity. 3.0 will support c# and potentially anything that compiles to a dynamic library thanks to GDNative. I contrast, Unity to me always felt like this huge Rube Goldberg machine I have to set in motion to do anything so if you want something that starts up in seconds and has fewer dependencies I really recommend it.
- bigtunacan 9y agoI've used Godot a few times and found it pretty promising. The visual editing is a cool added value that wasn't there the last time I used it. It's not something I would personally use, but I've worked with artists/designers who have made use of similar tools with Construct and GameMaker. The last time I started work on a new game I checked out Godot again, but ultimately I went back to GameMaker Studio. I really think Godot has some real potential, but having the console exports for PS4 and Xbox One are pretty critical.
- hesdeadjim 9y agoAgreed, I can't consider any engine that lacks support for the modern consoles. Given how brutal the industry is in general, you can't afford to leave money on the table by giving up potential console ports. That said, I understand why it's not supported currently. The process to get anything done on Xbox or PS4 is laborious to say the least, and I am unsure how an open source project would accomplish it without being a standalone entity like Unity, Epic, or GameMaker.
- Rusky 9y agoMonogame, for example, supports PS4, Xbox One, and Switch, while still being run as an open source project.
- minifigmaster 9y agoI'm just so happy the Godot is at the top of HN.
- n-gauge 9y agoI recently bought construct 2 after trying many open source alternatives. The issue I have with some of the open source stuff is when you want to use pixel art - it insists on re scaling either the camera (in a 2d scene) or the pixel art itself. It's a turn off that stops me from going any further with the product. Hopefully Godot doesn't exhibit this behaviour.
- breadbox 9y agoGodot does default to scaling sprites, but you can choose to not have it do that. You can also change the default on a per-project basis.
- ecthiender 9y agoGreat to see Godot on the front page of HN. I have used Godot, and it's a great piece of software. I have not used any other open source game engine that is so feature rich, and you can build very complex games in it. And deploy them on all the popular platforms (mobile and desktop). Okam studios (Juan's company again) uses it for all their work. I personally know the founder/owner of Godot, Juan Linietsky. He is a great and a very down to earth guy. It was amazing to be in his company. Here's a shout out to Juan, for your and your team's great work! Keep.it up and thank you for giving Godot to us! PS: Juan if you're reading this, I'm Anon.
- kaishiro 9y agoA little late to the party on this one, but does anyone have experience using Godot to build a multiplayer game? I'm thinking more along the lines of 4 player coop, not MMO. I've been playing with a few different libs, mainly trying to stay in the JS space, and as far as I can tell the only real way this is achievable is via websockets. I have no illusion of this game ever making even beer money, it's really just for fun and to see if I can, but I'd still rather not blow a bunch of time running down the wrong roads. I was just about to start playing with Love2D, since they have some UDP socket libs, but I'd be starting completely new in Lua, so if Godot had similar capabilities and people have seen success there I'd be open to that instead.
- michus 9y agoGodot has built-in high level networking for multiplayer purposes. I don’t remember if it was starting from 2.x, but definetly in 3.c
- oregontechninja 9y agoI recently got into Panda3d[1]. The Blender3D[2] (an excellent general purpose computer graphics tool) exporter is amazing. I don't even have to change the materials really. The "autoshader" uses blenders normal, emit, spec, and diffuse maps, along with the alpha from PNG's right out of the box. Amazingly easy to use if you like python as well. If you're tired of GUI based game engines, I highly recomend taking a look. EDIT: There is also a physically based shading set-up. But my laptop isn't good enough to play around with it. [1]: http://www.panda3d.org/ http://www.panda3d.org/ [2]: https://store.blender.org/ https://store.blender.org/