With the Easter weekend leaving a trail of hot cross bun crumbs and foil egg wrappers behind us, it’s time for me to provide an update on what the phloup team got up to in the last month.
As mentioned in the last post, I had a long three-week shift which really knocked the wind out of me. No rest for the wicked(ly lacking in sleep) though, because within a few days of finishing it we had to complete a submission to ScreenNT’s game development grants. If you’ve been following the blog since the beginning you’d know that we applied for a grant late December last year. After discussions with the team over at ScreenNT we decided to pull that application as we kind of shot a little too low. The grant that we applied for was for conceptual development of two micro-prototypes, but by early Feb we had already decided pretty definitively which game concept we wanted to pursue this year. So it felt a bit disingenuous to then go back and acquit the creation of a different prototype that we had no intention of developing.
All of which is to say that we have now applied for a more appropriate prototype development grant that will hopefully give us a bit of cash flow to pay Louise and broaden out our available software suite (looking at you, Spine2D pro). Honestly we’re really happy with how we improved the existing application and made it a bit more legible and just a bit tighter in how we explained the concept and intent of the game. Fingers crossed it pays off! 🤞
Outside of grant writing, we’ve been chugging along at the game’s systems. From my last post, Adventures in Automata, you may know that I’ve been mucking around with procedural generation. There was a somewhat an expected issue that came out of the use of Tilemaps as a way of generating top-down levels: they’re good for general collisions, but when you want to do differing behaviour per tile or affect a single tile visually it’s either a real pain, or actually impossible. So instead, I’ve implemented a system that uses the Tilemap to perform auto-tiling, then instantiates an individual wall scene at each cell coordinate and tells it what collision shape(s) coordinates and sprite region it should use. As far as I can tell it’s performant for the level sizes we need, and it means I’m able to much more easily implement an event bus system, which is near the top of my list of things to do next.
Speaking of things to do next, I’ve started using a couple of plugins which I think would be useful for people who share my issues with procrastination/focus:
G-Kanban: A Kanban style task board. Since Godot is also able to build software (e.g. Godot itself is built using Godot!) this kind of plugin that seamlessly integrates into Godot is more common than you’d think. I’ve been using it to track daily tasks with a really basic setup consisting of backlog, today, and completed lists. I think I’ve mentioned before, but I really like not having to switch software while in the zone, so this being integrated fits that philosophy.
TODO Manager: Another great tool to keep you in the zone. This is something I’d do quite often back in my creative writing days to keep myself going on a particular track. Rather than agonise over the fact I couldn’t find a good adjective, I’d just put <adjective> and then use a search to find all those later and fill them in once I’d gotten the story skeleton down. Same deal here: all your #TODO, #hack, and #fixme! comments are tracked and show up in a tab at the bottom, so that you can go back and address them once you’ve finished up your main task.
And that’s pretty much it for this month! Now that I’m past the most of the technical implementation of procedural generation, I’m playing around with how best to move towards some systemic gameplay. Some of that is the aforementioned event bus system, but I also really have to start looking into enemy AI and how they are going to react and interact with the player. Oh! And Lou is getting closer every day to nailing down the final artistic style of the game but isn’t quite ready to share anything yet, so we’ll hold tight on that for now.
Fun times ahead! Next post will be around the end of April once I’m back off (a thankfully normal) shift. Until then! 🐊
phill.
Comments
2 responses to “Marching On”
The Kanban inside the engine is utter genius!!
One of the big problems we have at work is that we have a multitude of tools spread across (at least) three different ecosystems, and barely any of them are able to speak to each other; the result is a LOT of tasks slipping through the cracks and having to put out fires after the fact. I wish we had the ability to us a simple kanban within our comms package like this.
It’s really good. It’s not unheard of in other engines, but the fact that the UI is so easy to put together means that more of the devs making plugins will do it. Another tick in the box for Godot!