
Deep Dive
In Place On Fire, you play as the chef of a rotisserie trying to learn its newly-installed electronics without crashing everything. You start with a simple chicken that needs to be rotated to avoid burning, but it ramps up quickly: a furnace that needs refueling from freshly-mined coal; a timed and password-protected fuse box that threatens to meltdown; or a radio that needs switching every so often as to not bore the customers…
Survive long enough, and the lights might cut out, leaving you with a single point of light around your mouse cursor. Let’s see how long you last with every machine screaming at you and reduced visibility!
Multitasking Marathon
This game’s idea came when talking about the Global Game Jam 2025, we didn’t know what the theme was but still tried to come up with short and fun game ideas. One of them was “a simple-seeming game where you just rotate a chicken in a rotisserie, and then you need to prepare seasonings, and then you need to watch over a fishing pole in a pond, and then you need to do spin slot machines, and then…”.
We didn’t go for this idea, obviously, but the concept of several simple micro-games piling onto each other in a multitasking nightmare sounded way too fun to pass, so I started working on it on my own and it developed into Place On Fire.

Progress of the game over the course of the development. Top-Left: first layout of the different modules. Top-Right: All modules coded as Widget placeholders with a few 3D visuals. Bottom-Left: Final elements with little lighting and no post-processing. Bottom-Right: Final look of the game.
Two big influences of the game are Ultimate Custom Night, and Keep Talking And Nobody Explodes, two “module”-based chaotic indie games that rely both on game knowledge and player execution to allow wins.
In those examples, the fun of the game is both in learning the basics of each module, how to push them to their limits with shortcuts and techs, in the synergies and interference between each module, but also in the realization of its hardest challenges.
A “50/20 NDC” or a “Centurion” are both milestones that are only possible by learning the ins and outs of the games and putting in the practice; I really wanted to emulate those achievements with complex rule piling and progressive difficulty, on a smaller scale of course.
How do you even classify a game like this? Arcade? Sandbox? Survival?
The “Starting Four”
The individual challenges are the core of this game, obviously, so let’s check them out one by one, and see what interesting tidbits come up in the meantime.
The “Starting Four” or “Elemental Four”, what I consider being the tutorial of the game. On the left you have THE START the chicken, with THE FIRE composed of a glass and furnace under it. In the middle THE EARTH and THE AIR, and on the right THE DISPLAY and THE WATER. Yes, that’s more than four, but DISPLAY and START don’t count…
Let’s start with the Tutorial of the game, or the “Starting Four” as I call them.
THE START is the Chicken, the core of the game and the ever-present challenge that tends to get forgotten. Just click the mouse and do circles around it while holding. This will update the side of the chicken that’s receiving heat.
Somehow, this is the most complex module of the game code-wise… All because of the computation needed to detect mouse rotation smoothly.

