Making a Game in Godot with Lots of Experience

Alphabets Sounds Video

share us on:

In this lesson, the author shares their experience of using the Godot game engine to remake their brother’s game, “Sky Balloon Freakout.” They detail the development process, including implementing controls, adding challenges, creating artwork, and polishing the game, ultimately highlighting Godot’s user-friendly and versatile nature for game development. The project culminated in the creation of “Sky Balloon Freakout DX,” showcasing the author’s growth and creativity in game design.

Making a Game in Godot with Lots of Experience

The Godot game engine, once an obscure open-source project, has recently gained significant attention. Known for its node-based system and capabilities in both 2D and 3D game development, Godot is a powerful tool for game creators. It has been used to develop successful games like “Brot Doe Keeper” and the upcoming “Do Drop Dynasty.”

Is Godot a Good Game Engine?

Many people wonder if Godot is a good choice for game development. As someone familiar with this engine, I decided to put it to the test by remaking my brother’s game, “Sky Balloon Freakout.” This project allowed me to explore Godot’s features and share my experience with you.

The Challenge: Remaking “Sky Balloon Freakout”

A few months ago, my brother challenged himself to create a game in just one day, resulting in “Sky Balloon Freakout.” The game involves navigating a balloon through clouds while dodging fighter jets and bullets. Inspired by his work, I decided to create my own version with a unique twist.

Developing the Game

We started by setting up a new project and implementing basic movement. Initially, nothing happened because I forgot to add input mapping, which is crucial for player controls. Once corrected, I smoothed out the movement to make it feel more natural and added a slight rotation effect for direction changes, although it needed refinement.

Next, I established boundaries to keep the player within the game area. With basic controls in place, I added a scoring system. The score increases over time, but resets if the player goes out of bounds. A “Press to Start” prompt was also included to initiate gameplay.

Introducing Challenges and Artwork

To add excitement, I introduced an enemy that follows the player. If it makes contact, the game resets. I also worked on bullet mechanics, ensuring they spawn randomly for added challenge. Although the initial artwork was basic, I planned to enhance it later.

Creating artwork is my favorite part of game development. I transformed my brother’s balloon character into a vector graphic and designed additional elements like bullets and jet fighters. Adding a drop shadow effect gave the visuals a sticker-like appearance, enhancing the game’s aesthetic.

Final Touches and Polishing

To complete the game, I designed a sky background inspired by a popular animated movie, added textures, and applied a vignette effect to focus attention on the player. I also created a logo, naming the game “Sky Balloon Freakout DX” to signify its uniqueness.

Polishing the game involved refining the menu, creating a cloud shader for the background, and adding sound effects. I introduced slow-motion effects and visual elements like exploding triangles upon player death. These enhancements, along with varied facial expressions for the balloons, made each playthrough feel distinct.

Conclusion

Remaking “Sky Balloon Freakout DX” was a rewarding experience, especially since it was for my brother. This project demonstrated how user-friendly and versatile the Godot engine is for game development.

Learning Resources

If you’re interested in learning to code, consider exploring Brilliant, an educational platform offering lessons in math, programming, AI, and more. Their interactive courses are highly effective, and I recommend their “Computer Science Fundamentals” course for those interested in programming and algorithms. Brilliant offers a 30-day free trial, and the first 200 viewers can receive a 20% discount on their annual premium subscription by visiting brilliant.org/goodg.

Thank you to Brilliant for supporting my game development journey. For more of my work, visit my website at gus.fun, where you’ll find interviews, FAQs, and more. See you next time!

  1. What aspects of the Godot engine do you find most appealing for game development, and why?
  2. Reflecting on the process of remaking “Sky Balloon Freakout,” what were the most significant challenges you faced, and how did you overcome them?
  3. How did the experience of creating artwork for the game influence your perception of the overall game development process?
  4. In what ways did adding a scoring system and boundaries enhance the gameplay experience for “Sky Balloon Freakout DX”?
  5. How did incorporating elements like slow-motion effects and exploding triangles impact the game’s replayability and player engagement?
  6. What lessons did you learn from this project that you would apply to future game development endeavors?
  7. How did the support from platforms like Brilliant contribute to your learning and development as a game creator?
  8. What advice would you give to someone considering using the Godot engine for their first game development project?
  1. Activity 1: Create a Simple Game Prototype

    Start by setting up a new project in Godot. Implement basic player movement and input mapping. Experiment with adding a scoring system and boundaries to keep the player within the game area. This hands-on activity will help you understand the core mechanics of game development in Godot.

  2. Activity 2: Design and Implement Enemy AI

    Develop a simple AI for an enemy that follows the player. Implement collision detection to reset the game upon contact. This activity will enhance your understanding of AI behavior and collision mechanics in Godot.

  3. Activity 3: Create Custom Artwork

    Design your own game assets using vector graphics tools. Transform basic shapes into characters and objects, and apply effects like drop shadows to enhance their appearance. This activity will allow you to explore the artistic side of game development.

  4. Activity 4: Add Visual and Sound Effects

    Incorporate visual effects such as slow-motion and exploding triangles upon player death. Add sound effects to enhance the gameplay experience. This activity will teach you how to use Godot’s animation and audio features effectively.

  5. Activity 5: Polish and Test Your Game

    Refine your game by improving the menu interface, adding a background shader, and testing for bugs. Gather feedback from peers and iterate on your design. This activity will help you understand the importance of polishing and testing in game development.

Here’s a sanitized version of the YouTube transcript:

Good! What started out as an obscure open-source project has taken the spotlight in recent years. With its node-based system, 2D and 3D capabilities, and an impressive logo, it’s honestly amazing how powerful this free game engine truly is. It’s also been used to create successful games like “Brot Doe Keeper” and the upcoming “Do Drop Dynasty.”

