Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Starcatcher Devlog

Pico32 Game - Wizard Hat Incremental Game
I started working on this about a week ago as part of the Pico32 Jam collaboration! My entry will be a cute incremental game about helping a wizard win a duel.

Your character (who will NOT be Mario) will pick up stars and bring them to a collection point to power up the wizard's spells. Some of those spells will be summoning spells, and those will let you summon upgrades.

June 26th, 2026:

Having a lot of thoughts on how to execute an incremental game given the constraints I’m working with. Obviously the joy is typically found in the thrill of Number Go Up, but I honestly have pretty limited space on my screen for numbers, especially if I use the custom font. It’d also be possible to embed the numbers in the 3d game world, either literally or symbolically I suppose. The original intent was that as you progressed, you were decorating the hat to make it more powerful, and more like the classic Fantasia-style stars-and-planets wizard hat. I think we can still do that (as long as I continue to find rendering optimizations) but I’m struggling to find elegant ui solutions to make it happen. Since there’s another wizard dueling game, there was the idea that the purpose of upgrading the hat was to make your wizard win their duel. This creates a natural decision between putting resources into combat spells or upgrade-summoning spells, but of course the default answer is to always upgrade first, so that’s not very interesting.

July 7th, 2026:

Added between last post and now, but not in the last weekend:

  • Fixed lighting calculation, which revolutionized the game’s appearance
  • Added 2 dynamic light sources
  • Added upgrade system where you decorate the hat
  • Removed textured triangles completely, replaced pentagram with polygon version of crescent moon sigil
  • Fixed some movement bugs (mostly)
  • Added additional gameplay layer in which the wizard below you fights a series of simple duels with increasingly powerful opponents
  • Added “duckling follow” behavior for stars
  • Added cute spinning star animation when player is stationary

Recently added:

  • particles as stars fall
  • camera follow (this was surprisingly difficult to set up until I gave in and stopped modulo’ing the player’s radial angle)
  • moon charges up to show mana level
  • hourglass to show time until next spell
  • in-world ui for upgrades
  • spell orb is a light source
  • spell orb fires towards opponent upon cast
  • sky color change upon cast
  • eyes indicate remaining hp
  • orbiting sun as second light source, leaves a glittering trail (not pictured)


The lighting issue was just a bit of carelessness/ignorance on my part. I didn’t read my sources very closely. Dynamic lighting was actually always possible because everything is calculated each frame anyway. Adding simple dithering was fun, and allowed me to be more expressive with my lighting palettes.

---

Tiny polish things I did: the star notches on the hat were always missing a pixel of width because of how I was defining their width, so now if the dot product is close enough to 1, I round it up to exactly 1 (you can see this in the first gif when you line up with a notch, you get the full sprite) Similarly, I liked how the hourglass looked scaled with sspr based on camera distance when you are far away from it, but when you’re close it was too distorted, so when the player’s angle is close to 0.75 and their distance from the center is high, it switches to spr for clean pixels

July 19th, 2026:

I’ve made some progress. Gameplay changes:

  • You now bring stars to the orbiting sun, rather than the stationary moon, to store stars
  • Sun is now a ui element displaying star count
  • The moon now stores mana for spells
  • Automatic consumption of stars for mana is now an upgrade rather than on by default

Tweaks:

  • Saved 15% cpu by cleaning up the projection function (removed several hundred comparisons per frame, precalculated repeated expressions)
  • Rewrote hourglass drawing function to use sprites rather than ovalfill, saved abunch of tokens

Sept 12th, 2026:

Time to plan some changes! Last playtest confirmed a number of suspicions. What the game needs:

  • Meaningful choices
  • Feedback
  • Clarity of options

I think having the duels happen immediately, in parallel with play, and with minimal feedback is not great. I'm thinking about splitting the game into two phases: an incremental game and an auto-battler.

Alternatively, some good UI work and tutorialization could help with feedback and clarity, but I'm still not sure it would help make decisions more meaningful except in the sense that it would make the current options clearer.

What I will definitely do, likely today, is revamp the way numbers are handled. I'm going to use dw817's string-based number functions to allow much larger quantities and exponential growth. This will likely require a number of knock-on changes to things like writing numbers, cost ramps, etc

---

Ok, I did in fact implement big numbers (32-bit integers, so up to over 2 billion), as well as fiddling around with some less-than-ideal lighting. Notably, it is not so easy to get the value of the number back to pass into functions and things right now, so I'm thinking about the best ways to do so (probably a getter function that has a maximum value, so if the number is over 30k it just returns 30k etc)

September 28th, 2026:

As you can see here, late game gets a little silly. I want to tweak the upgrades a fair bit as we enter October, as well as add proper UI and a bit more feedback for clarity and ideally, juice. 


I'm also thinking about adding more weight and presence to the dueling mechanic, so it's clearer what's going on and it feels better to win. Now that the lore is getting more fleshed out, the final boss has got to be Malatron (which means there has got to be a final boss, and it's gotta be fun to get there - right now the late game is a kind of frantic slog).

Basically, thinking of adding pauses between duels and some sort of intro graphic for opponents. Now, with little space left in the spritesheet and almost no token space remaining, I'm going to have to get clever for this.

Support this post

Did you like this post? Tell us

Leave a comment

Log in with your itch.io account to leave a comment.

fyi - pico8 numbers are natively 32bits, eg no need to ‘implement’ big numbers