Attack of Excalius
A Scratch platformer with hand-drawn sprites and a boss fight I never balanced. The first thing I finished.
- Scratch
I opened Scratch on 14 September 2020, at eight years old, and Attack of Excalius is what came out of it. A platformer. Every sprite drawn by hand, badly, with total conviction.
It is the oldest thing in this archive and it stays here permanently.
The problem
I wanted to make a game. There was no problem statement, no user, and no requirement beyond that — which, at eight, is exactly the right amount of specification.
The approach
Sprites drawn in the built-in editor. Jump physics arrived at by changing numbers until the jump felt right, which is a legitimate method I have never fully abandoned. Collision detection that worked in most cases and produced memorable failures in the rest.
And a boss fight I could not balance. Every adjustment made it either trivial or impossible, and I never found the middle. That was my first encounter with a problem that does not yield to more effort of the same kind.
Architecture
Event-driven by construction, because Scratch gives you nothing else: sprites receiving messages, each running its own scripts, all state global and shared.
I did not know that "every variable is global" was a design constraint rather than how programs are. I found out by breaking the game — a variable one sprite depended on, quietly modified by another, producing a bug I could not reason about because I had no concept of scope to reason with. Meeting shared mutable state at eight, without the word for it, is a good way to learn why the word exists.
Results
A finished game that other children played. Given how many projects at that age reach 80% and stop, finishing is the whole result.
Lessons learned
- Finishing is a separate skill from building, and it is the rarer one.
- The title screen is not the game. I rewrote it more times than the boss fight, because it was the part I knew how to improve. Working on what is comfortable instead of what is hard is a habit I still catch myself in.
- Some problems do not yield to more of the same effort. The boss fight needed a different model of difficulty, not more tuning. I did not have that idea for years.