o moku e mun

In 2025, Lynn and I made o moku e mun (literally: Eat the Moon) for pali musi, a toki pona game jam. toki pona is a constructed language, but you don't really need to know it to play o moku e mun.

o moku e mun is a platformer where you play as a bug on a mission to the moon. Along the way, you eat fruit and metamorphose to unlock movement options. The whole game only uses two buttons: ← and → to fly up-left and up-right.

You have two meters: tawa («tawa», “travel”) and kili («kili», “fruit”). Each ←/→ press costs 1 tawa. tawa recharges at rest. kili increases by collecting fruit and is used to upgrade your movement.

platformer gameplay footage of a butterfly collecting fruit

Procgen

Recurring premade rooms are called lynnrooms because Lynn made them. Two lynnrooms:

toki pona lynnroom fruit tree lynnroom

esuns are placeholders where shops can spawn. We call shops “shops” because they exchange collected fruit for upgrades, but I interpret them as safe hidey-holes where you can metamorphose using calories you've consumed. (Others interpret the floating chrysalises as big fruits you eat.)

The game's map data also contains screens split into four sections I'll call “components”. Two such screens:

Procgen components Procgen components

Each component guarantees passable areas on its top, bottom, and side (marked with placeholder red dot tiles) so any combination of components can be assembled arbitrarily to form a playable route. maybe-spikes marks where spikes may spawn, with greater probability higher up. shop

Physics

I'm proud of the physics. You only have two buttons, but the movement is so satisfying!

The first code I wrote defined velocity, acceleration, and drag. Here's the first build:

primitive prototype with similar flight

Right away, it felt like controlling a moth. You know when a bug tries to fly out a window or something, but keeps missing? o moku e mun helps you relate to that bug.

Enemies

frog bee

Frogs jump around and chase you. They prefer to nap on the left side of the tower due to a thermal differential caused by outside weather. They're programmed not to do this, but they do it anyway. This is called .

Bees accelerate toward you when they have line of sight and you are not at full tawa.

Sprites

spiderweb

The game looks so good because Lynn drew most of it. I drew a few sprites though, like the spiderweb!

Development

o moku e mun runs in TIC-80, a fantasy console like PICO-8 but FOSS and buggy.

We source-controlled with git. TIC-80 stores each line of the entire 240x136 map as a line of text in the cartridge file, so we had to be careful to work on different rows of rooms to avoid merge conflicts.

TIC-80 supports many languages. We originally wrote the game in Python, but Python runs slow in TIC-80, so we rewrote the whole thing in Lua for performance.

Here's the source code.

tree

Fanart

jan Weso drew this fanart of jan Kekan San losing:

jan Kekan San as the butterfly, being slain by a bee despite standing on a platform

jan Kekan San had read a sign that said:

sina lon supa la pipi jelo li tawa ala.

But that was misleading. The bees don't stop moving when you rest; they just stop accelerating toward you. We later rephrased the sign to:

sina lon supa la pipi jelo li alasa ala e sina.

Annette drew this lovely fanart:

angel and devil