But the question that most people have is: is it any good? Unlike my other programming videos, I’m actually very familiar with this engine, so instead of just telling you why I like it, I decided to challenge myself to remake my brother’s legendary game, “Sky Balloon Freakout,” and I’ll let you be the judge. Let’s get started!

A couple of months ago, my brother wanted to challenge himself to make an entire game in a single day, and thus “Sky Balloon Freakout” was born. The idea is to float around the clouds and dodge incoming fighter jets and bullets trying to take you out. Ever since he made it, I’ve been curious to see what it would look like if I created my own version and put my own spin on it. So yes, I’m remaking a game inspired by another game.

We created a project, and it was time to implement some movement. It was actually pretty simple; I just added some code, but nothing was happening at first. I realized I forgot to add the input mapping, which is kind of important, and now it works! Next, I wanted to smooth out the movement a bit to make it feel less stiff. I applied some adjustments, and voila! I also added rotation when moving in a certain direction, but it looked terrible. I just wanted the character to lean in that direction, not do a full somersault.

Next, I created a boundary system to prevent the player from leaving the room, which is important. Now we have the basic controls of the game: you can move and go out of bounds. Great! It’s time for some fun stuff like scoring. I added a score meter at the top and a “Press to Start” text to indicate that you need to press space to play. Your score increases every second, and if you go out of bounds, it resets.

Now, we need an enemy—something scary that will make the player want to run away. This is the best placeholder artwork I could come up with. I made the enemy follow you around, and if it touches you, it resets. I also started working on a bullet. It looked a bit odd, but don’t worry; we’ll replace the art later. I made it so that the bullets spawn randomly, which is quite chaotic!

Now we almost have the main core loop of the game, except that the bullet just went through me. It was time for my favorite part of any project: creating the artwork. I turned my brother’s balloon character into a vector version, and after a few iterations, I was happy with how he looked. I then created the rest of the artwork, including a bullet and a jet fighter. I added a drop shadow effect to give it more texture, making it feel like a sticker floating in the sky.

After that, I created a sky background that resembles wallpaper from a popular animated movie. I played around with some textures and added a vignette to keep the focus on the player. Overall, this stuff looks really nice, except for the text. Speaking of which, you can’t have a game without a logo, so I called it “Sky Balloon Freakout DX” because it’s special.

I polished up the menu and created a cloud shader for texture in the background. At this point, it was all about polishing, which has become my favorite part of these projects. I started adding sound effects and made it so that when you die, you go into slow motion. I created some triangles that explode out of you when you die, and after some adjustments, it looked much better. Lastly, I added transitions and more sound effects, including different facial expressions for the balloons to keep each run feeling unique.

And that’s pretty much “Sky Balloon Freakout DX”! It was incredibly fun to remake a game that already exists, especially since it was for my brother. I always enjoy using this engine, and I hope it shows how easy it was to use.

If you’re struggling and would like to learn how to code yourself, check out a word from today’s sponsor, Brilliant. Brilliant has thousands of lessons on foundational and advanced math, programming, AI, neural networks, and more, with new lessons added each month. Their interactive lessons are proven to be six times more effective than passive learning, like just watching random lecture videos.

One course I really like is “Computer Science Fundamentals,” which helps with decision-making, writing programs, and algorithms. I highly recommend trying everything Brilliant has to offer. There’s a 30-day free trial; just visit brilliant.org/goodg or click the link in the description. The first 200 viewers will get 20% off Brilliant’s annual premium subscription.

Thank you to Brilliant for supporting the channel and my game development journey! If you want to check out more of my work, visit my website, gus.fun, where you’ll find interviews, FAQs, and more. I’ll see you next time!

This version removes any informal language, potential distractions, and maintains a professional tone while preserving the essence of the original content.

GameA structured form of play, usually undertaken for entertainment or fun, and sometimes used as an educational tool, often involving a set of rules and objectives. – Developing a video game requires a deep understanding of both programming and storytelling to create an engaging experience for players.

DevelopmentThe process of creating, designing, and programming software applications, including games, from conception to deployment. – The development of the new app involved several stages, including planning, coding, testing, and deployment.

CodingThe act of writing instructions for a computer to execute, using a programming language. – Coding is an essential skill for software developers, enabling them to create applications and solve complex problems.

EngineA software framework used to build and develop video games, providing necessary tools and features such as rendering, physics, and scripting. – The Unreal Engine is popular among developers for its powerful graphics capabilities and versatility in game development.

ProgrammingThe process of designing and building an executable computer program to accomplish a specific computing task. – Programming requires logical thinking and problem-solving skills to effectively translate ideas into functional code.

GraphicsThe visual components of a computer program or game, including images, animations, and visual effects. – High-quality graphics can significantly enhance the user experience in video games by making them more immersive.

ControlsThe interface elements that allow users to interact with a computer program or game, often involving input devices like keyboards, mice, or game controllers. – Designing intuitive controls is crucial for ensuring that players can easily navigate and enjoy the game.

MechanicsThe rules and systems that govern the gameplay of a video game, defining how players interact with the game world. – Innovative game mechanics can set a game apart by offering unique challenges and experiences to players.

ResourcesAssets and tools available to developers for creating software, including libraries, frameworks, and documentation. – Utilizing open-source resources can accelerate the development process by providing pre-built components and solutions.

AlgorithmsA set of well-defined instructions for solving a problem or performing a task, often used in programming to process data and perform computations. – Efficient algorithms are essential for optimizing the performance of software applications, especially when handling large datasets.

All Video Lessons

Login your account

Please login your account to get started.

Don't have an account?

Register your account

Please sign up your account to get started.

Already have an account?