I've been enjoying working in HTML5, and then I saw Ludum Dare was happening, so I decided to take part in the compo and battle test my library Hestia. The theme was "Keep It Alive" and I made:

Xeno Tender

"You are in charge of live cargo on a space hauler. Ideally keep them happy, at least keep them alive".

Xeno Tender is a very simple life sim, where on each journey you have to look after one of three creatures.

The terrifying xenos

The source is viewable on github

The Jam

I decided to make a tamogotchi like game, using a 2-bit colour palette and game boy screen dimensions and started by coding the basics of a life sim - creatures having needs, which translate into moods, which changes the reactions to actions the player can take - using very basic UI and rectangles in place of sprites.

I spent a good while creating a new pixel font to use and updating my library to be able to do some basic kerning, rather than only supporting monospace fonts. Which in retrospect is something I should have done before the jam started.

I finished the first day by setting up the basic game loop with all the states I expected the final game to have, even if all the state did was execute some hard coded logic in place of user interaction before moving onto the next state.

On the second day I started by creating sprites for the different moods of the current creature - the space kitty - followed some play testing to see if the game was fun now the major communication methods and feedback was in. Unfortunately it was kind of monotonous, but I couldn't easily make the sim run faster without also making it extremely punishing.

Thankfully at this point I had a small epiphany, by adding a "nap" action - to the existing "play" and "feed" actions - which would skip forward in time I could make the game go by faster and bring in a reason for the player to not look after the creatures perfectly. The player themselves creating the tension, I thought this would fit the intended "this is your job" vibe of the game nicely.

Having added the ability to nap and been happy with how it effected the gameplay, I set about creating better versions of the various UI screens necessary to form a full game loop and a persistent score in the form of commendations, which took me up to the evening of the second day.

I finished up the jam by adding two more creature types who would have different needs and would communicate them differently. Giving a final creature line up of:

  • Space Kitty - needs feeding not to die, communicates its mood as clearly as I could manage via sprites and the reaction text directly responses to the actions you take.
  • The Blob - needs some play (but not too much) and feeding in order not to die, communicates its mood via sprites but obtusely and gives no useful feedback in the reaction text.
  • Kassa - a plant like creature, needs feeding (but not too much) to not die, communicates its current needs via sprites and the reaction text tells you its current mood.

The idea being the cat allows you to figure out how the game works, the blob is a puzzle to figure out which sprites require which actions, and kassa reacts in a delayed manner to your actions but is straight forward once you know what do to.

Finally I published to my website, having made it with HTML5 and already having a website this bit is trivial! Thankfully itch makes it easy for everyone these days!


Having rated and providing feedback on other jam games the LD algorithm and other users blessed me with 27 ratings which was enough to qualify me for results.


Ouch! Seeing four numbers in your ranks isn't a great feeling.

There's two things that stand out for me in those results, firstly the lowest score and ranking being "Fun" and secondly the highest ranking and second highest score being "Graphics". Although I am amused that humour came out relatively high when it wasn't something I really aiming for.

Well lets start with the postive, I'm actually quite happy with being in the top half of compo games for graphics and that being my highest score. It feels like the choice of palette and screen size really helped me focus on something achievable and I often feel like my pixel art isn't very good, so seeing it being seen as the best part of my work is actaully really nice.

Now for the negative, the lack of fun. Looking through the comments on the LD page it's quite clear that a lot of players could not really figure out what the game wanted them to do. I think there were two major problems here; one was that in my initial submission I just randomly picked a creature, even though some are clearly harder than others, one of the improvements I made post jam was to make sure to give you the creatures easiest first and only give you a harder creature if you take care of them successfully.

The second is a bit more fundamental, I picked a genre which is based inherently on hidden information and is slow burn. It would have been a lot safer to make a game in a genre where all information can be clearly surfaced to the player and/or the puzzles presented in recognisable formats and one which can be played with more easily - i.e. visual and/or spacial puzzles rather than time puzzles (at least when you can't rewind time). I suspect that instant gratification is probably a better route to go down if you want to maximise your scoring potential.

That isn't to say I couldn't improve aspects of the game is other smaller ways, you can always add more polish, but I think these two things were probably the biggest factors.

I enjoyed taking part, and I know that if I do Ludum Dare again I'll make sure I focus on player feedback and try also not spend time on tooling during the jam! It was really nice to complete and release something, so much so that I set up a jam on itch for myself and a few friends called One Release a Month to try to encourage myself to release something more regularly!