Godot Wild Jam #66
I’m signed up for Godot Wild Jam #66, with a theme of “Escape”– which is pretty straightforward, as far as game jam themes go. I do think it’s quite cool that GWJ has accessibility as a rating category, and I’m going to try to see how much of the accessibility guidelines I can meet.
The jam goes for nine days. My current thinking on timing is: have something basically working by early next week, then use the rest of the time to polish the graphics, UI, and audio.
Currently listening: The Sandman Vol. 2: The Doll’s House by Neil Gaiman 📚
(actually, re-listening to Act I of the Audible adaptation of The Sandman, but I’m in the section that corresponds to The Dolls House)
Finished reading: Against Technoableism: Rethinking Who Needs Improvement (A Norton Short) by Ashley Shew 📚
#screenshotsaturday
My son and I are still making tweaks to the roguelike that resulted from following @selinadev@indiepocalypse.social’s tutorial: a new spell, visual effects, weapons, and new enemies. I enjoy the collaboration, so we’ll probably keep it going for a while.
The most notable new feature is a minimap! It still needs work, but I’m happy that I was able to get it working. This is my first time writing Godot code that generates a graphic from scratch. Every pixel in the minimap represents one tile in the current dungeon. Right now, it draws the entire graphic (walks the entire array of tiles) on every turn, which seems excessive and dumb. On the other hand, it’s performing OK, so “fixing” that might be a premature optimization.
In theory, the next Godot Wild Jam starts next Friday, I was thinking I might give that a try.
Currently reading: Against Technoableism: Rethinking Who Needs Improvement (A Norton Short) by Ashley Shew 📚
One of the more annoying differences between gdscript and Python: that Python capitalizes True
and False
, and gdscript does not.
Finished reading: Bea Wolf by Zach Weinersmith 📚
Currently reading: Bea Wolf by Zach Weinersmith 📚
Checked this out for the kid, but I’m a grown-up and I can read it first if I want to.
Finished Listening: Story by Robert McKee 📚
Donelike
I did the thing! I finished all 13 parts of Selinadev’s Godot 4 Roguelike tutorial.
There were a good number of things that were new to me: procedural map generation, AStar navigation, custom resources, and using those custom resources to compose entities. I’m happy with the knowledge gained by working through this.
The end product is… not my cup of tea, really.
On roguelikes generally: When I was a kid, one of the computers available to me had nethack installed. I poked around a bit, but it never really clicked for me (and the same computer had SimCity! ). One turn-based roguelike I do play these days is Hoplite. I think what I like about Hoplite is that it plays almost like a board or puzzle game, the challenge is in reasoning about how to get through the level safely.
On this particular game: after adding armor, weapons, and the power-ups available when you gain a level, combat is super easy, and the challenge curve stops when you get 8 levels deep. I appreciate the 1-bit art style, but it kills me a bit that a game that includes fireballs and lighting attack’s doesn’t make those things visually interesting events– baddies take damage, maybe die, and a message is logged. This isn’t really the author’s fault, since she adapted a tutorial that builds a classic terminal/console game. It’s just a shame this leaves behind a lot of the cool stuff Godot can do.
My son/project manager designed some new enemies and other graphics to be incorporate in the game, and I want to honor that effort by integrating those assets and ideas. I’ll probably spend another week doing that and maybe looking for other ways to increase the usability and fun factor.
I generally don’t care much for professional sports, but I definitely feel some nostalgia for the time before sports betting was everywhere.
Anti-deliverabity
I received a (legit) notice of eligibility for this Verizon settlement in my junk email folder.
I know there are best practices and a class of professionals focused on email deliverability. I wonder if the opposite exists? A service for companies who are legally obligated to send out notices of some sort, but would prefer they not actually be received.
(to be clear, I’m not claiming that’s what’s happening here)
Currently reading: The Treasure of the Black Swan by Paco Roca 📚
Finished reading: Game Programming Patterns by Robert Nystrom 📚
Honestly, I skimmed quite a bit– some parts seem more geared to engine developers. It’s probably good to understand some of the thinking that goes into engine development at least, even if I suspect I’ll never be doing that myself.
This is definitely a book I’ll go back to for reference. The whole book is available online.
#screenshotsaturday
I’ve finished part 11 of roguelike tutorial. Now, you can delve deeper into the dungeon, and the player gains experience points and levels. I’m excited about the next part:
Our character can now go deeper into the dungeon. However, right now all the floors are identical in their challenge. The RNG will mean that they will encounter different mixtures of monsters and items, but it still lacks progression. So next time we will look at a way to increase both the difficulty and the reward the deeper the player goes
This history of gamification within games was more interesting than I expected. These are the game-y things like experience points, levels, and achievements that are often used to make non-games more fun or addictive.
The article is mostly judgement-free, but does include some criticism of the effect these ideas have had on games:
This is really the heart of why I think gamification harms player agency: gamification kills curiosity. If you don’t get any points, items, or achievements for the thing, the thing doesn’t matter. When the whole game is built around extrinsic rewards, you lose the player’s intrinsic motivation along the way. There’s simply no room for explorative curiosity in such loops. It becomes a “content treadmill” for both players and the developers.