Sign up to be kept up-to-date with news and offers, 100% spam free!!


We’ll be visiting Gamescom (15-19th August) for the first time!
We won’t have a booth, but we’ll bring the game, but , so if you want to meet and try the game, give us a shoot ICON_Happy

Sans titre-1


Progress DevLog

– Basic starter crafting bench
– Furniture crafting bench
– Crafted items are placed in wooden boxes
– Crafted furnitures can be placed by selecting them in the furniture menu or by directly using the wooden boxes


Attracting victims
– Writing desk added: so monsters can write old fashion letters. The writing desk is an easier to obtain (albeit less effective) way to attract visitors than the printing press.
– Mailbox system: monsters write a letter (writing desk) or print newspaper (printing press) and then post it to the mailbox. For each letter mailed, a victim arrives next day evening.


– Balancing
– New music manager. It can switch between music playlists during the game.
– All quantities are now integer (ex: quantity of blood is displayed with the number 12 instead of 0.75…)
– New suspicion UI
– Added more info with overlay.
– Added new sound (intro, parchment etc..)
– Added sleeping FX.

You have to be undead to be able to sleep near construction work…



Design: Potion Craftbench

[Artist speaking ^^]


I’m currently working on designs concerning potions. It’s a feature we’ll introduce in the game a bit later, so I’ll just focus on the visual aspect of it for now. Let’s take a walk on the art side ICON_Happy
En ce moment je travaille sur les designs des potions et de leur fabrication. C’est un élément qu’on introduira dans le jeu un plus tard, donc pour le moment je vais juste parler du côté visuel.


So my first task is to design a piece of furniture that is clearly destined to make potions fitting a horror movie. My main concern was about it not looking “heroic fantasy-ish” or “magic”, because that’s where my mind spontaneously goes to when I hear potion (maybe we should we use another word? What do you think?).
Ma première tâche est de designer un “meuble”  qui servira à fabriquer des potions. Il faut à la fois que son usage soit assez évident, et qu’il soit raccord avec notre thème Films d’Horreur. Mon inquiétude principale était que ça fasse trop heroic fantasy/potion magique parce que c’est ce que le mot “potion” m’évoque spontanément (peut être qu’on devrait le remplacer ? qu’est-ce que vous en pensez ?)


The first thing I do is free associations. I didn’t want « magic » potions, so I avoided witches, and started with alchemy, which lead to chemistry. Which led to meth lab (I blame Breaking Bad).
Je commence par faire des associations libres. Je voulais éviter le côté potion magique, donc j’ai évité les sorcières, pour commencer par l’alchimie. Ce qui m’a mené à la chimie. Qui a menée à la face obscure de la chimie (la faute à Breaking Bad).



The second/simultaneous step is to do some research for references.
That’s a step I had trouble with for a long time, because I thought of it as cheating. It lead me to only drawing what I already knew, or thought I knew (if you haven’t seen it already, an Italian artist asked people to draw bicycles from memory, the results aren’t really functional… and I don’t think I would have done better XD ).
Ensuite (ou en parallèle) je fais quelques recherches. C’est une étape qui m’a longtemps posé problème, parce que je pensais que c’était un peu tricher, comme si un “bon” artiste devait déjà tout savoir. Ce qui me menait à dessiner toujours les mêmes choses que je connaissais… ou
croyais connaître. 


Anyway, now you’ve done some research, you have references opened on your desktop, your brain has plenty of food for imagination. At this point you hope inspiration strikes you.
If it doesn’t ?

Bon, du coup maintenant on a fait les recherches nécessaires, on a plein de références variées pour nourrir l’imagination. A ce stade, on espère que l’inspiration frappe.
Sinon ? Restez calmes et faîtes des croquis.


One of the test tube had an organic feel to me, so I added spikes to it to echo one of the plants we have in the game. It did look a bit more menacing, but not Horror Movie material.
Un des tubes avait un air vaguement organique pour moi, donc je lui ai ajouté des épines pour établir un parallèle avec une des plantes du jeu. Le résultat est un peu plus menaçant, mais toujours pas vraiment horrifique.
Sans titre-5

