Hacker News new | ask | show | jobs
by ValleyOfTheMtns 2622 days ago
If you want to dabble with prototyping games, Godot is the way to go in my opinion.

I've played with Unity and Unreal a bit, each with their own pros and cons, but for me Godot is the one I found most intuitive and easy to test new ideas with. Worth checking out.

2 comments

What are your thoughts on Lua Love [1] ? I have done some Unity, Unreal, Pygame, Processing, etc. And Love has always had the shortest time from idea to running sketch.

[1] https://love2d.org/

I've found Lua engines like Love to be great for prototypes and gamejams but when it comes to implementing a full game its not as good as the full blown engines like Unity/Godot.

If your game has more than trivial amount of UI, particle-systems, 3D, etc then it becomes very time consuming. To write and tweak a full blown responsive UI like in-game windows, alerts, animations etc with code-only is not trivial. With a full-featured editor like Unity and Godot, UI, particles, tweened-animations and such becomes much easier as you can keep interactively tweak things around until its perfect without the edit-code & recompile cycle.

There's also King's "Defold" engine which uses Lua and has a visual editor but the last time I used it over a year ago, I found there was almost no in-game UI libraries so although making the prototype was fun and relatively easy adding UI became difficult.

I've always thought Love looked good, but I've never tried it myself.

Do you only use it for quick prototyping of ideas and then move over to a different engine if you like the idea and want to expand?

I imagine the answer could come down to the scope of the game.

It is more for quick sketches that are interactive, or designing animation that would be too difficult in Blender or After Effects. While folks do make full blown games with it, for me it is more of a interactive animation workbench.
Thanks for the tip. Did you have a chance to compare with gamemaker?
Godot doesn't enforce any structure like game maker does. Additionally Godots default language (Gdscript) is awesome and intuitive, whereas gml doesn't really feel like a real language (argument0-15. Come on)
>Additionally Godots default language (Gdscript) is awesome and intuitive, whereas gml doesn't really feel like a real language (argument0-15. Come on)

I agree with the comparison to GML, but whether one finds Gdscript intuitive depends on one's existing background. I personally found it frustrating because I was used to C/C++, but with time I can see getting used to it. It's not a bad language by any means.

Also, both Game Maker and Godot share the problem of their scripting language being essentially a form of lock-in, since no one is going to use Gdscript anywhere else, and any code you write it in is no longer portable. Also, they use their own shader script rather than GLSL, which means your shaders aren't portable either.

Godot can support different languages (unlike Unity or Game Maker), but IIRC that requires recompiling the engine and may break the editor.

from Godot's documentation:

>Finally, one of our brightest additions for the 3.0 release: GDNative allows scripting in C++ without needing to recompile (or even restart) Godot.

https://docs.godotengine.org/en/3.1/getting_started/step_by_...

Given that Unreal only now added such support via https://molecular-matters.com/products_livepp.html partnership, I wonder how Godot is actually doing it.
Well... scratch one complaint, then.
>Godot can support different languages (unlike Unity or Game Maker), but IIRC that requires recompiling the engine and may break the editor.

Personally i've been using this for godot:

https://github.com/GodotNativeTools/godot-d

It's been working well for me.

I compile my code and include it as an .so in my project. No recompiling the editor.

Godot has three kind of languages integration :

- GDScript : included by default

- C# : you have to download the Mono version of Godot (and install the Mono SDK)

- Any other language (Rust, Python, C++, D, etc...) : using GDNative

(- And of course you can also directly modify the engine source code in C++ if you need super low level modifications (like writing your own render engine))

<not the original commenter> It's a bit more advanced and complex then gamemaker - when I used it a few years ago a more direct comparison would have been a 2d specialist Unity (although it does 3d as well, and this may have significantly advanced since I last used it)
I did some youtube tutorials on it and also have a repo with a dictionary if you want to start translating some of your knowledge https://github.com/coppolaemilio/gamemaker-godot-dictionary
I have used both. You can easily prototype games with either, but Gamemaker becomes more difficult as the game scales up. Both use proprietary languages, but you can go around that in Godot with a little know-how. Also, Godot does 3D, its UI is a bit cleaner, it’s free and runs on Linux.