Resources I Used to Learn Godot!


In this post, I'll share the best of the resources I used to learn Godot for developing FEED. 

"Your First 2D Game" Godot Documentation

https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html

I always prefer text-based tutorials because it allows you to go at your own pace, and this tutorial from the Godot documentation is really spectacular for that. It introduced me to all of the basic features of Godot that I reused over and over and over again throughout the development of FEED. Things like signals, timers, collisionbodys, scenes, nodes etc. I would not have fully understood until I followed this tutorial. I fully believe that this is the absolute best starting point for someone interested in learning Godot.

How to Make A Platformer In Godot

If you prefer video-based tutorials, this tutorial by Kaan Alpar was also helpful for clarifying things about velocity and gravity in Godot.


Scene Manager

A Scene Manager is a system that determines which part of the game is running at which time, and also determines how and when you go from one part of the game to the next. For example, how do you get from the main menu to the credits or level 1? How do you pass information about the state of the game at the end of level 1 to the beginning of level 2? I needed a scene manager because of the hunger mechanic in our game, and the currently chomped villager and current state of the hunger bar needed to pass between levels.

This video by Bacon and Games is amazing and his solution for this worked really well for me. I ended up doing a simpler version of this since I knew my game would not scale very far. But I took a lot of inspiration from this. He makes longer form videos, but if you're a beginner it's worth putting in the time to watch because he explains every component.


Shoot Bullets, or, Creating Projectile Entities and Adding them To Your Scene

In FEED we have archers. Any good archer needs to shoot arrows. I wanted the player to be able to see the arrow coming and dodge it, so I couldn't use an entity-less hitscan approach I needed to actually spawn an arrow object, with a hitbox and sprite and then add it to the currently running scene. This tutorial by Arith metic cleared up all the confusion I had about doing that, especially the details about global vs local position when adding nodes to our scene via script.

Composition Over Inheritance

I've made quite a few games in my past but somehow I had never heard this expression. This video completely changed the way I looked at game development.

I ended up using components for health, damage, navigating menus, adding weather effects and probably more. Amazing!


Polishing That Takes 5 Seconds But Makes a Big Difference

This video by StayAtHomeDev just covers some settings but they really made a difference for me!



ParallaxBackgrounds in Godot

I used this short tutorial by Nesi to add the forest background to our levels.


VS Code With Godot

I used this tutorial to connect VS Code to Godot. Theoretically this should work very well since it uses an LSP to have accurate intellisense prompts, but I encountered quite a few issues. Notably, when connecting signals to functions in the Godot editor it would consistently delete all of my code and replace it with an older version. This is because Godot tries to automatically insert the signal callback function into your code and this feature works perfectly with the built-in script editor. However if you use an external editor, Godot for some reason won't just append the new function to the bottom of the existing text and will instead replace the existing text with whatever version of the file it has stored in the built-in script editor. So annoying! Alas, I have a few VS Code plugins that have radically altered my workflow regardless of what language I'm writing in so I had to find workarounds for this and any other problems I had. If you have this problem with VS Code, just know that you can simply hit "undo" and the code will be restored exactly as it was before Godot injected the function. I will say, that anytime I had a really critical glitch with the external editor feature, I could just restart Godot and VS Code and it would work perfectly for a while after that. Annoying, but not life-ruining, and Godot has such a fast start-up time that bugs end up not being that big of a deal.

Because of this and other problems, I honestly can't recommend using an external editor with Godot but if you really like VS Code for some reason (like I do) this is the way to use Godot!

Freesound.org

This website is the source of all of the audio assets that were not custom. It's extremely easy to search with a great tagging system, as well as a an easy way to filter by license. It also keeps a history of all of your downloads and their licenses, so it's easy to find all of the audio you downloaded later on in a project and you don't have to worry about forgetting to credit something.

https://freesound.org/

Get FEED

Leave a comment

Log in with itch.io to leave a comment.