Adding Splash Screens, Main Menu, and Shaders: Learning Godot Game Development Day 3 - Episode 6
In this video, I continue my journey into Godot game development by working on key features for my first project, a Pong game. Specifically, I dive into creating a functional splash screen, implementing a main menu, experimenting with shaders, and exploring custom fonts. Along the way, I share my problem-solving process, discuss best practices, and leverage tools like GitHub Copilot to assist with coding challenges.
We start by working on the splash screen, making it skippable via mouse clicks and key presses. I troubleshoot various input event-based issues and eventually implement a solution that allows for a smoother experience transitioning to the main menu. From there, I design and create a main menu with a simple UI layout featuring buttons for "Start" and "Quit," and test their functionality.
Next, I experiment with shaders, adding a dynamic visual effect to the game's background based on shader scripts sourced from the community. This leads to discussions about shader use cases, applying materials, and organizing resources properly in Godotβfor instance, working with nodes and ensuring background elements are properly layered.
I also dive into customizing UI fonts by importing and setting up a pixel art bitmap font for the main menu to make it visually unique. While working through the challenges of character spacing, monospace limitations, and font import issues, I share tips and lessons learned.
Finally, I reflect on using development tools like VS Code, GitHub Copilot, and Google for troubleshooting, as well as the balance between learning and productivity when relying on code-generating tools. This is a relaxed, hands-on coding session, showcasing both the technical and creative aspects of indie game development while emphasizing the value of iteration and experimentation.
π Check out my Twitch channel for more streams: https://www.twitch.tv/saebyn
GitHub: https://github.com/saebyn
Discord: https://discord.gg/N7xfy7PyHs