For 2022, my goal is to release a commercial game. To that end, I plan on doing a game jam every month and blogging about lessons learned so I can get some feedback loops running as well as getting used to failure.
My submission this time was Great Maw for the 106th mini-jam. It’s a rough start, but it’s a complete game that has a beginning, middle, and end.
The theme was “frogs” and the game jam constraint was “limited time” so I decided to do the bare minimum with a creative hook:
Great Maw is a platformer where you have to assemble a boat to escape an island, all while the camera zooms out to a giant frog that will eat the island if you don’t escape in time.
Nailed it. Easy to get up-and-running, room for infinite improvement, and novel enough to be worked on.
I had the MVP on itch.io 12 hours before the deadline, It was with placeholder assets and very rough, but I did have a game to submit, so I could only go up from there. 🌚
Unfortunately, a lot got left out:
It was easy to create something functional, but there’s a chasm of work I missed here.
Thankfully the whole point of this exercise was to discover pain points! So here’s all the stuff I want to fix for next time:
After the Jam, I watched Adam Pype’s talk on how to make lots of games and he doesn’t use any placeholder art! I was befuddled by this at first, but now I understand: placeholders cause work to go backward.
With that basic Godot icon for everything you’re not getting an accurate vision of your game, rather, you’re seeing something fake that’ll have to be heavily adjust later and leaving things in this incomplete state isn’t actually progress, since you’r game isn’t shippable with placeholders. It’s all just very demotivating and unessecrily for smaller projects.
So I’ll give “no placeholders” a try and see if my workflow improves. Sending work backwards is usually an anti-pattern.
Spritesheets are a great idea if you want to create a common set of game assets exported as one large file. So of course I decided it would be a great idea to use Krita’s animation time-line to separate all assets by frames and try to export them as individual png
’s, which just proved awkward and unworkable because the files don’t get named for you and I was hunting for the options.
My problems became compounded when loading those assets into the game and realizing: I don’t have my hot keys mapped for Godot! I use a split ergonomic keyboard that incentivizes programming all sorts of shortcuts so common actions become second nature, but once again I found myself pressing C-z
when I mis-dragged something. You should NEVER have to press a two key chord in order to perform something as common as undo
!
In terms of tooling, I also forgot to write a one-liner for deploying to itch.io. It’s a small thing, but being able to fire off a build and know it’ll be ready for submission at any time is a huge time saver and sanity improvement
I still suck at Godot Control nodes.
Part of this is a domain problem, with user interfaces the devil tends to be in the most minute details, but sometimes it feels like shoving a square peg in a round hole, like trying to center things with the centerBox
and then none of the elements inside it show up no matter how many expand
flags I check.
Maybe 4.0 will fix it. 🌝
The two critical parts of this project hook and I really bungled both at the last minute.
I’ve recently been giving design more credit for the success of games and software projects, since visuals are how the system provides feedback to the user, but for horror I think it’s especially important since the player won’t “adopt” the character they’re playing as if they don’t feel like they’re receiving the same stimuli and feedback.
If you’ve ever seen a snake move about and been immediately alerted or looked over a ledge you’ll know what this feels like. A little movement and an idea of scale can give a lot to seemingly mundane experiences.
So I’ve gotta crack open the animator’s survival guide, make some tweens, and screw around with resolution until I get a hang of this.
I shipped. But I shipped with placeholders so there’s plenty of room for improvement here. :w