THE START’s debug vision, telling the sides that are heating, their state, but also visualizing debug lines for the rotation algorithm.
Basically, it traces the path of the mouse over each frame (in yellow on the above image), and for each line it draws a Perpendicular Bisector (in red), checks the intersection points of consecutive bisectors (the white dots), and then averages them out by giving more importance to the more recent intersection points using Harmonic Series.
The resulting point (in green) is the “Center of rotation” of the mouse, moving each frame to place itself at the correct location to interpret the movement of the mouse as a rotation around a fictional circle.
Why do all that? Because otherwise, if the player goes too fast, the drawn “circle” could drift entirely outside of the center of the Chicken, and the resulting rotations would become nonsense. In a game where you’re stressed, errors like that appear very often, so every step of this algorithm is necessary or it would fail.
With just a regular averaging for example, the center point wouldn’t update fast enough; or if I used less intersection point sampling, it would’ve been too much chaotic and noisy…
Big thanks to Zayn CARDOT for helping me with this whole endeavor, it took us quite some time to find something that worked well for the game.
THE EARTH is an obvious hommage to Minecraft, but with every single texture swapped for handmade ones, to avoid any issue.
The next focus is THE FIRE and THE EARTH, a pair of modules consisting of a furnace, a glass containing the coal reserve, and a mine.
In a game based around “last as long as you can”, I needed soft-caps, modules whose whole purpose is to limit long-lasting runs in a fair way. THE FIRE is the first one of them, constantly requiring ressources mined from THE EARTH. At the start of the run this is easy enough, but with 10+ modules requiring constant attention, finding time to mine coal becomes increasingly harder.
There is no hard limit on the number of coal you have, or no cooldown after mining. Even the coal RNG is a fixed sequence repeating over and over to prevent unfairness: This is not a “hard cap”, it is just a long-term threat.
Close-up of THE AIR, I tried to recreate Celeste’s feather minigame, including the suspended particles stretching upwards when rising. The “correct zone” is inspired by visors from Dragon Ball, somehow.
Finally for the Starting Four, let’s talk about THE AIR and THE WATER.
For the “tutorial” section of the game, I wanted all modules to implement different input types. THE START has mouse rotation, THE FIRE is just a click, THE WATER and THE EARTH both are holding down a part of the screen but one is independent while the other is linked to another module (serving as an input itself), and finally THE AIR is using the keyboard only.
To make it as obvious as possible, the feather is adorned with a spacebar with “SPACE” written on it.
THE AIR is an insidious module, unlike others, its sound and visual indicators for failure are less overwhelming. There is a white noise-like rumble, the feather shakes violently and the blue “visor” turns red when the feather is outside of it; but compared to a loud beeping or big particle effects spawning it still is stealthier.
THE WATER is simple enough, but it has a secret: Like THE FIRE, their visual gauges are lying in the player’s favor. What is shown as [0-100%] represents [5-90%] for THE WATER, or even [5-80] in the case of THE FIRE.
This means that when the water is overflowing and touching the top of the gauge, the player still has two whole seconds of leeway before actually losing. For THE FIRE, you have almost a quarter of the available space that is hidden.
It has the side-effect of making Players think that they’re in bigger danger than they are; but I think this is a worthy trade-off to be more fair in the long run.
How to (not) Overwhelm
Let’s get to the remaining modules, shall we?
THE SWAN, my favorite module for some reason. I haven’t even watched Lost!
The next stop in our detailed look is THE SWAN. I first learned of its existence through a KTANE mod, and I don’t know why but it has stayed in my mind ever since. It was probably the second module imagined for the game, just behind THE START of course.
It is one of the most passive modules and serves an important role: a “buffer” or “player expression” module. Every 68 seconds it opens and you have 40 seconds to enter the code 4-8-15-16-23-42-EXECUTE.
Why is it so important? Because every player reacts differently to it and can plan around it. It can be disarmed with 38 or 1 second remaining on its timer, players have the control of the order and timing in which it is solved. Sometimes you might get rid of it earlier to remove distractions, or you might keep it running until it has just a couple of seconds remaining to manage another higher-priority module beforehand.
It is also the reason why THE FIRE and THE START don’t interact: I could have added some “optimal range” on THE FIRE where the chicken cooks faster or slower, but I wanted to allow players to develop their own strategies, instead of having a strict defined META.
THE LOL, inspired by Lolbit in UCN. Just press “L O L”!!
THE LOL is the weirdest module in the game: Conceived as the “ultimate distraction”, I put everything I had in it to make it disturbing.
It is visually garish, has a loud annoying music that stays in your head, blocks THE DISPLAY from telling you how burnt the chicken is, requires you to use the [L] an [O] keys when your hands are already taken by the mouse and left-side keyboard, etc…

Its also responsible for one of the weirdest texture I had the pleasure of making. A tileable mosaic of fading-out pixel LOLs… What a sentence.
THE GATE is one big reference to the game 13 Sentinels: Aegis Rim. Each of the main 15 characters can appear in the module. They ask for “Sectors” if the character should know about them, otherwise they ask for Year number, and they only ask for Years they have been to in-game.
There is not much to say in the remaining modules design-wise as they just build on what was prepared beforehand, namely:
THE B-HEAT is a radio that plays muffled custom-made drum loops to the player, and when customers are too unhappy just switch the disc being played. It’s THE FIRE with cool music.
THE NEW GAME PLUS is an invisible module that comes after 120 seconds and just increases the cooking speed of the chicken.
THE GATE asks for either a Sector Number or a Year Number, and you have 20-or-so seconds to shift the customer to the correct Sector.
THE FLASHLIGHT, the final obstacle of the game, is also the biggest roadblock of them all. All three radii of 375px, 300px and 235px are taken directly from the original reference, OSU!
Out last two modules have something interesting going on however.
Firstly, THE PRAIRIE SPICE is a simplified bullet hell where you use the keyboard to move the token, trying to avoid the spice balls being dumped from above.
It adapts from WASD to ZQSD if the keyboard is detected to be in French, also changing the sprites being shown to match the correct movement.
THE FLASHLIGHT however, is the biggest “Soft-cap” module in the game. After a total of 280 seconds, the screen slowly turns black with only a circle around the mouse being available. After 30 seconds, it shrinks once, then twice.
As the last module before reaching maximum difficulty, it had to be the hardest addition and be demanding to the player but still feel fair. I don’t want players to reach several hours of survival time on the game, but I still didn’t want to create an upper limit that couldn’t be breached no matter how skilled you are.
With this solution, a perfect player (or a bot) could last indefinitely, but more realistically a player’s high-score is between 6 and 8 minutes (for a couple of minutes in the darkness).
With so many modules, several ideas were left on the cutting room floor. Some of them include:
> THE ACCESSIBILITY, that turns the whole screen in greyscale. But I didn’t want to work on the visuals of modules only for them to appear after this one and have their colors removed… Plus it doesn’t bring much of a challenge.
> THE DICES, that asked for a 7 through dice rolls, themed after Dicey Dungeons; but it didn’t bring much. Also, it asked too much work for the dice’s physics to be faked (yes I wanted them to really roll), because the camera is looking forward, not up, so the gravity would have needed to point forward, and all that jazz.
> THE HISS, that would have replaced texts on the screen by Hiss Chant quotes from CONTROL, but the final game ended up with basically no written text so it wasn’t worth making it an entire module.