Caoimhe

Yesterday I took part the Cork Game Jam which was the first in-person game jam I’ve taken part in and my first time diving back into game programming in a few months and Pico-8 programming in a few years.

The theme—“myth”—was announced at ten and the pizza arrived for the after party at around four, which gave me about six hours to derust and bang something out. It was exhausting and stressful but also a lot of fun. Here’s the result:

Control with , and

The theme being myth immediately reminded me of an idea I had years ago based on the Epic of Gilgamesh, one of the oldest pieces of literature that we have a record of. There exists no complete copy of it. What we have of it is an amalgam of fragments from various damaged cuneiform tablets.

My concept is an adaptation of Gilgamesh, probably a sidescrolling action platformer, that uses the aesthetics of corrupted data to fill in for the missing sections of text. Within the six hour window I managed to get a sample of that core idea implemented, though admittedly little else.

So that I wouldn’t have to do everything from scratch I used Matthew Hughson’s platformer starter kit as a base and started making modifications to the sprites and speed values to get more in line with my concept, using Castlevania sprites as a bit of a reference for the walk cycle initially.

I spent far too long getting an attack animation working before I realised I would probably not have time to implement any sort of combat. But its presence at least speaks to setting up an expectation of what the game might involve before you end up running into the faux-corrupted mess it actually is, or within the metafiction of the premise what the game once was before most of it was damaged and lost.

The other thing I added is, of course, the scrolling text taking up the top part of the screen, consisting of the start of the text of tablet 5 of the epic, taken from Maureen Gallery Kovacs’ translation. It starts out fairly normal and then getting more and more broken as it gets to the parts of the poem that are lost.

Within the code these are represented by lines of hashes. I wrote a text drawing function that, when it encounters a hash, draws random data from the spritesheet (from specifically selected sprites in it, not the entire thing) over it, mimicking the aesthetics of famous bugs such as glitch pokémon.

Ideally the progress of the broken text would correspond to the player discovering the broken nature of the game, but it just scrolls at a constant rate with a lot of normal text up front and there is not that much in the way of level so if a player simply walks to the right they will outpace it.

In a more full implementation of this idea the game could perhaps corrupt dynamically as parts of the text are reached, simulating live memory corruption. Or perhaps the scrolling text is a bit too much of a blunt instrument and should not be included in a more complete game.

That said, I think there is definitely potential for playing with some of the more evocative parts of the fragmented parts of the text.

The oft-quoted fragment of one of the works Sappho springs to mind:

μνάσεσθαί τινά φαῖμι
καὶ ἕτερον
ἀμμέων.

someone will remember us
I say
even in another time.

Sappho

Within a section of the text that made it into the jam game is the sudden implicit violence of mention of various weapons, axes smeared with what is not said, followed simply by the word alone. I placed a long, blank pause before and after “alone” for effect.

…Suddenly the swords…,
and after the sheaths …,
the axes were smeared…
dagger and sword…
alone …
The Epic of Gilgamesh, tablet 5.

A segment shortly after features has some broken dialogue mentioning something in Humbaba’s belly, a throat and next, and Gilgamesh then saying “Humbaba’s face keeps changing!” which is begging for a scene involving the level’s tileset suddenly being replaced with disjointed meat level sprites as the boss becomes a horrible jumbled mess.

When you were still young I saw you but did not go over to you;
… you,… in my belly.
…,you have brought Gilgamesh into my presence,
… you stand.., an enemy, a stranger.
… Gilgamesh, throat and neck,
I would feed your flesh to the screeching vulture, the eagle, and
the vulture!"
Gilgamesh spoke to Enkidu, saying: "My Friend, Humbaba’s face keeps changing!

The Epic of Gilgamesh, tablet 5.

For what I actually managed to accomplish in the jam the only tricks I managed are the corrupted text and a short corridor level which becomes more visually broken as it goes along, but is completely static.

I made a pretty minimalist tileset for the background of six tiles with only two colours and tried my best to use them to give the impression of a forest, as per the epic narration.

I spent a while drawing these and then getting down trying to draw trees with them, though some of what I mapped out for the background ended up getting hidden by the tablet with the scrolling text, whoops.

As you cross the bridge you encounter a group tile in place of a bridge tile and above it a tree drawn in the same style as the first few background trees, but with the left and right side tiles swapped. Then and broken skull and a serpent implying some sort of non-functional boss mark the boundary for things really going wrong.

I still tried to keep to drawing similar tree shapes but with tiles swapped out to tiles from other parts of the spritesheet, including ones that only appear here, implying that some more game exists beyond what is implemented. Then the bridge itself corrupts and is replaced by corner ground tiles and then invisible but solid tiles as you walk into a screen of just skulls marking a little ending point.

I have expressed here some ideas for a larger game but I do not really have any plans to expand this out. It very much the kind of thing I might do eventually in a world where I had endless free time to work on every project idea I have, which is sadly not the world I live in, and it is far down the list and I only have very vague notions of how to expand this out into something bigger. It would probably not be done in Pico-8 as Pico-8’s size constraints and limited character count, not to mention tiny resolution, don’t make it ideal for games involving lots of text or expansive levels.