Simple yet powerful gamedev
March 15, 2020 12:15 PM   Subscribe

Want to get into game development, but find C++ to forbidding, Unity too HUGE, and Game Maker too expensive and prone to charge you hundreds of dollars for every specific export system? Then you don't really need to wait for Godot, which is only 27 megabytes (around 52 with Mono support), is both free as in beer and under the MIT License, uses a Python-like syntax with options for C#, C++ and others, runs on Windows, macOS, Linuxes and BSDs and even Haiku, exports to all of the above plus iOS, Android and HTML5, and is pretty easy to use.

Godot also lets you do weird things like editing code while it's running, which is a surprising trick the first time it happens.
There's a good number of videos on how to use it on YouTube: Official Channel - Kids Can Code - Gamefromscratch
posted by JHarris (18 comments total) 66 users marked this as a favorite
 
I believe the correct link is godotengine.org.
posted by a complicated history at 12:29 PM on March 15, 2020 [2 favorites]


Mod note: fixed link, carry on
posted by jessamyn (staff) at 12:29 PM on March 15, 2020 [2 favorites]


It is also available via Steam for free. If you prefer installing it that way, search for Godot Engine.
posted by primal at 12:57 PM on March 15, 2020 [3 favorites]


You can get this to build and run reasonably well on a Raspberry Pi, if you're looking for a smol platform. Though a 4GB Raspberry Pi 4 is not exactly light on processing power.
posted by scruss at 1:18 PM on March 15, 2020 [2 favorites]


It's very good, very similar to Flash back in the day and fully-featured.
posted by bookbook at 1:44 PM on March 15, 2020


It looks nice, but I note there don't seem to be any major game releases based on it yet. One thing I find reassuring about Unity is that it's now been pretty well battle-tested with a lot of well known games. Godot is newer. There is a made with Godot category on itch.io though.

I hate to see yet-another-programming-language for products like this, but at least they have some explanation. Lua was too low level, Python too hard to embed. Also they support C# so if you want to write in a mainstream language it's at least possible. More importantly it means you have a hope of using some third party libraries if you need them.
posted by Nelson at 1:48 PM on March 15, 2020 [1 favorite]


I am interested in this. I teach in a graduate program on education, design, and tech, and am the program's games fanatic.

I want the students to make games. Right now we're using Twine to get 'em started quickly and with some key ideas (branching narratives, interactivity, worldbuilding, etc), but they need something more powerful.

Coding is a limit. Most have never opened a command line.
posted by doctornemo at 2:28 PM on March 15, 2020 [5 favorites]


This is interesting and I’m stoked to check it out. I’ve been bouncing between the intimidating hugeness of unity and the semi janky-ness of pygame and arcade so this seems like a really good medium ground. Also I know c# pretty well so I’m stoked about this! (I’m not a game dev I just have a few play projects I’m working on just for the hell of it and keep bumping up against the tools, ya know?)
posted by capnsue at 3:01 PM on March 15, 2020 [2 favorites]


I bought Unity in a Humble Bundle years ago, thinking "yes, this is what I'll do this summer" (or after this project, or, or...), and while regular life is the chief limiting factor in my learning curve, my imagination has no idea where to start. I always wanted a primer of "game X uses game/programming concept A, B, and F" type pointers, like an encyclopedia or atlas of game programming.
posted by rhizome at 3:24 PM on March 15, 2020 [7 favorites]


A super helpful thing to do is find sample code for a game that's similar to what's in your head and then just bash on it until it's closer to your idea. (That's what professionals do, really. No one starts from an empty project.)
posted by seanmpuckett at 3:53 PM on March 15, 2020 [2 favorites]


The one gotcha with Unity is that there are a lot of ways to do things. Most of them work (at least for small projects without performance constraints), but many aren't very good ideas when perf/maintainability matter. Of course, which ones are the good ideas are somewhat subjective. I've found I've learned the most about how to do clever things in Unity from looking at the source code of assets my teams have purchased from the Asset Store over the years. Some of them are also quite bad, but many are extremely good and do clever things you can learn from.

Then again if you're just hacking something together to experiment with ideas, not doing the most optimal thing is probably okay, so long as you know you're just hacking something together!
posted by Alterscape at 4:31 PM on March 15, 2020


Finally back. I've used Godot a fair bit in the past couple of months and it's really nice. One interesting fact about it is the IDE/development system is, itself, written in Godot, it can do things other than games. And when I configured it for Android (involves installing the JDK and Android tools) and built my prototype, it just worked without fuss! And they're iterating pretty quickly on it right now, having just added optional variable type checking and possibly, in the future, optimization based on those types.

There's not been any high-profile Godot projects yet, but I think that's only a matter of time. I feel like it's possible to make a home, so to speak, in Godot, to use it as my "base" gamedev platform. Anyway, that's why I posted it here, I hope some of you find it useful.
posted by JHarris at 6:53 PM on March 15, 2020 [5 favorites]


Thanks for posting this! My son is currently taking a VR/AR class and learning Unity so being able to send him links like this is a quick and easy way for me to encourage him.
posted by Brocktoon at 7:46 PM on March 15, 2020 [1 favorite]


This is interesting. There is a GoDot Accessibility Plugin, in the works, though I've not messed with it yet.
posted by Alensin at 7:55 PM on March 15, 2020


How neat! I once wrote an Escape the Room engine in AS3/Flash, which is not that useful any more. Now all the cool Escape the Room kids are using Unity, which seems massively overpowered for what I want to do. This seems much more up my street (not that it is underpowered (I dunno), but perhaps not such a long path to come grips with, and also OSS to boot). Thank you for posting!
posted by Sparx at 8:59 PM on March 15, 2020 [2 favorites]


Wow, all the Godot projects that I've seen have been pretty basic, almost VN level stuff. I had no idea it was such a huge, actual engine.
posted by klangklangston at 10:44 AM on March 16, 2020 [1 favorite]


https://www.theverge.com/2020/3/2/21158189/core-free-game-creation-tool-pc-youtube-twitch
Haven't tried this yet, Verge article big on hype but I think a good idea and we know from experience (RPG Maker, Super Mario Maker) that "engine with tons of user-friendly prefab gameplay mechanics and art/assets" can work for many people.
posted by cape at 12:05 PM on March 16, 2020


A super helpful thing to do is find sample code for a game that's similar to what's in your head and then just bash on it until it's closer to your idea. (That's what professionals do, really. No one starts from an empty project.)

I have a copy of Game Maker Studio and this is my basic strategy. Most of the code in my game is based off of various tutorials I've found on youtube.
posted by Mr.Encyclopedia at 12:15 PM on March 16, 2020 [2 favorites]


« Older The cat pictures will continue until morale...   |   The rise and fall of Egypt's Cotton Empire Newer »


This thread has been archived and is closed to new comments