I thought the middle glassware could be some kind of pump to push the liquid from one to another (chemists everywhere are probably rolling their eyes by now), and the only organic pump I know is the heart. So I went from organic to plain organs.
Now THAT started to feel Horror Movie like.
Je me suis dit que la pièce du centre pourrait être une sorte de pompe qui fasse passer le liquide d’une partie à l’autre (j’imagine les chimistes qui lèvent les yeux au ciel XD), et la seule pompe organique que je connaisse c’est le coeur. Du coup je suis passée d’organique à organes.
Et CA, ça commence à faire Film d’Horreur.


In my first version, the mixture ended up in a beer glass. I thought it was completely out of place, hence funny.
Dans ma première version, la mixture finissait dans un verre à bière. Je trouvais ça complètement à côté de la plaque, donc marrant. 



The rest of the team, namely Alex, very politely disagreed ICON_Happy
So I replaced it with a cauldron. At this stage I’m okay with it, because nothing reads “fantasy magic”, and because evil witches are part of the Horror Movies lore.
Le reste de l’équipe – en l’occurrence Alex- a très poliment exprimé son désaccord ICON_Happy
Je l’ai remplacé par un chaudron du coup. A ce stade ça ne me dérange pas, car plus rien ne me fait penser “potion magique”, et les sorcières ont bien leur place dans les films d’horreur !


After some inking and coloring, we get this:
On encre, on met en couleur, et on obtient ça:



It lacked contrast, and would be even less legible with the game filter. After correcting that, I did the different sides of the “Potion bench”, so players can chose the orientation.
Ca manquait de contraste, et ça aurait été encore pire dans le jeu avec le filtre. Je rectifie un peu ça, et je fais les différentes vues pour que les joueurs puissent le placer comme ils le souhaitent.



Aaaand once more, with animation (ICON_Angry Fair Warning: (roughly) animated gif)
Avec l’animation (ICON_Angry Attention: gif (vite fait) animé)


Next step: design potions and the prop the Monster wears while cooking them, but I think you get the (quite lengthy XD) gist of process.
L’étape suivante va être de designer les potions et l’accessoire que les Monstres portent quand il les fabriquent, mais je me suis déjà assez étalée sur le sujet ICON_Happy



Progress DevLog

/English in grey/ 

/Français en italique bleu/

– Now has a buy and sell system
– Sells more than monsters: resources, food, victims,…
– Nouveau système: le marchand vend et achète 
– Vend d’autres choses que des monstres: ressources, nourriture, victimes,…

Dynamic Help
We had just started working on it on our last monthly update, and it’s complete now:
– No more fixed objectives to “check” at the beginning nor imposed text tutorial
– Specific indications and tips if needed.
Aide dynamique
Nous avions commencé à travailler dessus lors de notre précédent DevLog mensuel, elle est désormais complète:
– Plus d’objectifs “fixes” à valider au début du jeu, plus de tutorial textuel imposé
– Des indications et des astuces adaptées si nécessaires.


– Have first and second names
– Walk a bit slower when they’re transporting things
– Variant visual aspects for Zombies and Mummies
– Spiders leave poison and thread when defeated (not usable for now)
– Ont des noms et prénoms

– Marchent un peu plus lentement quand ils transportent des choses
– Variations des visuels des Zombies et Momies
– Les araignées vaincues laissent du poison et du fil (pour le moment non utilisable)


– Reorganization of the GUI
– Improved Monster description and needs
– Clickable heads of your monsters on the top of the screen to reach them quickly
– Game map right from the start (before that players had to type a command to access the map)
– Game Over when there is no minion left, with numbers of day hold
– Game Intro sequence 1.0 and 2.0, players can decide their “Villain Name”
– Réorganisation de l’interface
– Amélioration des fiches de monstres: description et besoins
– Tête des Monstres “cliquable” en haut de l’écran pour les atteindre rapidement

