Welcome back to my devlog series for Dewdrop Dynasty! This game is a retro-inspired Metroidvania with modern features, set in a whimsical world reminiscent of Paper Mario. After nearly three years of development, I realized it was time for a major update. Let me walk you through the process.
Looking at the game footage from two years ago compared to now, the visuals haven’t evolved much. The art style is simple, so making it visually appealing is crucial. Even the mechanics I initially programmed in Godot need refinement. It’s time for a complete overhaul, but I want to do it right without rushing.
Inspired by Sean Spalding’s advice, I decided to open my game every day, even if I didn’t make changes. This approach helps maintain familiarity with the project. I spent the first day reorganizing files and optimizing code. Although tedious, this step was essential for getting back into the right mindset.
The original HUD used a heart system like The Legend of Zelda, which felt generic. I replaced it with a flower wheel inspired by Yoshi’s Story. Now, taking damage results in losing a petal, and you can collect seed upgrades for more health. I also added visual and audio effects to enhance the impact of taking damage, along with a death animation for the player.
The initial movement system allowed running, jumping, crawling, and dashing. I added new abilities like a charge shot with recoil and a rolling mechanic. To address the issue of running out of ammo mid-air, I introduced a front flip animation, which significantly improved the gameplay experience. Future updates might include wall jumping, sliding, or melee attacks.
The old camera system used pre-sized zones, making rooms feel cramped and repetitive. I redesigned the camera system to allow for unique room layouts with triggers for transitions. This change, along with zooming out the camera, gives players more space to maneuver.
Inspired by the concept of locks and keys in Metroidvania games, I added actual locks and keys, along with trapped rooms that require defeating enemies to progress. I also introduced a currency system with magical water droplets, adding another layer of gameplay depth.
In just one week, I made significant progress on Dewdrop Dynasty. Daily engagement with the game proved invaluable. There’s more to come, including a new desert location, gacha machines, a badge system, and a public demo for the Steam Next Fest in October. Stay tuned for exciting announcements!
Thank you to my Patreon supporters for their incredible support. If you’re interested in exclusive content, consider following me on Patreon. See you next time!
Engage in a hands-on workshop where you will redesign a simple game scene using modern visual techniques. Focus on enhancing the art style and making it visually appealing. Share your designs with peers for feedback and discuss the impact of visual updates on player engagement.
Participate in a coding challenge where you will optimize a piece of game code. Work in small groups to reorganize and streamline the code, improving its efficiency. Present your optimized code and explain the changes you made to enhance performance and maintainability.
Collaborate with classmates to redesign the HUD of a classic game. Experiment with different styles and feedback mechanisms, such as visual and audio cues. Create a prototype of your new HUD and demonstrate how it improves player experience and interaction.
Explore the impact of player movement mechanics by designing a series of movement-based challenges. Implement new abilities like charge shots or rolling mechanics, and test how these changes affect gameplay dynamics. Share your findings and discuss potential improvements.
Attend a seminar focused on game design and room layout. Analyze different camera systems and room designs, and discuss how they influence player navigation and experience. Work on creating unique room layouts with dynamic camera transitions to enhance gameplay.
Sure! Here’s a sanitized version of the YouTube transcript:
—
Hey everyone, and welcome back to my devlog series for Dewdrop Dynasty! It’s a retro-inspired Metroidvania that incorporates modern quality-of-life features, all wrapped up in a whimsical, Paper Mario-like world. I’ve been working on this game on and off for almost three years now, and recently, I noticed something. Let me show you.
So, you see this footage? That’s what the game looked like over two years ago. And now you see this? That’s how the game looks now. It’s basically the same, but the problem is that this game needs to look better. When I say “juicy,” I mean really appealing. Given the simplicity of the art style, it’s incredibly important that I make the game visually appealing and as fun as possible.
I mean, look at this screenshot—Paul looks completely uninterested in this boss fight! So, I think it’s time for a complete overhaul. I’m not just talking about visuals; some of the mechanics I programmed during my first months of using Godot are just not up to par.
Here’s the thing, though: I don’t have a lot of time to make these updates, and I don’t want to rush it. I’m going to take my time. I recently watched a video by Sean Spalding, where he said that the best way to work on your game is to open it every single day, even if you don’t do anything with it. This helps you keep track of where everything is, what you’ve programmed, and what’s currently going on with the game.
So, this might be a great way to test that. Our week begins now! I spent most of my first day reorganizing folders, rewriting and optimizing some code, and just getting familiar with the project again. I worked on it a week or so before, but you’d be surprised how much you can forget in just one week’s time.
A lot of my files and folders weren’t named consistently, and I found duplicate files and scripts everywhere. This made tracking things down pretty difficult and annoying. I’m so glad I took the time to organize it, but what an absolutely boring day! This is the stuff that I can’t stand, but it’s pretty crucial if you want to finish your game. Even though it felt like I got nothing done, it was a good start and helped me get back into the right mindset. Hopefully, tomorrow will be a little more productive.
Now that I felt comfortable with the project and did some deep cleaning, I noticed that the HUD was looking a little rough. Originally, the HUD used to be a heart system like The Legend of Zelda. I think nothing looks more generic than having the three-heart system, so I thought it’d be cool to replace it with a flower wheel like in Yoshi’s Story. Every time you take damage, you lose a petal, and you can collect seed upgrades to have more health or something like that.
After a little bit of playing around, I ended up with this new system. Taking damage feels way better now, if that makes sense. I even added a red vignette and a low-pass filter on the music when you get hurt, so you can feel the impact. I also added some knockback damage and finally implemented a death animation for the player, which I’ve been meaning to do for years. I’m pretty happy with how it turned out, but let me know what you think!
The next step for me was improving the movement system. Originally, the player was only able to run, jump, crawl, and dash. I felt like it was time to add some more abilities. The first two that came to mind were a charge shot with a lot of recoil that could launch you higher in the air, and a rolling mechanic. Yes, I know I already had a dash ability, but I like the idea of being able to roll and dash in midair.
I also noticed that when the player ran out of ammo while in midair, there was no clear indication that their clip was empty. Considering that shooting down is a major mechanic in this game, it was getting annoying, and I was missing jumps pretty often. This led me to add a front flip for when the player ran out of ammo, and it was probably the best decision I’ve made with this game so far. All these new abilities, paired with what I had before, make the combat feel so good.
However, I realized that you have to unlock these abilities, so it might be a while before you get to use them all together. I think in the future, I might add a couple more abilities like wall jumping, sliding, or maybe a melee attack, just to ensure the game feels great throughout the entire experience. If you have any ideas, please let me know in the comments!
I’m sure by now you’ve heard of Skillshare, an awesome online learning community with thousands of inspiring classes, especially for anyone who loves learning and wants to explore their creativity. Back when I started getting into game development, I knew that marketing was going to be an extremely important part of it, but I wasn’t sure where to go or how to get started. That’s when I found Gary Vaynerchuk’s “Context is Key” class on Skillshare. It changed the way I viewed marketing and was extremely helpful in launching my game development career. I still use those tips to this day.
I always say you don’t know what you don’t know, and that’s why learning is so important. For the first 1,000 people to use the link or my code, you’ll get a one-month free trial of Skillshare. Check it out and let me know in the comments which classes you enjoyed!
With the updated movement and abilities, you might think I’m all set, right? Well, I actually ran into a pretty big issue. All the rooms I previously built out were now way too cramped for the player. To be honest, this was a problem for a while, but I was too lazy to fix it. However, with the new and improved movement, I had to address it.
You see, the way my camera system was built before involved having big rooms for each location with pre-sized zones that made up the individual rooms. When the player would walk from one zone to another, the camera would lock itself to that new zone, similar to how a top-down Zelda game would do it. The problem with this method was that the zones were pre-built, and I couldn’t easily resize them.
This meant that if I wanted every single room to be a slightly different size, I would have to create a zone size with code for each room. It was a nightmare! The whole reason I created the system in the first place was to quickly build out areas, but because all the rooms were basically the same size, they felt cramped and repetitive. It just wasn’t good; it didn’t feel like a Metroidvania game.
So, I spent the day reworking the camera system. Now, each room has its own layout, and I added some room triggers to take you to the next room. I can’t see what all the rooms look like next to each other, but this is just an easier system. If I want to add triggers or bosses, it’s not going to affect the whole layout. I also made some code so the camera would lock itself to the tileset size, allowing me to make the room whatever size I want. It’s amazing!
Lastly, I zoomed out the camera so the player has more room to jump around without bumping their head every two seconds. Honestly, I’m surprised I didn’t do this sooner.
I have a question for you: what is a Metroidvania in a nutshell? Well, it’s a collection of locks and keys. This doesn’t have to be an actual lock and key; it can also be abilities like wall jumping that lets you reach a new location. I thought, why not add some actual locks and keys? So, I did! I made a key, added some flair, made a door, and added some more flair. What about some trapped rooms like in The Legend of Zelda, where you walk in, the door shuts, and you have to defeat enemies to get a key? Boom, I made that too!
Around this time, I decided it would be beneficial to play some other Metroidvanias. I know, groundbreaking, right? So, I picked up Yoku’s Island Express and Haiku the Robot, and wow, it’s amazing how having an understanding of the genre makes it easier to work on the game. One thing I was really interested in was currency. I know, big surprise! Specifically, how Haiku and Yoku’s Island Express use currency as another collectible to expand gameplay and the world.
So, I added my own currency called droplets. These are special magical water droplets that are super valuable in the world of Dewdrop. You can collect them by fighting enemies or finding chests scattered throughout the world. This will have a much bigger role later on, but I’m keeping that a secret for now.
So, that’s it! That’s all the changes that were made in one week. Well, except for the new desert location, gacha machines, a new badge system, and the public demo we’re working on for the Steam Next Fest in October. You’ll hear a huge announcement about the game in the coming months!
I’m kind of shocked with how much work I was able to accomplish in one week. Sean’s advice really does work—if you mess around with your game every single day, it will help keep everything fresh in your mind.
Here’s a quick before-and-after of how the game looks now. Let me know what you think! If you want to see some of the secret stuff I was talking about, make sure to follow me on Twitter or better yet, follow me on Patreon. It really helps the development of the game, and I show you guys early secret access that only Patreon supporters get.
Speaking of them, I want to give a huge shout-out to my Patreon supporters: Electro PR, Flower, Sergeant James, Albert, Luke, De Duke, Remain, Rye Bread, Skides, and the rest of the wonderful Patreon supporters. You guys are amazing, and I appreciate you so much!
That’s it for me this week. Stay tuned for more, and I’ll see you next time!
[Music]
Thank you!
[Music]
—
Let me know if you need any further modifications!
Game – A structured form of play, often undertaken for entertainment or fun, and sometimes used as an educational tool, especially in the context of computer science and software development. – Developing a game requires a deep understanding of both programming and user experience design.
Coding – The process of writing instructions for a computer to execute, using a programming language. – Coding in Python can be an enjoyable experience due to its readability and simplicity.
Mechanics – The rules and systems that govern the functioning of a game or software application, often determining how users interact with it. – Understanding the mechanics of a game is crucial for creating a balanced and engaging user experience.
Visuals – The graphical elements of a software application or game, including images, animations, and the overall aesthetic design. – High-quality visuals can significantly enhance the user’s immersion in a video game.
Player – An individual who interacts with a game or simulation, often controlling a character or avatar within the digital environment. – The player navigates through the virtual world using a combination of keyboard and mouse inputs.
Movement – The action of changing position or location within a game or software application, often controlled by user input. – Smooth character movement is essential for maintaining the fluidity of gameplay.
System – A set of interconnected components that work together to perform a specific function within a software application or game. – The game’s physics system accurately simulates real-world dynamics, enhancing realism.
Organization – The structured arrangement of code, data, or resources within a software project to ensure efficiency and maintainability. – Proper organization of code files can greatly improve the scalability of a software project.
Currency – A medium of exchange within a game or application, often used to purchase items, upgrades, or services. – Players can earn virtual currency by completing challenges and use it to buy new equipment.
Feedback – Information returned to the user about their actions within a software application or game, often used to guide or inform future actions. – Immediate feedback on coding errors helps students learn programming more effectively.