JS13k2023 “13th Century”

It’s only taken me a decade to make another js13k game but I managed to get one submitted to the 2023 js13k competition! You can play my entry here: https://js13kgames.com/entries/the-horde-the-horde-the-horde. If you do checkout the Github repo please bear in mind there’s a lot of very last minute code in there, so don’t judge me for it. I’m well aware of all the bad code myself.

I entered the 2nd ever competition back in 2013 when I was trying to get better at JavaScript and web based games. I got a sweet t-shirt for my troubles back in 2013…fingers crossed for a prize this year!

The theme this year was “13th Century”. I found it extremely difficult to come up with a game idea for it that didn’t have some form of combat in it. Three of my favourite games in recent years have been “Return Of The Obra Dinn”, “Kentucky Route Zero” and “The Case Of The Golden Idol”. Obra Dinn was a phenomenal game. My partner and I used to set aside an hour or two after work every night to play it together. It’s one of those games I wish I could experience playing again for the first time.

Manuscripts – the idea that didn’t work at all

Illuminated manuscripts had become a big thing in the 13th century. Typically monks would make copies of texts (usually things like the Bible or works brought from the Middle East as trade routes grew) for wealthy patrons and Universities (which also got their start in European cities in the 13th century). There would be someone called a “stationer” (as in stationary because they didn’t move about selling things) who employed scribes to copy text, illustrators to add colour and art work. A binder who would cover the very precious manuscripts to make them look like works of art as well as to protect them from handling and poor storage conditions (this was medieval Europe after all!). There are some fascinating videos on YouTube about how manuscripts were made and how skilled people were in producing them.

I had an idea for trying to run a Stationer in a “Diner Dash” sort of way but as it would take a year or more to copy, illustrate and bind books it didn’t really lend itself to the idea properly. Another job of scribes that I had read about was making corrections to existing manuscripts if the knowledge had become outdated or perhaps a local ruler had been replaced and references to the old leader needed to be removed. But again, it didn’t really lend itself to a fun idea and I felt that anything to do with the manuscripts would need to look amazing like the real manuscripts or it would be boring.

The Horde! The Horde! The Horde!

This idea luckily came together over four and a half days before the submission deadline. It was rough going trying to get everything done, play tested, fixed, play tested again, tweaked etc over in that time. It is kind of ironic that I’d only recently watched the episode of the Double Fine PsychOdyssey about people having to crunch!

The original version of trying to help people escape from the relentless Mongol Horde (who in fairness dominated a lot of the 13th Century!) got boring very quickly. In hindsight we know just how brutal the Mongols could be in battle but I thought at the time that any city or civilisation would probably attempt to fight back. That’s where the idea for sending troops in the opposite direction to the escaping civilians and managing the two “resources” while being under attack.

It was definitely a struggle to get everything done on time. It can be a lot easier to focus on the things I didn’t get done rather than the things I *did* but… There’s definitely some code in there that could be re-written to take up a lot less space (rounded rectangle UI items I’m looking at you!). I would have liked to get some audio in too as player feedback for when the bridges actually connected. I would have liked to have been able to properly animate The Horde, better death feedback and the troops fighting with The Horde. Instead I left The Horde as an ominous red partial circle (an arc?) that grows at a very fast pace, kind of like those cartoons from WWII about the spread of enemy forces on a map of Europe. I might also consider using an engine next time instead of writing it all myself from scratch.

One thing I can laugh at now that wasn’t at all funny at the time was somehow being considerably (23kb in fact) over the 13kb limit the night before the deadline. Luckily it turned out that I had accidentally saved one of the Kenney tilesheet in my images folder…but for a brief moment very late at night I thought I was sunk! P-H-E-W!

Kenney Art Assets

There’s a joke about “programmer art” for a reason. When I was really running out of time I thought I’d submit the game with the procedural canvas based art I’d created using fillRect, strokeRect, roundRect etc. But luckily there’s a wonderful site that has probably saved many a wretch like me. Their 1 bit pack worked perfectly for what I needed it to. Check out the differences below, it might be tough to guess which one uses real art and which was my programmer art!

More Screenshots

I wish I had more time!

Who doesn’t?! Rushing to try to make a game in such short time really did not give me much time for play testing. If I get any feedback at all during the voting phase I expect it to be possibly that the game isn’t balanced that well.

It was a design choice on my part to make the gameplay a little hectic and difficult because the idea behind it was a population trying to fight off and escape from an overwhelming force. We know from history the Mongol Horde were pretty much unstoppable and caused unimaginable panic through the populations they massacred. As the time frame of the competition was a full month, my game is much more of a “jam” game. Only leaving myself 4 days, it is going to be quite rough around the edges. I saw from Twitter that some people had their games built in a week and managed to get 2 full weeks of playtesting feedback. Maybe next year!

Did I learn anything useful this year?

The biggest lesson from this year is come up with better game ideas sooner and don’t leave yourself about 4 days to do it all in! I’m not sure how other people feel but it can almost feel physically painful during game jams when I can’t come up with a decent idea or ideas don’t turn out to make fun games. It definitely was a difficult theme to work with this year and I made things harder for myself by trying to avoid some form of combat or shooting game mechanic.

I got significantly better at using GIMP this year for breaking out the tiling and characters. I wrote a Gulp script this year to minify my code, zip everything up and check the file size as I was going. If there’s another competition next year I’d like to try to add some music and sound effects to it.

I am fairly exhausted mentally after it but I am really pleased to have submitted a game this year. Almost every year since 2013 something has gotten in the way of me being able to submit a game – work, life events, and often not being able to turn any ideas into fun games.

Get In Touch