– Game map right from the start (before players had to type a command to access the map)
– Game Over quand il n’y a plus de Créatures, avec le nombre de jours tenus 
– Ecran d’Intro du jeu 1.0 et  2.0, les joueurs peuvent choisir leur “Nom de Méchant”


Other non visible

– New text system allowing for better text quality
– Link Game Design data parameter to a Google Doc: so we can do the game balancing more quickly.
Divers non visible
– Nouveau système de texte permettant une meilleure qualité de l’affichage
– Liaison des paramètres de Game Design dans la programmation à un Google Doc pour permettre un équilibrage du jeu plus rapide.


Bug fixes
– Merchant: all monsters were 10 Golds skeletons
– User alert of monster needing rest right at the beginning when they don’t (yet)
– Mummy not needing sleep
Correction de bugs
– Marchand: tout les monstres sont des squelettes à 10 Golds

– Message d’alerte “Vos monstres ont besoin de dormir” au tout début du jeu alors que les monstres sont reposés
– Momie ne dormant pas

Progress DevLog

/English in grey/ 

/Français en italique bleu/

-We have redone the user alert system. You will received a message to tell you when an event arrived (creature attacks, marchand etc..).
-We will also have a dynamic help system. We will you give tips, if the system detect that you forgot to do something (assigning task to your monster, keeping your food fresh etc..).
We wish to avoid a big and long tutorial at the beginning of the game as much as possible. Of course when you will be a master Villain, you won’t have these messages anymore (or only when you forget to do things).
-We’ve also added a message archive, so you will be able to read them later if your forget something.
– Nous avons refait le système d’alerte. Vous recevrez un message vous prévenant quand un évènement arrive (attaque de créature, passage de marchand, etc)
– Nous avons commencé à développer un système d’aide dynamique. Nous vous donnerons des indices si le système détecte que vous avez oublié quelque chose (comme d’assigner une tache à un monstre, garder leur nourriture au frais, etc).
Nous souhaitons éviter un tutoriel trop long au début du jeu autant que possible. Bien sûr une fois que vous serez un Maître Vilain, vous n’aurez plus ces messages (sauf en cas d’oubli)
– Nous avons également ajouté une archive des messages, afin que vous puissiez les relire par la suite si vous avez oublié quelque chose.

– Monster placement in a group improvment
– Now your monster will put their food on the table to eat it. If they don’t have one, they will just take food and eat standing. But they much prefer eating their favorite brain, sit in front of a table made out of victims bones.
– Also your monster needs to spend time to eat. In the previous version, they would work, eat a piece of food, work, eat.. 5 times everyday. Now they stop working and eat for a long time once every day.
– Positions de monstres en groupe améliorées
– Les monstres posent la nourriture sur la table maintenant. S’ils n’en ont pas une à disposition, ils mangeront debout, mais ils préfèrent manger assis face à une table faites en os de victimes.

New tree and mushroom manager.
Trees, plants and mushrooms are a renewal resource. But we have to make it grow in a cool way ICON_Happy
Now the forest grow like a natural forest!

Nouveau manager de plantes 
Les arbres, plantes et champignons sont une ressource renouvelable. Mais nous voulions qu’ils repoussent de manière intéressante. Maintenant la forêt repousse comme une forêt réelle.

Save system improved
Système de sauvegarde amélioré

I made a little tool that make a game build for the team. So now I can make a new version of MachiaVillain and send it by email to the team with just one click.
Système de version
J’ai programmé un outil qui fait une version du jeu pour les autres membres de l’équipe. Désormais je peux faire la version et la partager avec eux par mail en un clic.

Bugs fixes 
– Message clickable zone bigger than it should
– Victim’s scare mark [?] visible even through the highest level of fog of war
– Wandering butcher apron
Correction de bugs
– Zone cliquable des messages trop grande
– Marque de peur des victimes [?] visible dans le fog war
– Tablier de boucher baladeur

