Hi everyone!
First of all here is the Game -> 馃數 Circle Pusher 馃煝
I didn't manage to write a Devlog for the past 2 weeks, but I'm taking the time now to write this Post Mortem.
I tried working with the Cycles Theme, and like many others, my mind first went to bicycles. While I do like my bike, I didn't come up with a solid idea for it. The first thing that I added into my notes then was
"Ideas: Two spheres trying to push each other out of a game zone (another sphere)."
So, that's something to work with.
I pulled up the gamer socks and started prototyping.
Goals
I didn't set many goals for this jam, having a good time and avoiding an all-nighter on the last day was all I aimed for 馃榿.
Week 1 - Pushing Circles
I aimed to keep the scope as minimal as possible because I knew I wouldn't have much time in week 1 and wanted week 2 mostly for polish, balancing, and fancy neon visuals. At this point, there was a chance to stick to "Two spheres pushing each other out," but, needless to say, I completely failed on that objective.
Week 1 summarized:
- Struggled to decide whether I needed a RigidBody2D or CharacterBody2D for my circles. In hindsight, it's pretty obvious that all movement is based on physics, so RigidBody is the right call.
- Center force based on a surface texture gradient. Probably the most interesting thing in the game 馃槃. Using a 2D Gradient to define the "slope" of the arena to force the circles towards the center. I had a bit of a struggle converting the circle positions to the texture space, but I got it working in the end 馃憤 (I'll make the source code public after writing this, if someone is interested).
- Making things glow in Godot 4. This turned out to be a bigger issue than I was prepared for. But I learned the following things:
- Godot 4 renders all 2D games currently in SDR, so increasing a color property above 1 does nothing. You have to reduce the HDR Threshold below 1.
- There is now a PR to improve glow for 2D games 馃帀
- Godot 4 always uses the Compatibility Renderer for web exports. There is no glow or any additional shader passes for web exports, resulting in a broken arena outline and no blur effect for my title/end screen.
Week 2 - Scope issues
I've been playing a lot of Brotato, and I'm deep into modding there as well. So, I kind of just went and added a shop system to the game. Much of what's required for this isn't visible. I added an "effects" and "parts" system that allows creating resource-based items for the game.
This is what the data for the Control Panel looks like. Brotato modders will probably recognize this pattern 馃槄
This is very likely the cause of why the game isn't finished at the time of writing.
I now had to make all the properties of the RigidBody variable and ensure that these values work with each other and the play area. If you give the game a shot right now, you will see that this has not happened yet. The only thing I managed to add is the weight of each part.
Conclusion
I once again realized how easy it is to fall into the scope creep pit. But I regret nothing 馃槃. I'll continue working on this for a few more weeks and hope I can make it at least a bit fun, so I can play a round or two with friends and have a laugh at my top-notch sound design. If you're interested in following the progress, maybe give me a follow, and I'll keep you updated on how it's going :).
I at least achieved all my set goals: I had a good time and went to bed early yesterday (there was no way to fix this in one night 馃槃).
Cheers for organizing this Jam 馃挌