< Back To Projects or view next project: Auguries Of Innocence >
Mini-Games

Lagged commissioned us to produce mini-games for the web. Some are strategy games, some invite you to chill, while some are properly silly. Regardless of their category, they pushed our technology forward. We could then make them as compelling as possible for players.
Let's start with the silly:

This is the kind of game where there is no goal, no enemy, no time limit. You can just sit back, relax and listen to the beautiful opera voice, while stretching those cartoony faces. A great remedy after a long day.
In order to make this stretching effect work on the web, we had to extend what our in-house software Polygonjs was capable of. We've added a cloth solver to it. Even though we don't exactly simulate cloth, the physics behind this stretching face is very similar. We had to make the solver configurable so that we could precisely define how each area of the face reacts. For instance, we want the eyes to feel more rigid than the cheeks.
But a cloth solver by itself wouldn't have been able to display the vocal power exerted by the singers. We had to add something to the mouth. For that, we've also extended our custom material builder, so that it could inject vertex displacement into the cloth solver (we're getting technical here). But in short, this is what allows the vibration on the lips. This is not a vibration that is added after the solver, it is a complete part of it. When the lips vibrate, those vibrations propagate to the rest of the face. We think this adds a lot of panache to the singers, and what helps make this game fun.
Snappier games
If you would prefer a game with a bit more energy, we have that in stock:

We spared you the rhythmic music here in case you read this at night before falling asleep. But as you may guess from the video, the goal of this game is to catch the items as they fall next to you. They come with the beat of the music, and some are pretty fast. You definitely have to be on your toes.
Strategy games
Here we've released 2 versions of classics: Mastermind and Peg-Solitaire.
The common point of those 2 is that their style is very minimalist. This is a choice that I particularly like, as it means we have to remove any clutter and carefully curate what should be in the game, and what should not.

For Peg Solitaire, in addition to the classic boards, we've added custom levels. Those were challenging to create as we had to make sure they were solvable. This turns out is a non-trivial problem. A first attempt to solve it was to create a bot that would attempt to solve a randomly generated level. But even with lots of optimisation, solving a level could take days of processing on mid-sized boards.
So we took a different approach. Instead of generating levels from a full board by removing some pieces, we generated levels from an empty board. This made is much easier to generate a few thousands and pick the most interesting ones. At least we know those would be solvable by the player just because they had been created in reverse.

< Back To Projects or view next project: Auguries Of Innocence >