Fog of war

/English in grey/ 

/Français en italique bleu/

Hello Villains!
We are going to talk to you about the fog of war which is a new feature we’ve just added.
Fog of war is used mostly in strategy games. It mimics the visibility zone of your units. It’s a darker/fog layer that hides unit and terrain. It disappears as your units approach the fog zone, depending on their vision range.
Bonjour les Méchants !
Nous allons parler du fog of war (ou “brouillard de guerre”), un élément de jeu que l’on a rajouté récemment.

Le fog of war est utilisé principalement dans les jeux de stratégie. Il permet de représenter la zone visible par vos unités. C’est un calque plus sombre qui masque le terrain et les unités ennemies. Il disparaît dès que votre unité approche de la zone de brouillard, en fonction de leur périmètre de vision.

In most strategy games, fog of war adds a “poker” feeling into the game.
Each player doesn’t know what the other player is doing because it’s hidden by the fog of war like you don’t see cards of your opponent in a poker table.
You have to guess what he is doing from the little clue you can get by sending scout units like you would do by looking at the face of your opponent in a poker game. Knowing the play style of your adversary is also a lead. 
Based on this reduced information, you need to guess what you should do to thwart your adversary.
Reducing the information given to the player with the fog of war is actually more fun, as he has to guess things only from clues like a detective!
Dans la plupart des jeux de stratégie, le fog of war ajoute un côté “poker” au jeu.
Chaque joueur  ignore ce que l’autre fait car c’est caché par le fog of war, de la même manière qu’on ne voit pas les cartes de son adversaire au poker.
Il faut deviner ce qu’il fait à partir des petits indices que vous pouvez récolter en envoyant vos éclaireurs comme on examine le visage de son adversaire au poker. Connaître le style de jeu de son adversaire est aussi une piste. Avec ces informations limitées, à vous de deviner quelle attaque lancer.
Limiter les informations données au joueur avec le fog of war est en fait plus amusant, puisqu’il le force à extrapoler à partir d’indices comme un détective !

But as MachiaVillain is a solo game, we added a fog of war in order to benefit from different advantages (not always present in multiplayer game):
– Exploring. Like in an adventure game, the player will have to explore his environment. Of course, this is going to be interesting once we will have monsters/stuff hide in the forest.
– Players will have to make the interesting choice between building/growing and exploring. When do you need to explore to discover new resource?
– It reduces the quantity of information you need to process at the same time at the beginning. You will start with a small portion of the map visible, so you can concentrate your attention learning how to play and not be distracted by the environment. Of course, when you will get better at playing, you will probably start sending your minion exploring your surroundings, at the first to seek resources.
– Hides the type of mineral in rocks. You need to find the best digging strategy to discover precious mineral deposits.
Mais comme MachiaVillain est un jeu solo, nous avons ajouté un fog of war pour bénéficier d’autres avantages (pas toujours présents dans un jeu multijoueur):
– L’exploration. Comme dans un jeu d’aventure, le joueur  devra explorer son environnement. Bien sûr, cela deviendra partciulièrement intéressant quand on aura des monstres et autres surprises cachés dans le décor.
– Les joueurs auront à faire un choix intéressant entre construire/s’agrandir et explorer. Quand aurez-vous besoin d’explorer pour découvrir de nouvelles ressources ?
– Le fog of war réduit la quantité d’information à digérer d’un coup au début du jeu. Commencer avec une petite partie de la carte visible permet de se concentrer sur apprendre à jouer sans être distrait par l’environnement. Bien sûr dès que vous commencerez à maîtriser le jeu, vous pourrez envoyer vos minions en exploration, au départ pour rechercher des ressources.
– Cacher les minéraux présents dans la roche. Vous devrez trouver la meilleure stratégie pour creuser et découvrir les minerais précieux.

