Skip to main content

Choosing a Game Engine

·333 words·2 mins

Man, this question, every time.

Ideally I’d like to learn Rust in the process but maybe learning how to make a game and also Rust+Bevy at the same time is a bad idea. Maybe Godot would be better. Free and uses Python. Loads of community. I can learn game dev without learning Rust at the same time. I’m gonna have a lot to learn already.

Kinda sad not to do Rust… I was pretty curious about it and it would be useful for some other ideas I have … but I gotta focus. My goal now is to ship a demo.

Godot it is.

Anti-goal: learning Rust.

First things first, tutorial.

Godot Game Engine

Tutorial Notes
#

Scenes can be objects in the game world, weapons, NPCs or even heroes. They can have children -> Scene Tree. Nodes are building blocks (I guess these are the Components in Entity-Component-System.) Signals -> Observer pattern. Scene files saved as .tscn files… stands for “text scene.” Can change properties on a scene and affect all instances of that scene. Can also change property of an instance. Process: draw a scene diagram (basically a scene tree) then create a scene for each element. Then you can create instances in the editor or programmatically as needed. Projects can mix langs. E.g., you can use GDScript for faster development and C++ for performance. Huh. Microsoft donated to Godot to add C# support. In a script, if you skip the extends ClassName line, it will automatically extend RefCounted class. _unhandled_input() to respond to key presses and Input singleton to check if a key is down.

First 2D Game: Dodge the Creeps
#

“Dead zone.” Project Settings > Input Map tab. For joysticks, a dead zone value of 0.5 means you must move the stick halfway in a direction to get the minimum activation. If you move it 50% of the way you get 0% activation. If you move it 75% of the way you get 50% activation. 100% 100%.