Day 7


This was the most frustrating day by far, I won't lie. The general game plan for today was prep for the first playtest. I started off tweaking the forest map to get the physics closer to acceptable (walls/physics) and started trying to iterate on a map that "made sense". Once I was feeling good about that I had two tasks, tutorial or setup a spawn manager. The game was feeling really good but there was only 4 swans at a time. I really wanted to have "tall grass" to find more critters.

I decided to go for the spawn manager. I had two options, use a area2d or configure the tall grass through the tilemap. I really wanted to be able to just paint a bush and it work. So I went for the tilemap option.. Oh. Boy. First thing: I caused all of my problems for myself. I distinctly remember earlier in development moving sprites around, scaling them to be smaller or bigger. I knew in the back of my head based on my 3d experience and unity this was bad. But it'll be fiiiiine right? No.

First problem: While setting up custom data for my 16x16 tilemap I realized the calculated player position was way off because I had scaled up the tilemap not realizing I could zoom the camera. Then I had to scale everything else. This.. Broke everything. My movement, ui, and general game feel. I had tuned things for the larger sprites and suddenly it was all 1/4th the size. Our kid has never ran so fast. And also the swans? Super sonic jets. I spent a good 45 minutes recovering, still doesn't feel quiet right but I have a few more days to re tune things.

Second problem: I mentioned I've done a game jam with godot in which I made a very basic 3d platformer, after that jam I was inspired and was trying to write a inventory system like Dredge using the tilemaps. I gave up and dropped godot till now, however this is why I was able to put a tilemap together and knew about the custom data. For this I have two boolean data types. Tall grass is a "bush" aka spawn event, and then I marked surrounding tiles as spawnable terrain. Due to collision the swans couldn't spawn right on the player so I randomly select one of the 9 surrounding tiles and ensure it is a spawnable tile. Then I calculate that tile's global position to then spawn a new swan. I also updated the swans to randomly pick between 4 sprites. This is still placeholder art but I thought the variety would have more Pokémon spirit for my play testers. I spent... Probably 3-4 hours trying to get that global position for 4.2, chatgpt and others repeatedly suggested godot 3.x solutions and basically hallucinated cycling between 3.x solutions. My earliest solution was using map_to_local, but that was spawning swans off screen, it was oddly off by about 40 units consistently. I did discover remote scene tree debugging and embraced using the debugger more, so that will be a very good skill in the future. Finally I asked a dev friend and he was like "Uhhh it should be map_to_local". Another 30 mins of sleuthing, I had accidentally dragged the spawner scene off of 0,0 and that's why the critters were offset.

I am going to stop there as it's getting late. It was a battle of resilience but man is the result really cool and in my opinion.. fun!

Time Spent: 6 hours

Leave a comment

Log in with itch.io to leave a comment.