Let’s now talk about how we do it technically in MachiaVillain:
The terrain view is partitioned in grid cells. We need to know which grid cell is visible from your minion.
A cell will have 3 states:
– in total Dark (undiscovered)
– hidden in shadow (discovered but not visible)
– visible (seen by at least one of your minions).
Parlons des aspects techniques du fog of war dans MachiaVillain:
La vue du terrain est fragmentée en cellules disposées en grille. Nous devons savoir quelle cellule est visible par vos minions.
Une cellule a 3 états:
– dans le noir complet (zone pas encore découverte)
– caché dans l’ombre (zone déjà découverte, mais pas actuellement visible)
– visible (dans le champ de vision d’au moins un de vos minions)

We have to find out which square is visible by your monster.
We can apply two important rules:
– Monster can’t see too far.
– Monster can’t see through a wall.
Nous devons trouver quelle cellule est dans le champ de vision de votre monstre
On peut appliquer 2 règles importantes:
– Les monstres ne peuvent pas voir trop loin.
– Les monstres ne peuvent pas voir à travers un mur.

For the first rule, we can select all grid cell around the monster from a distance.
This will give us a disk of visibility around the monster.
Pour la première règle, on peut sélectionner toutes les cellules dans un certain périmètre autour du monstre. Cela nous donnera le champ de vision du monstre.


The second rule is more complex.  We have to find out what is blocking the view of your monster.  Like a real life light ray, we will send a ray from the eyes of the monster.  If the ray hit a something like a wall, it will stop. Each grid cell the ray passed on without being stopped by a wall, is a visible cell. This ray will also stop when it’s too far from the monster (monster view range).
La deuxième règle est plus complexe. Nous devons identifier ce qui bloque la vue du monstre. On lance une ligne à partir du monstre, comme un rayon laser. Si le rayon rencontre un mur, il s’arrête. Chaque cellule traversée par un rayon non interrompu est une cellule visible. Ce rayon s’arrête évidemment à une certaine distance du monstre (périmètre de visibilité du monstre).

To do this we use a field of view algorithms for 2D grid based worlds. You can get a comparison of different algorithms here : Comparative study of field of view algorithms for 2D grid based worlds
We choose a modified version of the BASIC algorithm because we have an outdoor map (not inside a dungeon).
Pour cela, nous utilisons un algorithme de champ de vision pour les environnements basés sur des grilles 2D (pour les anglophones, vous pouvez voir une comparaison des différents algorithmes par ici: Comparative study of field of view algorithms for 2D grid based worlds). Nous avons choisi une version modifiée de l’algorithme BASIC car nous avons une carte extérieure (pas intérieure comme un donjon).

How is it working?
We need to send rays all around the monster (we decide that the monster sees all around him for the Gameplay we want).
To throw a ray we have to know the starting position and the ending position. The starting position is the eyes of the monster.
All around = on a circle. So we are first drawing a circle around our monster. Each cell of this circle will be the target of a ray.
To draw this circle we use an algorithm that draws circles on a 2D grid very fast. We use Andres’ circle algorithm (“Discrete circles, rings and spheres”).
(we used the Bresenham’s circle algorithm at first, but it gave us “hole” in our ray grid, see this illustration )
Of course, the radius of this circle will be equal to the visibility range of your monster.
Comment est-ce que cela marche ?
Nous devons envoyer des rayons tout autour du monstre (nous avons décidé que le monstre voit tout autour de lui). Pour envoyer un rayon,  nous avons besoin de connaître sa position de départ (la tête du monstre) et son extrémité. Tout autour = sur un cercle. Nous commençons donc par tracer un cercle autour du monstre. Chaque cellule de ce cercle sera la cible d’un rayon. Pour dessiner ce cercle, nous utilisons un algorithme qui dessine très rapidement des cercles sur une grille 2D, l’algorithme de tracé d’arc de cercle d’Andres.
(Nous avons commencé par utiliser l’algorithme de tracé d’arc de cercle de Bresenham, mais ils laissait des “trous” dans notre grille de rayon, cf. illustration)


