Super Note progress report

2025-06-11

This is a cookie banner, but this page has no cookie. It's just in case someone needs a banner. If you do, go on and inspect the code! I don't have an oven anyway (for cookies), but I can make waffles or crepes. Mmm, crepes.

In the Solar Skipper post, I talked about switching from Godot to a smaller, harder better faster stronger game engine.

It's been 4 months using high_impact. That's a win compared to my experience with Löve2D or Raylib. I especially like how it supports only one format of each asset type, which reduces its size even further.

And what's best, unlike during most of the last decade, the Super Note project is progressing.

Choosing high_impact

Several reasons for that game engine:

High_impact is perfect for 2D action games (side-scrolling or topdown), or other games with a bit of work.

As of now, I only made one change to high_impact: adding a subtractive blend mode. It's great for the tavern or caves which need moody lighting.

Super Note in a dark tavern with other Notes

It has a special music format which is limited in many ways, but compact.

Underengineering

For games, I feel like deliberately "underengineering" can help me avoid premature optimization. Try to forget complicated design patterns, and build the game without them. Examples:

Underscoping is a related concept: only add to the game what you can add, and then remove things that don't click. Examples:

I also have a paper notebook with smaller pages, so my to-do lists are shorter term. That forces me to break goals into even smaller tasks than before. Great when you have not much free time for the project.

Emergence
or: nerding out about game design

At first in Super Note Adventure, systems weren't interacting much with each other. For example, it is an immutable fact that coins hover in midair and you can shoot really high. I didn't search for possible interactions until recently when I added the ability to shoot at coins to make them fall down. The result was interesting:

The level was fun even without enemies. Now, with the same mindset, let's break down how enemies should work:

  1. Enemies are like the hero: they're both "actors".
  2. The hero dies if they touch an enemy. (basic gameplay)
    Note: Super Note can't stomp on enemies to kill them, because they have a lightning bolt crystal thing on their heads.
  3. Enemies change direction when they meet each other. (mario inspiration)
  4. If you touch an enemy you die (2). If you fall off a cliff you die (basic gameplay). So when you touch an enemy, your death animation is accompanied by you falling off. (associating ideas & mario inspiration)
  5. Because of (1), when enemies die, they fall off too (4).
  6. Therefore: falling enemies (5) bounce against other enemies (3), and maybe back towards you, and you die (2).
  7. Also, when you die, you have a similar behavior to 6 (1) that make you bounce against several enemies (3) like a pinball.

Did you say pinball? Well, looks like we have a fun system!

Note that I didn't spell it out until now, it was more a "fuck around and find out" thing. But here is how that process seems to work:

I tried to speed up that process with an object matrix: comparing everything with everything else one by one. But that was a bit confusing to sketch out, and it misses the positioning/state context, so I went back to the old empiric method. It may be very slow, but it works!

So yeah, that's the progress on Super Note Adventure. My end goal is to finish (or more exactly be satisfied by the state of) that project some day.

Conclusion

And now for another screenshot. It may look pretty, but there's not much to do in the game for now. On that, see ya in the next one!

Super Note in a golden sunlit prairie with an Elektrik enemy, crates and coins