
Godot Engine – Free and open-source 2D and 3D game engine - malikNF
https://godotengine.org/
======
rothbardrand
This 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
I'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
I'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.

------
noidexe
I'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
I'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
Agreed, 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
Monogame, for example, supports PS4, Xbox One, and Switch, while still being
run as an open source project.

~~~
detuur
Monogame is not so much a game engine as it is an I/O framework. It's got
primitives to get input, to draw on screen and output sound and really barely
more than that.It's much more fair to compare it to SDL than to a full-fledged
engine like Unity. It has some of the elements you need to build an engine,
like asset management and stuff, but it's really bare-bones and expects you to
design all the higher level logic yourself.

And honestly, that's fine. It's 2D only (afaik) and designing your own main
loop is a piece of cake anyway.

The only real problem I have with Monogame is that it's cross-platform only
really in theory. In order to build your games for multiple platforms you need
to use different forks of the codebase, or at least that's how it was when I
tried it.

~~~
Rusky
That's all true, but the point was that it's an open source project (in
governance as well as license) that supports console platforms.

------
phreack
They'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)

------
otterpro
From 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

~~~
bmer
It's worth noting that Godot 3.0 will be supporting C#, Python, etc.

~~~
reificator
Their 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
I 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.

------
jhasse
Deponia'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/)

------
SeanDav
Almost 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
> 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
This 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.

------
userSumo
Here 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)

------
Iv
I 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.

~~~
batat
Good 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
Ok I'll probably give it a try again after the 3.0 release. I really want an
OSS alternative to unity!

------
ecthiender
Great 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.

------
alexlarsson
I 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
Thanks! Worked flawlessly.

------
dmacvicar
It 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.

------
staticelf
I am always amazed by big open source projects like this. It's impressive on
how high quality everything seems.

~~~
Scirra_Tom
Yep me too! The amount of work that goes into something like this is quite
frankly astonishing.

------
zerr
Atomic Game Engine
([https://atomicgameengine.com/](https://atomicgameengine.com/)) also looks
interesting since it supports C++ and C# among other languages.

~~~
Mikeb85
With 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
But 3.0 is still in a very early stage (and several years in slow
development?). Atomic Game Engine seems more mature.

~~~
akien
Godot 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)

~~~
zerr
I see. It is interesting to see the comparison of these two engines besides
languages support. So far the main advantage for me for Atomic is its stable
support of C++ and C# languages compared to Godot's dynamically typed
scripting language.

~~~
viseztrance
Actually Godot supports C++ alongside gdscript. You don't need to wait for
version 3 for it.

~~~
zerr
As I remember it is not quite the first-class citizen in Godot.

------
kaishiro
A 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
Godot 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
I 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/)

------
Heraclite
How 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)

------
nallerooth
Bonus 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
I 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-
Migh...](https://github.com/godotengine/godot/commits?author=Max-Might)

------
gradstudent
I 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...](https://github.com/godotengine/godot/blob/master/core/math/a_star.cpp)

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
Why 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
I 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.

~~~
mrmekon
This 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...

~~~
carussell
The real takeaway here is that the barrier to reporting bugs for your project
is too high.

~~~
TazeTSchnitzel
GitHub has made reporting bugs extremely easy. It's sheer laziness that most
don't bother.

~~~
carussell
Replace _file a bug on GitHub_ with _sign in using Facebook Connect_. Is the
amount of effort it takes really the only conceivable reason someone could
have for opting out? (And regardless, threshold of effort isn't even a bad
reason for not doing something.)

------
strayamaaate
Had 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
There 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
It'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
I 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
> 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.

------
omtose
How'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
The 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
I 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.

------
CaptSpify
I'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.

------
0xBABAD00C
Can 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?

------
n-gauge
I 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
Godot 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.

------
dmacvicar
openSUSE community packages for the editor:

2.x

[https://software.opensuse.org/download/package?project=games...](https://software.opensuse.org/download/package?project=games:tools&package=godot)

3.0 git (not released yet)

[https://software.opensuse.org/download/package?project=games...](https://software.opensuse.org/download/package?project=games:tools&package=godot3)

------
minifigmaster
I'm just so happy the Godot is at the top of HN.

------
Vosporos
Still waiting for it…

~~~
maeln
For those who don't get the reference :
[https://en.wikipedia.org/wiki/Waiting_for_Godot](https://en.wikipedia.org/wiki/Waiting_for_Godot)
:)

~~~
josinalvo
Any good/recommended performances available online?

Allways heard about the play, but never saw it.

~~~
flynnieous
Try [https://youtu.be/izX5dIzI2RE](https://youtu.be/izX5dIzI2RE)

------
frik
I 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
Currently, 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/gds...](http://docs.godotengine.org/en/stable/learning/scripting/gdscript/gdscript_basics.html#doc-
gdscript)

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
Their 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.

~~~
tagrun
That'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)

~~~
Mikeb85
My bad, there was a bit about C# in their article about GDScript on their
website, read it wrong. You're right, took a peek at the code, it's a regular
module.

------
ComodoHacker
First game title in the showcase contains obscene language (in Russian). Not
very pleasant to see.

~~~
viseztrance
Not 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
References 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
He was referring to one of the showcased games on their website.

~~~
tagrun
Ah, missed that, thanks

