Weekly Game Jam #264, Day 4
August 1, 2022
Read Day 3 Here
Read Day 5, 6, Postmortem Here
I'm participating in the 264th Weekly Game Jam, a recurring game jam on itch.io. The theme this week is "Many Islands". The last few days were spent trying to work on a 3D platformer game to fit this theme, in which the player navigates multiple islands in an attempt to reach an escape ship. Here, I sit back and evaluate how development has been and begin on a new path forward.
When Things Stop Working, Find Out Why
There comes a time in every responsible developer's life where they sit back, reflect on a project that they've been working on, and say "This just isn't working." It could be for any number of reasons - they can't get development off the ground, the customers don't like it, the problem turned out to be far harder than anticipated, etc. And when that happens, the best response is to sit back and figure out why, and perhaps get things going again with a change to project, reallocation of resources, or another strategy.
Such was the case with me - I had this project in front of me that I was getting very little work done on and had very little motivation to complete, despite the ticking deadline. After three and a half days, all I had was a walking sim with boring islands, a boring goal, and water taken more or less straight from another game. Doing a little more work today in trying to model some vaguely more interesting islands, I found my efforts very sluggish and slow-going, and although I could see my goal of ziplining to another island closer within sight, I still struggled with how I would possibly make it fun. Overall, the game and everything in it were boring as sin, and I did not have the energy to make it better in its current state.
So, I asked: what was wrong? What are the issues I'm running into?
- First, I asked myself: am I just unmotivated in general? After all, I was struggling with similar issues in my previous job, and this may well demand that I receive help with my mental or physical health. However, when I look critically at this idea, I would have to say no, I am very much motivated. Not only is there plenty else worthwhile in my life that I am motivated to do, I am motivated to write games. This is my dream career, and always has been, and that motivation has carried me through projects in the past. I want to do work that will accelerate my career in that direction.
- Then, I asked: am I unmotivated to do this game jam? Maybe this is a little more true, since this game jam is small compared to something like Ludum Dare. However, to this too I have to answer no: I am motivated to submit something workable to this jam, and my difficulty in doing so is precisely what is alerting me to this issue in the first place.
- Is it a skill issue - i.e., are you having difficulty actually doing the work to complete the task at hand? This one actually has some merit. This is my first time with the Godot engine, and is also, I have recognized, my very first time attempting to create a true 3D game - everything else I have ever created with 3D models operates fundamentally in a 2D space. And, as I have to admit, I have basically zero experience modeling things in Blender, and my inability to model and design islands is precisely what is preventing my game from becoming interesting.
- Are there any other missing skills? This, I don't think so. I have worked with visual engines before (Unity and Gamemaker Studio), I am thoroughly experienced in OOP (which is how Godot designs its nodes), and I have written games before. So I know I can make something - the question being "what"?
- And as one more question: is my game idea bad? And to this one, I would say that it isn't really. Especially in the context of what I was writing and what I would have ready for the game jam, it boiled down to a platforming/parkour challenge, and while that's certainly been done many times before, it does work at least at a basic level, and I think that the zipline mechanic has the potential to make it interesting, since you can proceed to another island at any point above the minimum height needed to shoot another zipline to it.
From that, I had my conclusion: I am motivated to make something, my idea seems good, I just severely lack some of the skills that I would need to execute it in the way I was envisioning. In a shorter game jam, I would respond to this by submitting an unfinished product with some basic semblance of gameplay, and move on with a new project. But since I have two and a half days left, I have time for another option: start over work on my game and make it work in 2D, where my skillset is far more fleshed out.
Retooling My Game For 2D
There are a few ideas in my game brainstorm - in particular, the islands being alive and migrating/swarming - that lend themselves better to 3D than 2D. One of these ideas made it into the plan for the jam, which is that the escape ship would be forced to move around relative to the player and would therefore need to indicate its location via a signal flare. If the ship stays in a static location, or there is another way to find it that can be expressed in 2D, that is no longer necessary.
As for navigating between islands, it would be pretty easy to can swimming as a viable strategy if the islands are designed correctly, and allow island navigation exclusively via zipline. When brainstorming this, I recognized two ways I could formulate the idea in a 2D side-scrolling context:
- I keep a virtual 3D grid of islands on the ocean, and use a mathematical formula to determine what islands the player can reach from their current island and height, and where the zipline would land. The islands would appear on a separate map screen or minimap, and the ship is at the island on the top right.
- I keep the islands in a purely 2D x/y plane, and ziplining is simply a matter of aiming toward the next island. The ship is at the island furthest to the right.
The former does allow multiple paths to victory, while the latter is easier to implement, so I think I'll be doing the latter for this jam. For both of these ideas, I can display a targeting reticule on the destination island to let the player decide exactly where they will land, eliminating the need to actually see the island in the distance at all times.
And with the game now thoroughly in 2D, I can now, instead of trying to use 3D modeling tools I've never used before, can use 2D asset tools I'm much more familiar with, such as Aseprite and GIMP. I did give a quick thought of the possibility of also switching engines to PICO-8, the 2D focused Lua fantasy console I used before, but I think it would still be a good idea to use Godot - honestly the only thing I think I'd need to figure out is how to draw a rope particle system, and there's probably a tutorial for that online.
With the rest of the day, I put together some sprites. This took a little longer than anticipated, but went relatively smoothly since, ya know, I actually knew how to do sprite work. Here's what I ended up with at the end of the day:
I still need a few more frames for the main character (and honestly, perhaps a different main character), as well as some tiles for water and the escape ship, but this seems like a great groundwork for actually putting together the game!
And that's day 4! Join us next time for when we start with a fresh Godot project and actually make some 2D islands!