Open comments for this post
so finnaly i made all the finnaly changes and now iām about to ship my first project
Open comments for this post
š® Devlog #8 ā The Finish Line! Pecko is Complete š„āØ
Today was one of the biggest days of this projectāI officially finished Pecko!
The last feature I worked on was the tutorial dialogue. I wanted the game to feel welcoming, so instead of showing all the instructions at once, I created a typewriter effect where the text appears one character at a time, just like someone is typing. While implementing it, I learned how await, create_timer(), and the timeout signal work together to pause the code briefly before displaying the next letter.
Like every game development session, things didnāt work perfectly on the first try. I ran into the āInvalid assignment of property ātextā on a base object of type ānull instanceāā error because my script couldnāt find the correct Label node. After checking my scene tree and correcting the node path, the dialogue started working as expected.
I also spent time improving the dialogue itself. Instead of plain instructions, I gave Pecko a bit of personality:
āPecko loves shiny gold and never leaves a coin behind! Help him collect every single coin to complete the level.ā
I also added a helpful tip to let players know they can press Esc at any time to open the Pause Menu.
While experimenting, I tried to make only the word Esc appear in a different color. Thatās when I discovered that a normal Label canāt color individual words and that RichTextLabel is the proper node for styled text. Even though I didnāt implement it yet, I learned something new about Godotās UI system.
Finally, after weeks of learning, debugging, fixing bugs, adding coins, enemies, checkpoints, timers, a pause menu, settings, notifications, and polishing the gameplayā¦
Pecko is complete.
This project taught me far more than just how to make a platformer. I learned how scenes connect together, how signals simplify communication between objects, how CanvasLayer keeps UI fixed on the screen, how to debug Godot errors, and how to turn an idea into a playable game.
This isnāt the endāitās the beginning. My first game is finished, and Iām excited to build even bigger and better games in the future.
š Project Status: Completed (ps - really satisfied with it because while coding i got my python revised as gdscript kind of similar to it though few things were that took me realy long time to understand but its fine iām new to godot iām still learning )
Open comments for this post
Devlog ā The Settings Menu Strikes Back āļøTodayās goal was simple: add a settings menu to the game.At first, I thought it would be a quick task, but it turned into one of those classic āwhy isnāt this working?ā moments. After setting up the settings button and trying to connect everything, I kept running into errors. The menu refused to behave the way I expected, and I spent a good amount of time checking node paths, signals, scene hierarchy, and scripts to figure out what had gone wrong.It was one of those bugs where everything looked correct, yet the game had other plans.After carefully going through the setup step by step, I finally found the issue, fixed it, and⦠it worked! š The settings menu opened exactly as intended, and seeing it function properly after all that debugging was incredibly satisfying.Todayās biggest lesson wasnāt just about creating a settings menuāit was about staying patient while debugging. Every error forced me to understand Godot a little better, and solving it felt like a small victory.Progress made today:Added the settings menu.Tracked down and fixed the setup error.Successfully got the settings menu working.Learned more about debugging UI and scene connections in Godot.Every bug solved is another level unlocked as a game developer. On to the next feature!
Open comments for this post
Devlog #5 ā Pause Menu, Audio & More! š®Made some solid progress on my platformer today!Whatās Newāøļø Added a Pause Menu that can be opened with the Escape key.ā¶ļø Added Resume functionality to continue the game.š Added a Restart button to reload the current level.š Added a Back to Menu button.ā Added a Quit button to close the game.šŖ Added coin collection sound effects.š„ Added a hurt/death sound effect for the kill zone.šµ Added background music to make the game feel more alive.ChallengesThe biggest challenge was understanding how pausing works in Godot. I had to learn how CanvasLayer, get_tree().paused, scene changes, and button signals all work together. I also spent time debugging audio issues and figuring out where different sounds should be controlled.Whatās Nextāļø Add a Settings menu.š Allow players to toggle music and sound effects on and off.⨠Continue polishing the gameplay and UI.Iām still learning Godot and game development, but every feature I finish helps me understand a little more. Looking forward to sharing the next update!
Open comments for this post
Devlog ā Day 2: UI Improvements & Coin CollectionToday I focused on improving the core gameplay loop and adding user interface elements to make the game feel more complete.What I worked onAdded a coin counter that updates whenever the player collects a coin.Connected the score system to a Label inside a CanvasLayer, ensuring the UI stays fixed on the screen even when the camera or player moves.Continued refining the coin collection logic, making sure the score increases correctly when a coin is picked up.Began implementing a Congratulations message that appears after collecting all the coins. While working on this, I encountered a node path error (Node not found), which helped me better understand how Godot searches for nodes relative to the current scene.Explored how to use CanvasLayer to display UI elements such as score, win messages, and future game notifications.Learned about different ways to create a countdown timer, including using Godotās built-in Timer node and creating a timer with _process(delta).ChallengesThe biggest issue today was accessing UI nodes from the correct script. I learned that using an incorrect node path causes Godot to search relative to the current node, resulting in a āNode not foundā error. Understanding the scene tree and node hierarchy made it much easier to troubleshoot these issues.Next StepsFinish the āCongratulationsā screen after all coins are collected.Add a countdown timer to create a time-based challenge.Implement a āTimeās Upā or āGame Overā screen if the player runs out of time.Continue polishing the UI and overall gameplay experience.Overall, today was focused on connecting gameplay mechanics with the user interface. Although I ran into a few errors, they helped me gain a better understanding of Godotās scene tree and node system, making future UI development much easier.
Open comments for this post
Devlog #3 ā Start Menu, Coin Win Condition, and a UI Challenge š®
Made some nice progress on my Godot platformer today!
I added a simple start menu, so the game now begins from a proper title screen instead of jumping straight into gameplay. It already feels much more like an actual game.
I also implemented a win condition. Once the player collects all the coins in the level, the game automatically returns to the start menu. Itās a simple feature, but it completes the gameplay loop and makes the level feel finished.
The biggest challenge today was the coin counter UI. I wanted to display the number of collected coins on the screen using a CanvasLayer and a Label. It sounded straightforward, but I ran into issues with node paths, CanvasLayer setup, and null instance errors while trying to update the label from my game logic. After moving things around and experimenting with different approaches, I realized I still need to clean up how my GameManager communicates with the UI.
So the score display isnāt finished yet, but I understand the problem much better than when I started.
Even though everything didnāt work on the first try, today was a reminder that game development is often about debugging and understanding how different systems connect together.
Progress today:
ā
Added a start menu.
ā
Player returns to the start menu after collecting all coins.
ā
Started implementing a coin counter UI.
š ļø Still debugging the score display.
Open comments for this post
so basically i added slimes as enemy and it was my first time using libresprite and oh god even though it was so simple i loved it best part of making slime is that as beginner you donāt have to draw the walking sprite sheet that feels hard and another few things i added is that while playing you can use A key as Left Arrow key and D key as right Arrow key and W key and SpaceBar as jump key and another things i have added is the frames for jumping, and running and also when the knight enters the kill zone that basically the slime it falls off the platform and also when right is pressed it turns right and when left is prrssed it turns left and i have done same thing with slime it changes left to right when it collide with some body
Open comments for this post
so currently i made few more tiles here and added moew coins and also iām planing to add enemy here so that it look cool and that asset pack have those and i will use everything that those sprite sheeet or asset pack contain and another thing i was wondering to add iām sure but a pop up coin when the player enters in scene ? well iām not sure about that pop up thing never used before but will try it