Robo Dance, Postmortem, GamedevJS Jam 2026

Robo Dance Postmortem

Play here: Robo Dance by Insality

Overview

Hello! I’m Insality, and this is the story of my 2-week journey building a game for GamedevJS Jam 2026.

Jam Ideas

When the theme was revealed (“Machines”), I felt a little disappointed. Most of my ideas needed much stronger art skills, were too complex for a jam, or simply felt boring.

At first, I tried to design a crafting/production game. I spent a full day sketching and prototyping visuals, but nothing clicked.


that’s really my first idea

So I returned to an old mechanic I had wanted to test for a long time: a “simultaneous turn-based” game with turn planning. In my head, it sounded awesome… but reality was much tougher.

Art

I make all my game art in Figma. For me, it’s fast and convenient: I can export many assets at once directly into the right folder, which saves a lot of manual work. The color management is good, and overall it fits my workflow very well.

it’s a first game art pass

This time I used a lot of Figma effects, and as the asset count grew, Figma became very slow. Not the most pleasant experience. For future jams, I will probably avoid this style :slight_smile:

Music Composing

I compose all music and sound effects myself. I have a bit of composing experience, and if you want to hear more of my work, welcome:

https://www.youtube.com/@insalitymusic2026

After the first art pass was ready, I already had a music direction, but still no clear gameplay direction. The music-sync concept only appeared after the first test with music.

When it’s starts to feel “I need to sync everything”

I knew the soundtrack should stay on the low-pass side, so sound effects could sit clearly on top. The tracks needed to be short, loop well, and fade smoothly into each other.

The interesting part started when I added sound effects. By then, I already knew everything should be rhythm-synced, so I began to “imitate” timing by placing effects in similar beat positions. It worked pretty nicely :slight_smile:

it’s a sound effects in FL Studio

There was one tricky problem: every new sound changed the overall feeling of the game, even after I had heard the previous mix 100 times in a row. Choosing sounds in that state is hard. I still don’t have a perfect solution for this.

Programming

I had tried to implement “simultaneous turn-based” mechanics before, and I remembered how painful it was. I even had this prototype. (holy it was 3 years ago…)

In this kind of game, simultaneous means all turns are resolved at the same time. That forced me to define many edge-case rules. For example: what happens when two entities move into the same cell? And that was just one of many cases.

I spent around 4-5 days hesitating because I didn’t know where to begin. When I finally started, I wrote unit tests and used a kind of TDD approach, because there were so many ways to break the logic. Once basic movement and entity pushing worked, progress became much faster.

first movement of character!

Even though the game uses ECS style, the field itself is just an object that resolves state instantly. The ECS part then takes those results and plays beat-based animations. After this core part was done, everything else moved much faster.

People often ask which dependencies I use, so here is my list (yes, many of them are mine :)):

Animations

I made all animations in Panthera. It lets me build things very quickly. On average, one animation took around 5 minutes.

I also think this game is currently one of the best examples of Panthera’s capabilities (besides GUI animations).


player animations

Since the music tempo was fixed (100 BPM), I designed most animations to last one or two beats. That kept implementation simple and avoided extra code for dynamic BPM-based timing. I even hardcoded some timings, which was absolutely fine for a jam.

Level Design

I built all levels in Tiled. It’s a great editor with flexible systems you can adapt to your needs. I use my Detiled library to load levels from Tiled.

My favorite Tiled feature is custom properties. They let me assign values to entities and quickly tweak specific instances. For example, I used them to configure enemy “field patterns” after placing enemies on the map.

How it looks in Tiled

Level design is still hard for me. It’s one of my weak points, but I’m working on it :slight_smile: Next time, I want to spend much more time on it and approach level creation in a more structured way.

Some gameplay testing

UI & UX

I reworked the UI almost every day. Each iteration revealed new problems I could improve.

In a strange way, being stuck on gameplay mechanics helped here: while I was thinking through gameplay code, I had extra time to polish UI/UX.

I also targeted mobile, which is why I used “slide” buttons. They may not be perfect for desktop, but they are a reasonable compromise for both platforms.

Some results after insane amount of polishing

Testing

This was the stage where disappointment hit. I expected the gameplay to feel cool, but the initial design was too hard to understand and play.

I ran 2-3 friend playtests and got very helpful feedback. Listening to other people is crucial, because it’s easy to miss important problems when you’re too close to your own game.

The first issue: players didn’t understand controls or what to do when the game screen appeared. Classic game dev problem. The current version handles this much better: players now start planning and executing moves almost immediately.

Another original idea was to force players to plan 4 turns and block “execute” until all slots were filled. I thought this would make the game more puzzle-like. But after feedback, removing that restriction made the game feel much (MUCH) better.

Yes, it’s simpler, but now players can explore and learn how the world reacts at their own pace. As a developer, I know how the game works, but players don’t, and this change respected that.

I still reward full 4-step planning by keeping the same music track (no switch), and that feels like a good middle ground.

Ending

Interested in technical details?

Also check my other postmortems:

Happy Defolding!

20 Likes

Your workflow is effective and you can complete a whole game alone - that’s impressive! :heart_eyes:

I’m also utilising now a lot of your libraries, in my jam entry - from Druid, through Event to Saver - thank you for those! :heart:

2 Likes

Thanks for sharing! Can we repost on the Defold blog?

2 Likes

Cons of that: it still consumes a lot of time for all of this. But I’m glad of these results :slight_smile:
Thank you!

For sure!

1 Like