Developing a Platformer: Progression, Saving, and Level Transitions in Godot - Day 15
In this video, I continue my journey into game development with Godot by further refining our practice platformer game. My goal is not to build a full and polished game but to explore and learn key aspects of game development. Today, I focus on adding functionality for level progression, saving, and transitioning between scenes, with an emphasis on how these systems work in the Godot engine.
I start by reviewing the current state of the platformer, where we’ve already implemented features like parallax backgrounds, NPCs with dialogue, basic combat, and lighting. From here, I highlight the next steps: adding a win condition for levels, ensuring players return to their correct position on the overworld map, and setting up an approach for saving and persistent state across the game.
Throughout the session, we explore several technical challenges, including:
Ensuring players can complete levels and seamlessly transition back to the map.
Devising solutions for saving player progress and game-world states.
Debugging editor integration, handling node interactions, and managing in-game events like player movement triggers.
Implementing dialog customization and fixing issues with NPC interactions and variable persistence.
I also dive deep into Godot’s scene management systems, discussing how to handle reusable instances, maintain application state, and trigger scene transitions. By experimenting with different solutions, I aim to create a system that’s both functional and promotes learning key programming concepts.
Finally, I reflect on the approachability of this type of development for future projects, such as making levels revisit-able or permanently beaten depending on game logic. Each decision is informed by the type of gameplay I want for this practice platformer, with inspirations drawn from classic titles like *Super Mario World*.
This session showcases the importance of refinement, testing, problem-solving, and even stepping back when things don’t work as planned. It’s all part of the iterative process of learning game development.
🔗 Check out my Twitch channel for more streams: https://www.twitch.tv/saebyn
GitHub: https://github.com/saebyn
Discord: https://discord.gg/N7xfy7PyHs