And then we throw a ray from the monster, targeting each cell of the circle.
Et ensuite nous lançons un rayon partant du monstre vers chaque cellule du cercle.


For this work we use another 2D algorithm which is “Bresenham’s line algorithm” (I promise, the last one!)
In school you may remember that to get a line equation (y=ax+b), and draw it on paper, you need to do some kind of division or multiplication.
With the Bresenham algorithm you only do subtraction and addition, which is more simple even for a computer. And you draw the line one cell at a time, which is great, because if one of the cells of the line is a wall, we just stop drawing the line ICON_Happy
For one ray:
Pour que cela marche, nous utilisons un autre algorithme, l’algorithme de tracé de segment de Bresenham (promis, c’est le dernier !).
Vous vous rappelez peut être que pour tracer une droite d’après son équation (type y=ax+b), vous devez faire une multiplication ou une division.  Avec l’algorithme de Bresenham, vous faîtes seulement des additions et des soustractions ce qui est plus simple même pour l’ordinateur. Et vous tracez la droite une cellule après l’autre, ce qui est très pratique puisque si une cellule sur la droite est un mur, on peut arrêter de dessiner la droite ICON_Happy
Pour un rayon:


Everything put together (throw ray on circles cell + stop the ray when it a wall)
Tout ensemble (rayon lancé, cellules du cercle, rayon interrompu par un mur)

And voilà:
Et voilà:


What is great with the fog of war algorithm, is that we can use it to also get when enemies are visible or not by your monster.
So we reuse the calculation already done for another purpose. If an enemy is sitting in a visible cell, it’s visible by the monster.
The old algorithm was sending 3D ray, checking polygon and was heavy. Now we have more feature for a lower computation cost!
Ce qui est super avec l’algorithme du fog of war, c’est qu’on peut aussi  l’utiliser pour calculer si un ennemi est visible par un monstre ou pas. Donc nous pouvons réutiliser un calcul déjà effectué pour un autre usage. Si un ennemi est situé sur une cellule visible, il est visible par le monstre.
L’ancien algorithme utilisait un rayon 3D, vérifiant des polygones, et était du coup plus lourd. Maintenant nous avons une feature de plus pour un “coût de calcul” plus faible !

We can go further with the fog of war (just ideas):
– Add more hidden creatures in the forest. So the exploration must be done by strong monsters. Or you will learn to run away ICON_Happy
– Add thieves. So you will have to think strategically where to store your goods, so you always have a monster near to see him coming, and to protect it.
– Patrol against thieves. You can get some of you monster patrolling to detect thieves.
– A monster with a better visibility (“eyes” monster). You can hire a monster with a better view range. So he will be better at exploring and patrolling.
– Let the player deactivate it.
On peut aller plus loin avec le fog of war (quelques idées):
– Ajouter plus de créatures cachées dans la forêt. L’exploration devra être faite par des monstres costauds… ou vous devrez apprendre à fuir très vite ICON_Happy
– Ajouter des voleurs. Il vous faudra choisir stratégiquement où stocker vos richesses de manière à toujours avoir un monstre qui puisse repérer un voleur et les protéger.
– Patrouiller pour détecter les voleurs
– Un monstre avec une meilleure visibilité, qui sera adapté à l’exploration et à la patrouille.
– Un réseau de caméras permettant de surveiller les zones déjà visitées.
– Permettre au joueur de désactiver le fog of war.

I could go on and on about the fog of war, but that’s probably enough already ICON_Happy
Je pourrais continuer à parler du fog of war, mais ça fait déjà beaucoup ICON_Happy

PS: Pictures are drawn by hand to illustrate the explanation and are not 100% accurate with algorithm underneath.
PS: Les illustrations ont été faites à la main pour illustrer les explications, et ne sont pas 100% raccord avec l’algorithme derrière.