Vous connaissez le principe, pas besoin de le rappeler. Si besoin quand même, lisez les anciens articles de la même catégorie.
Y’a juste que cette année, j’ai pas trop le temps de diatriber là-dessus. Comme vous le savez, je suis en pleine rédaction de ma rétrospective des trucs rigolos et gênants qui se sont passés à ConcreteWorld.🌍. Nous allons donc expédier ce petit rituel de memorial day sans trop de fioritures.
D’ailleurs, cette année, je ne serais pas trop pète-gonadé, puisque ce jour est boîtalement offert ! (Ainsi que tous les jours fériés américain). Je vous renvoie à ce sujet vers l’article « Martin Luther King’s Reconstruct Gonade Day #1 ».
Youpi !
La callypige de ce joyeux lundi presque-férié de bande-quote est Dzire Moore. Évidemment qu’on en désire plus. On en désire toujours plus !
Voici un article qui n’est presque pas de type : « excusez-moi, voici un mini-article à l’arrache parce que j’ai pas le temps ».
Certes, il n’y a que la moitié de ce que je comptais mettre au départ. D’où la numérotation « 0.5/3 ». Je m’auto-flagelle pour cette offense.
Ce demi-épisode inaugure la rétrospective de mon incarnation professionnelle à ConcreteWorld.🌍, où j’ai occupé le poste de « roi du pétrole », suivi de mon enrôlement dans le projet POILS_PUBIENS, où j’ai occupé le poste d’artisan pythonologue.
Cette incarnation s’étend sur deux entreprises, car au milieu j’ais été transfugé dans une filiale. Je vous fais grâce de ce genre de détails. Le récit sera chronologiquement chaotique, comme d’habitude. Commençons par le plus rigolo, à savoir:
Mes échecs personnels et autres moments embarrassants
POCHTRONARR
À peine fringant arrivé dans l’entreprise, on m’a mis entre les pattes le fameux outil POCHTRONARR, dont j’ai déjà parlé maintes fois (faites une recherche dans le blog). Il s’agit d’un outil de suivi d’incidents de réalité. Par exemple, si un client signale un défaut de gravitation dans sa zone, on l’enregistre dans l’outil, on le qualifie (géolocalisation, valeur de la constante g à l’épicentre, …), puis on fait évoluer son statut avec les actions de l’équipe rectificatrice.
Toutes les entreprises de maintien de la réalité ont un outil de ce genre. Plusieurs années avant mon arrivée, Chef Peyotl avait porté son choix sur POCHTRONARR. Bien mal lui en a pris. De nombreuses personnes (de ConcreteWorld.🌍 ET de POCHTRONARR) se sont attelées à son installation et sa configuration, sans succès. L’outil vivotait dans un coin sans être utilisé. Toutes les deux semaines, Collègue Pagne redémarrait le serveur qui s’était planté.
J’étais censé raccomoder tout ce bordel et faire en sorte que la boîte utilise pleinement POCHTRONARR. Plusieurs collègues et colléguettes me dirent à demi-mots que c’était une tâche impossible, une arlésienne. J’essaye de faire abstraction de ces préjugés, commence à mettre les mains dans POCHTRONARR et à l’analyser. C’était effectivement une merde infâme et je n’y comprenais rien :
Une doc énorme mais très mal organisée, avec des copier-coller partout et des fautes d’orthographe.
Beaucoup de fonctionnalités avec beaucoup d’options de configuration, mais pas assez souple et ne permettant pas de mettre en place notre gestion à nous.
Et bien sûr : bugs, comportements aléatoires, plantages, etc.
J’ai pris peur. J’ai signalé à Semi-Chef Pez (responsable de la mise en place de ce monstre malade) que je n’étais pas sûr de parvenir à en sortir quelque chose d’utilisable. Semi-Chef Pez a déclenché une réunion avec Chef Peyotl, à qui j’ai redis mes inquiétudes. Chef Peyotl a tenu sa position, a dit que le choix de cet outil avait été fait et qu’on ne reviendrait pas en arrière. J’ai fermé ma gueule, me suis plongé dans POCHTRONNAR jusqu’à avoir de la merde jusque en haut du crâne. Après plusieurs mois, j’ai fini par lui faire accoucher des fonctionnalités.
Mon erreur, ça a été de paniquer et de signaler trop tôt que c’était du caca. Je l’ai fait 3 semaines à peine après mon embauche. Même si je pouvais apporter quelques preuves de merditude, je ne pouvais pas être suffisamment convaincant. Au lieu de passer pour une personne posée ayant fait une analyse profonde de l’outil, je suis passé pour un gamin effrayé à la moindre difficulté.
Quelques mois plus tard, ça allait mieux. J’avais trouvé le moyen de coder plus ou moins from scratch diverses actions. Je n’utilisais aucune des fonctionnalités toutes faites et toutes pourrites, je fabriquais tout avec du VBScript pété au sol, et ça marchait.
Contre toute attente, je ne regrette pas d’avoir rencontré POCHTRONARR lors de cette incarnation professionnelle. C’est le fait que j’ai réussi à le maîtriser qui m’a accordé mon statut de « roi du pétrole », et c’est aussi grâce à ça que j’ai commencé de m’intéresser au hacking (même si ce mot est nul). J’en parlerais plus tard, j’ai prévu tout un chapitre sur le hacking, ça va être rigolo.
workflow configurable dans POCHTRONARR
git pride fail
Collègue Kouing-Aman avait organisé un « hackerspace » (encore désolé pour ce mot nul). C’était super sympa. Il avait fait une démonstration d’un Rubber Ducky de vilain hacker. Il s’agit d’un appareil quelconque doté d’une prise USB. Vous le branchez à votre ordinateur. L’appareil se comporte comme un clavier, il tape automatiquement des touches (Windows-R + une vilaine commande console). Cette commande télécharge et installe un virus, qui permet au vilain initial de prendre le contrôle de l’ordinateur.
C’était chouette, bien mené et ça a interessé pleins de collègues et colléguettes.
Enhardi par cette événement, je me suis dit que cette entreprise était un endroit magique, dans lequel on pouvait parler de trucs techniques à des gens dont ce n’est pas le métier. J’ai proposé un hackerspace sur git, car il m’avait semblé que ça pouvait intéresser des personnes travaillant à plusieurs sur le même document, fut-ce-t-il autre qu’un fichier de code.
Ce fut un incommensurable échec. Tout le monde trouva ça chiant. J’étais vraiment mal à l’aise. Ce désastre est narré dans cet ancien article.
Plus tard, j’ai fait d’autres hackerspaces, mais technico-techniques, en annonçant dès le départ que si la technique vous intéresse pas, vous pouvez rester chez vous.
Excel-lent
À un certain moment, nous sommes passés au contrat de travail de 1607 heures par an.
Si votre chef est gentil, c’est super génial. Vous travaillez plus que 35 heures dans une semaine, mais c’est comptabilisé. Vous gagnez des jours de rattrapage.
Si votre chef est neutre, il va simplement vous dire de ne pas faire d’heures supplémentaires et ça ne change pas grand-chose à un contrat classique.
Si votre chef est un con, il va vous dire de ne pas faire d’heures sup’, mais il va quand même vous mettre la pression. Vous faites des heures sup’ non comptées, vous l’avez dans le sphincter.
Tiens c’est amusant, il semblerait que quel que soit le cadre juridique, votre emploi est bien si votre chef est bien, il est pourri si votre chef est pourri. Hmmm… Je crois que je tiens un principe révolutionnaire…
Cela dit, cette histoire de 1607 heures contient quand même quelques petites arnaques. À première vue, c’est zarbi car 1607 est un nombre premier, alors qu’il devrait provenir de multiplications (X heures par semaine * Y semaines). Ce serait oublier l’infâme Raffarin Pète-Gonades Memorial Day, que les lecteurtrices de ce blog ne connaissent que trop bien.
Voici un lien vers le détail du comptage. Il y a un vilain arrondi supérieur, et la moyenne de nombre de jours fériés par an est trop faible. Je vous laisse compter ceux des quelques années précédentes, ça tombe pas juste.
Dans les faits, l’arnaque ne se voit pas tout de suite. Si vous vous comportez normalement durant toute une année (25 jours de congés, pas de travail les jours fériés, 35 heures par semaine), eh bien à la fin ça merdouille. Il vous restera quelques heures à travailler alors que ça ne devrait pas. Dictature du patronat.
Quel est le rapport avec l’un de mes échecs ? J’y viens.
Lors de la mise en place de ce nouveau contrat, j’ai été catapulté « gérant du suivi des heures ». Je hais remplir ces conneries de feuilles de temps, voilà que j’en devenais carrément le responsable ! J’étais tortionnaire de moi-même.
Le projet POILS_PUBIENS comptait seulement 4 personnes. On a décidé de ne pas installer un enième outil pour ça, on est parti sur de simples fichiers Excel. Je savais que ça serait le bordel. Il existe un principe :
Fichiers Excel => partage en cacahuètes (du verbe partir).
Avec Excel, les gens :
prennent un malin plaisir à décaler les colonnes,
écrivent des commentaires là où il faut mettre des nombres,
mettent des couleurs pour signaler des trucs qui ne sont ensuite pas détectées par des scripts de traitement automatiques,
etc.
Je pensais que gérer ce bordel pour 4 personnes serait surmontable.
Ça l’a été, jusqu’à ce qu’on recrute. Entre ceux qui étaient toujours à l’arrache pour les remplir, ceux qui se plantaient et qui s’en apercevaient plusieurs mois après et ceux qui demandaient des trucs bizarres genre des congés sans solde, je ne m’en sortais plus.
Chaque fin de mois, je vivais mon petit calvaire de moissonner les fichiers de tout le monde et les consolider pour la Rarache. Je m’étais fait un script en python, évidemment. Mais il fallait quand même préalablement vérifier les fichiers un par un, pour s’assurer qu’ils n’avaient pas été torturés ni stupidement annotés.
Une fois, j’ai ouvert tous les fichiers en même temps. Ça me semblait viable, il n’y en avait que 10.
Pas pour Excel. Ma machine s’est bloquée pendant plusieurs minutes. Ça m’a énervé, j’ai tapé mes deux mains sur le burlingue en criant « bordel, c’est possible d’avoir plusieurs fichiers ouverts avec cette chiasserie d’Excel ? ». Aucune personne autour n’a osé moufter. Je me suis excusé. Ma machine est sorti de son coma et j’ai pu terminer mes vérifs reloues.
Je pense que ce petit accès de panique colérique m’a fait passer pour le collègue qui pète les plombs au moindre problème.
Can’t RTFM !!
Il fallait que j’imprime un truc, mais des bidouillages dans le réseau informatique interne avait eu pour conséquence que je ne détectais plus l’imprimante.
Imprimer une feuille dans une entreprise est l’une des tâches les plus ardues qui soit, quelle que soit l’entreprise. Pas aussi ardu que de conserver des toilettes propres, mais quand même.
Collègue Monstro-Plante, gérant de la tripaillerie technique interne, vint à m’assister. On échange cordialement des infos, il m’indique une documentation qui n’est pas à jour, mais c’est pas grave. Des collègues autour commencent à m’asticoter, sous-entendant que je vais péter les plombs parce que je peux pas imprimer. Sûrement qu’ils se permettaient ça à cause de ce début de réputation de péteur de plombs que je commençais à avoir.
Ce stupide asticotage rendait donc l’atmosphère un peu tendue. Ça imprimait toujours pas. Je demande à Collègue Monstro-Plante comment je dois installer le truc-bidule approprié. Il me répond : « lit la doc ».
Et là, je lui braille dessus comme quoi qu’il n’y a pas de doc. La seule doc que y’a n’est pas à jour et ne résout pas mon problème. Je l’ai congédié et me suis débrouillé tout seul pour imprimer ma feuille de merde. Je ne sais même plus ce que c’était.
Je pense que ce pétage de plomb m’a fait passer pour le collègue qui pète les plombs au moindre problème.
Suite à ce cafardeux épisode, Collègue Monstro-Plante, qui s’appelait ainsi car il donne du marc de café radioactif à ses plantes, a été rebaptisé « Collègue FautLireLaDocQuExistePas ».
Semi-Chef Lula et moi étions chargé de finaliser l’installation de l’outil Recrutator, pour la Rarache. (J’ai rebaptisé Semi-Chef Lucene-Lapin en Semi-Chef « Lula », parce que c’était vraiment long à lire).
Au départ, on devait juste adapter le CSS, pour harmoniser le style visuel de l’outil avec le reste du site web boîtal. On avait filé ça à Stagiaire SuperCSS, qui s’en était sorti avec maestria. Mais après inspection, nous nous sommes vite aperçu qu’il fallait entièrement tester Recrutator, car certains défauts méritaient d’être transmis à l’éditeur. Il s’agissait, une fois de plus, d’un outil mal foutu et rempli de failles de sécurité. Je détaillerai ça plus tard, dans le chapitre prévu à cet effet.
La liste des bugs mutait dangeureusement en une manticore gargantuesque et fractalement tentaculaire. Alors que nous travaillions dessus depuis plusieurs jours, je me permis d’émettre une réserve à Semi-Chef Lula : écrire un si grand compte-rendu, à deux personnes, pour un truc aussi merdique, cela en valait-il la peine ? Ne ferions-nous pas mieux de torcher ça vite fait et de passer à autre chose, d’autant plus que la gestion de Recrutator ne relevait même pas du sacerdoce premier de POILS_PUBIENS ?
Il l’a mal pris. Pour lui c’était important de détailler tout ce qui n’allait pas, pour bien montrer qu’on était capable d’analyser correctement des trucs. Il a ajouté : « la semaine dernière, j’ai rédigé une autre doc pour décrire la feuille de route de POILS_PUBIENS et pour lister les ressources dont nous aurons besoin. C’était un gros morceau. Mais avec ça, on a gagné la confiance de Méga-Chef En-Même-Temps, qui va nous débloquer 500 000 boulasses. Vas-y, fais mieux ».
J’ai pas su quoi répondre. Le moment était gênant. Je ne me suis plus jamais permis d’émettre la moindre réserve sur les décisions et les rédactions de doc de Semi-Chef Lula. J’ai fait ce que je sais faire de mieux : le super-flamby (même si des fois le flamby pète les plombs).
John-Wayne-like dit : « WTFM » (Write The Fucking Manual)
« Redémarrez votre box »
Un lundi matin post-covid, fin de sprint. J’ai diverses choses à présenter pour la réunion de Sprint Review. Tout est prêt. Je dis bonjour dans le tchat boîtal. J’ai une bonne demi-heure d’avance, alors je décide de télécharger des vidéos de Shannon Marie et de me masturber. Tout se passe bien.
L’heure de la réunion approche. Je nettoie les toilettes et ouvre l’onglet de la réunion. Et là, rien ! Panique, redémarrage du TP-Link, puis de la box, puis de l’ordinateur. Toujours rien. Une foutue merderie de coupure internet ! Ça ne venait pas des vidéos de Shannon Marie. La dernière fois que j’en avais téléchargé, il n’y avait eu aucun problème.
Appel des collègues par téléphone, appel de ma chérie à son boulot qui se connecte à son internet et me confirme que le nôtre est coupé. J’enfourche mon vélo et pédale de ouf’ jusqu’au boulot de ma chérie. Je ne peux pas squatter son internet, car leur protocoles réseaux sont obsolètes et n’acceptent pas notre VPN boîtal (je savais même pas que c’était possible). Je re-enfourche mon vélo et repédale de ouf’ pour rentrer à la maison, où l’internet était revenu.
J’ai présenté mes trucs complètement à l’arrache. Je me mélangeais dans les dates des fichiers, je n’étais même plus capable de savoir si le 24 de ce mois était un jeudi ou pas. Ça a été cataclysmique.
Plus tard, on m’a rapporté que ce fâcheux épisode avait bien énervé Chef NightWish. En apprenant que je n’avais plus d’internet, il a dit : « oui mais dans ce genre de situation, faut réagir vite. Il avait qu’à aller au burlingue ». Sauf qu’on n’a qu’une seule bagnole pour deux, le burlingue j’y vais en vélo+bus et ça prend une heure.
La conclusion, ça a été que je devrais m’acheter un smartphone (ouais, j’en avais pas à l’époque, j’étais un rebel) pour l’utiliser comme access point si jamais ce genre d’horrible incident se reproduisait. J’ai dit oui et l’ai pas fait. J’achète pas un smartphone et un abonnement juste pour me garantir une connexion internet de tra-travail !
Ça m’a énervé que Chef NightWish s’énerve à mon sujet, mais en mon absence. Sa phrase pétée de « il faut réagir vite », il ne me l’a pas dite en face et ne m’a pas donné l’occasion de me défendre ou me justifier. C’est des propos qu’on m’a seulement rapporté. Lui aussi c’est un flamby, en fait.
Bref, un moment gênant, mais je ne considère pas que ce soit un échec personnel de ma part. Zut.
Shannon Marie. Splendide
PHP = People Hates PHP
Nous devions construire une sorte de blog / site communautaire pour le projet POILS_PUBIENS. Semi-Chef Lula, grand fan de PHP (seriously, dude….), décida d’utiliser Drupal pour cela. C’est un moteur de blog, genre WordPress, avec plein de modules et autres trucs configurables.
Un choix tout à fait pertinent (si on fait abstraction du choix initial de prendre PHP), mais il y avait un petit souci. Les drupalologues venaient d’annoncer une migration de leur outil vers Symfony, un framework web générique.
Semi-Chef Lula a demandé, à moi et d’autres collègues, de « faire une étude ». Il avait créé des petits modules drupaux permettant de créer des pages web entièrement configurables. Ça permettait d’avoir à la fois un blog et des pages génériques. Il se demandait si ce serait toujours possible avec cette future fusion drupalo-symfonienne.
On a installé des tas de versions de ces deux différents trucs en essayant de les faire fonctionner ensemble. En même temps, on moissonnait toutes les docs trouvables sur internet qui traitaient du sujet. C’était très brumeux.
Les docs officielles de Drupal annonçaient une « transition progressive » et indiquaient dans quel ordre les modules de Symfony seraient intégrés. Mais quand on installait Drupal on ne retrouvait jamais ces modules. Les docs officielles de Symfony non-mentionnaient Drupal avec un tel aplomb de jean-foutrisme que c’en était effrayant. Les docs non-officielles racontaient n’importe quoi.
Semi-Chef Lula nous a laissés nous débrouiller pendant quelques semaines, puis s’est lancé dans l’aventure. Il nous a alors écrit un mail embarrassant :
Constatant que le projet d’étude symfono-drupalique n’avance pas, j’ai décidé de m’y coller. En moins de deux heures, j’ai trouvé cette doc. Ça correspond à ce qu’on veut faire. Appliquez-là.
Sa doc était un article dégueu d’un dev amateur qui avait essayé d’intégrer Symfony dans un module Drupal, soit le contraire de ce qu’on voulait faire. Je me suis dit que ce serait amusant d’essayer de mettre un Drupal dans un Symfony dans un autre Drupal, mais j’ai senti que c’était pas le moment de proposer quelque chose d’aussi drôle.
Finalement, on a laissé tomber la création de ce site communautaire, car c’est pas ça qui aurait rapporté de l’argent à POILS_PUBIENS. Semi-Chef Lula a maugréé que l’intégralité du compte-rendu de cette désastreuse aventure tenait dans la phrase « on a galéré ». On est passé à d’autres choses.
À l’heure actuelle, j’ignore toujours si les clowns de Drupal ont réussi leur fusion avec les saltimbanques de Symfony. Juste par curiosité, j’ai à nouveau cherché des docs sur internet, il me semble que oui, mais je ne suis pas sûr que tous les modules symfoniens aient été intégrés. Ensuite j’ai réalisé que j’en avait nom de dieu de bordel de cul rien à foutre. Cette hypothétique fusion restera donc un mystère pour moi (autant que le PHP en général).
Ce sera tout pour l’instant.
Comme souvent, j’ai triché dans la date de parution de cet article pour faire comme si il avait été publié en avril. J’essaie de me mettre tout de suite au second demi-épisode. À bientôt !
Zou. Petit article cheapos qui recycle des trucs déjà produits : les commentaires de mes revues de jeux du Ludum Dare pré-précédent. Je me permets parce que le mois dernier vous avez eu deux articles, alors ça va bien. J’oserais dire que ces commentaires comportent des descriptifs de qualité et des suggestions détaillées. Ça vaut ce que ça vaut (le vaut est un animal à poil ras).
Oh, et ça fait le deuxième article de suite qui est en anglais. Vous y survivrez, n’est-ce pas ?
Les jeux sont à peu près classés par ordre croissant de ma kiffitude personnelle. Si vous avez un peu de temps pour en tester quelques-uns, prenez en priorité ceux de la fin, qui sont justement estampillés « kiffitude ».
I encountered some bugs as other people said. But it was not too much annoying.
It is very frustrating to have McLudum giving you so many newspapers at start, and seeing nearly half of them immediatly lost, because the carriage can not hold them all.
I did not managed to get past level 2, but I’m not good at this sort of games.
There seems to be a story with your father, that’s always good to add this in a game.
Technically and visually, it is really beautiful. Voxels are cool, and I like the fact that you can see the previous level below. It makes the tower more realistic.
About the time management
However, the turn-based/real-time logic is hard to understand at first, and cancels the interest of many monsters.
I did not immediatly realize the voxel-thing on the top right is a sort of hourglass that indicates the time before the next automatic turn.
The green monsters do not move when you move in real-time (by using the space bar), so you can dodge all of them easily. But at the opposite, the arrows move at the same time of the hero, and also with the automatic turn. This combination is rather illogical. And you often have to wait automatic turns for long seconds, to dodge some arrows that passes by.
Either you use a complete turn-based logic, like the game D.R.O.D., or you use a complete real-time logic, where every elements move at its own rythm. But mixing both is weird and unpractical.
About the hammer
I thought I could break scenery objects with the hammer, in the hope of hidden bonuses, but scenery are unbreakable.
If you push « Z » without any direction, you smash the ground under you, making you fall and die.
I tried to smash the ground under skeletons with the hammer, but each time I got shot at blank point, because of the weird turn-based/real-time logic, and the fact that there is no visual information indicating that a skeleton is about to shoot.
So IMO the hammer is useless.
About the rest.
You can’t go back to the main menu when you click « how to play », and I had to reload the whole web page.
Arrows stays in place when you restart after dying.
3D is cool, but if you can not turn the camera, it is sometimes hard to see where objects are, or what is behind other objects. In an early level, I stupidly died because I did not realized a bomb has no floor under it.
Sorry for this “hard” review, but all these tiny buggy details makes your game quite painful to play, and gave me really little fun.
Nice game. You added some perspective feeling with the top half of the hero that can traverse walls, but it introduces a bug. The bullets starts inside the wall, and are instantly cancelled. You can not fire when you stand near a wall.
I liked the guards that spawns after you picked up the bionite. It adds a real importance to the fact that you get instakilled when you hold the bionite.
It needs an ending. Spoiler alert : nothing happens when you finish all the levels.
At the last level, there is a heart floating in space. Is it possible to take it, or is it just a decorative troll ?
It is sometimes hard to guess from the description which object must be brought to Uns. (I tested all the consumable objects for the « savourly ingredient »). And it’s sometime a bit long to get the object you want.
Does the object you are holding change the fights ? A sword increases the chance of not being hit, an armor absorbs some damage, … That would be cool. Also, we do not know how the level of the character affects the fights.
However, your game has a little default common to many games : there is no collision between monsters. As you turn around them, they all pack together in the same spot. Having lots of monsters is not much dangerous as having only a few. And when you hit the pack spot, it’s an XP jackpot.
I would have implemented collision handling and lowered the monster generation rate. It would have increased the feeling of being overwhelmed by your enemies. Here, they just feel “immaterial” and not so harmful.
Some clear delimitations of the game area would have been appreciated. It’s a little annoying to plan fleeing to the left and realizing you can’t because you bumped into the invisible border of the world.
And maybe add more randomness to the target movement. They straightly move in the 4 directions or the diagonals. That would be funnier and “more instable” if they moved in any direction, while changing it progressively.
Anyway, I liked this moment of monster genocide and reached level 8 !
The sprite choices are a little WTF. On one side, the teeth, syringe, pills and microbs suggest a medical world, which is consistent with the game title. (Maybe I am inside a body I have to heal ?)
But on the other side, there are fuel cans, moving fires, levers, blocks, and stars as background. It may be hard, but you should try to find “medical” equivalent to all these unrelated objects.
Level design looks sometimes strange. Some levels seems to be really big, but you only have to explore a little to find the exit. I do not know if it is made on purpose. It may be a good idea, because it suggests that you’re in a world bigger than what you are able to realize, like a body if you are a micro-organism.
It needs a scenario, or at least some explanations. What is this strange grey-ball-character I have to get ? Why is the world “unstable” ? What am I supposed to do here ?
Even with these little drawbacks, I was hooked and could not stop until I won the game.
(Spoiler alert) : I really liked the mechanic of coming back accross all the previous level.
Great game. A nice tribute to Asteroids, Lunar Lander and all of the kind.
Controls are hard, but that’s totally assumed in this sort of game.
The GUI is quite messy. Writing « status » next to a bar graph does not help. The status of what ?
I took some time to realize the status is the health of the Earth. I suppose it decreases when a satellite escape from the screen and crashes on the Earth, and it regenerates with the time. But I’m not even sure it works like that. It seems to randomly increase and decrease.
Also, if it works like this, what about burning satellites which you can’t destroy ? Do they make the status decrease ? If yes, it’s rather unfair.
The spaceship health bar is shown on several little ship. It looks like you have several « discrete » lives. But in fact it is a continuous health bar splitted in 5 « mini-health bar ». That’s quite uncommon. And the visual difference between an empty mini-health bar and a full one is not strong enough. It’s hard to quickly take account of your whole current health, whereas it’s the most important thing in the GUI !
As some other people did, I played the whole game with the mouse button pressed, so this feature is useless. Do an automatic metal collect, or add the necessity to aim a satellite with your mouse.
I like the initial radio communication, to set a plot and to explain how to play. Just one thing : you choosed silver as the metal collected from satellites, to express it is valuable and to justify the fact that the player is paid for that. But then the player beams all this precious silver to the earth to have it destroyed in the atmosphere. What a spoil ! It would have been more consistent to tell that the player collects scraps, destroys them, and then the human on earth are so happy with it they instantly pay the player.
Apart from these little drawbacks, the graphics are really cool, the sound is good enough and it’s really fun to play. It gives this incentive of « just one last play to see if I can get more upgrades ».
Congrats !
ecosystem except there is no equilibrium and everyone dies probably
kiffitude de type : c’est un jeu où on code + la personne ayant créé le jeu assume totalement que tout a été fait à l’arrache.
I love the concept, and I also love all the clues revealing that you may have realized the game in a sort of urge :
the main title
the url of the game : « i-cant-think-of-a-name »
the ludum description : « …actually that tagline doesn’t really make sense anymore. »
the in-game description : « I didn’t have time to write a good tutorial, but I do have examples »
This game is totally experimental and raw, which I love too.
In case you do not know it, you should visit the site codingame.com, where you will find plenty of bot-coding games, to compete against other people. And maybe you should also test the old text-mode video game ZZT, which has its own level editor and its own programming language.
Thank you, and keep up experimenting !
Volatile Defender
kiffitude de type : jeu squaritable + graphisme + « allez juste une dernière partie ».
I did not want to look at the tutorial at first, and did not realize you could look back whith the « space » key. It may be a good idea to tell this action in your game description.
I like the fact that robots destroy bonuses when they walk on it, it adds some strategy, with choices like : « I should keep this bonus on the ground for later, but I take the risk to have it eaten by a robot ».
IMO, the hero is a little too slow to move from one tile to another, and the bonus lasts a little too short. It generates a little frustration because a big part of the bonus advantages are lost, as you fire in the void while moving in front of your next target.
Really great graphisms and music. The best I have seen for this Ludum Dare, so far.
Parcel Panic
kiffitude de type : j’adore le mini-univers du jeu + j’ai totalement trippé dans mon commentaire.
The difficulty of the game, that many people felt, would not be a problem if it was brought gradually. It may be a good idea to use all the suggestions in previous comments to make the game easier, and removing them as the player progresses.
lower global speed (player movement and energy loss).
parcels and energy bar stays longer on the ground, then you make them stay shorter.
the parcel destination is directly marked on the map and does not go away.
then the parcel destination is indicated on the bottom, as it is now, but it does not go away.
then the parcel destination goes away.
then some parcels may be heavier and slows you down when you carry too much of them (instead of decreasing your energy faster, which you don’t really realize while you play).
then, why not making it more difficult than it is now ? Remove the letters on the buildings ! After all, you know this place by heart now.
The possibility to cycle between the parcels you own may also be a good thing. So that you can optimize your deliveries. To keep track, in your own memories, of the parcels destination, they could look different. Like in the reality.
I really liked the small world where you are. The road to the left is here to show this world is inside a greater one, but you know nothing of it. It increases the microcosm effect. While playing, I felt like the local hero of the quarter, the person who everybody knows, and who is useful for everybody.
I really like the fact that you put different building types. A, B, C, I, J and K are clearly house of rich people, with fences to be protected from the others. D, E and F looks like middle-class houses. G and H are big buildings where all the poors pack themselves. Even in a small world like that you can make appear social differences, which is an interesting idea.
The post office may not be a good idea. It suggests that this small world has contacts with the outer world. I would have put a more local building : « the janitor desk » or something like that.
An idea comes to me while I’m writing this comment. You should have different types of parcels, and use them as collectibles in the game. You could have a menu where you see the list of all the collectibles you gained, and read their descriptions.
You could have parcel types that clearly shows that the expeditor and destinator hate each other, and other that shows they love each other, or many other feelings.
Here are some ideas :
a letter with a heart drawn on it,
a present that looks really expensive,
a postcard that you can read,
a letter whose address is written like : « old dork Jack »,
a parcel with white powder on it,
a beer pack,
a parcel that smells shit,
a dead animal,
a bullet,
…
As you play a game, you could imagine and guess the life of all the people in the microcosm, as you learn which type of things they send to each other. How would you feel, as the local delivery hero, when you end up knowing everything of all you neighbors ?
When a game starts, you could randomly choose some specific situations, that the player would discover progressively : a rich house that sends parcels with white powder to all the middle-class and poor buildings, two middle-class neighbors that sends normal parcels at the beginning and then hate parcels (bullets, dead animals, …), expensive presents sent from a poor buildings to a rich house without any returns, love between a rich and a poor, …
Whoa, I realized I totally tripped on this game. That was cool. Thank you for your game. Do what you want with all these weird ideas.
Voili voilà
Et voici Chun Li en version un peu plus ronde que d’habitude.
Coucou. Voici un deuxième article dans le même mois !
Comme promis, j’ai envoyé 20 euros à All-Seeing Eye, pour remercier Joonas Hirvonen d’avoir créé cet outil permettant de modifier le jeu Eye Of The Beholder. Je m’en suis servi pour créer un challenge de Hacking pour la THCON. Tout est expliqué dans ce précédent article.
Ce fameux Joonas Hirvonen m’a remercié par mail et m’a encouragé à transmettre mes signalements de bugs. Je vais lui envoyer un document récapitulant tout ça, j’en profite pour le copier-coller ici. Ça ne vous intéresse peut-être pas, mais moi ça me fait un article à peu de frais. (Quelle blague ! Tous mes articles sont à peu de frais !)
C’est en anglais, vive le rosbif !
These bugs and improvement proposals are sorted from most important to less important.
Technical context :
the game « Eye of the Beholder 1 v1.9 – unofficial » ,
Do what you want with these bugs, as I am not sure I will have the occasion to re-use ASE.
Modifying scripts provokes graphical bugs
Many wall images are scrambled when the game scripts are modified.
Here are steps to reproduce the bug.
Start a game, create a party, go to the first drainage grate.
Everything looks OK.
Launch ASE.exe and set the folder
Launch EOB1_Explorer.exe
Add an instruction anywhere in the code, for example : F8 "I add a new message here." 00 02 00
Press Ctrl-F9 to compile.
You get a message box telling « Range check error. »
Click the button « update INF ».
Close and restart EOB1_Explorer.exe
Add another instruction anywhere in the code.
Press Ctrl-F9 to compile.
This time you don’t get the error message.
Click once again the button « update INF ».
Start another game, re-create a party, go to the first drainage grate.
This time the image is buggy. I do not know from where it was taken. It looks like a part of an attacking leech.
Other bugs appear on many wall textures. Once it happened, there is no hope to come back to a correct display.
I guess it’s a problem with memory offsets in the game information. It is quite annoying, it cancels all the involvement I would put in the creation of a totally new Eye Of The Beholder game.
Object sub-position cannot be redefined
Information related to objects can be modified in the tab « F4:Items ». But their sub-positions cannot be modified.
As we all know, an object on a square in the map has 5 possible sub-positions : the four corners on the ground, and the alcove carved on a wall.
The function ADD_ITEM shows it. It has 3 parameters : OBJECT_INDEX, POS_X_Y, SUB_POS.
The initial data contained in the .PAK files undoubtedly contains these supositions. When I modify existing object coordinates, they land on different sub-positions, depending on their index.
If the initial sub-position of the object is in an alcove, and if the object coordinates is on a square that has no wall, we have flying objects !
These flying objects can not be taken. Too bad.
I would say the tab « F4:Items » should have a field « sub-position », that allows us to read and write sub-position of each object.
A weird thing in the game engine : there is only one sub-position to define an object in an alcove, not one per wall side.
If you put a square with an alcove wall on each side, and if you put an object sub-positioned in the alcove on this square, then the object is visible from the four sides ! Logically, when you take it, it goes away from the four sides. In my opinion, this weird behaviour should be documented somewhere.
Encounter scripts should be editable, if possible
I do not know if it is possible at all. Some encounters seem to execute the same kind of instructions as the ones in the script :
speaking with Armun puts some objects in front of the party and sets a global flag,
there are movements automatically done before and after speaking with the dwarven cleric, and the previous global flag is checked to initiate the conversation,
speaking with Shindia spawns the monster « Shindia »,
…
I guess the dialogue texts, reply choices, player characters joining the party, etc. are all stored somewhere in the game files. If we could modify all this, it would be really cool, and we could make a totally-totally new Eye Of The Beholder game.
Some event parameters are not parsed in the script
Here is the code we usually have with stairs and ladders :
IF TRIGGER_FLAG = 1 (on_enter)
ELSE_GOTO $0473
[...]
IF 3 = 0
ELSE_GOTO $044C
TELEPORT TYPE = $E8 (party), SOURCE = <00,00>, DEST = <18,24>
IF 3 = 1
ELSE_GOTO $0459
TELEPORT TYPE = $E8 (party), SOURCE = <00,00>, DEST = <17,23>
IF 3 = 2
ELSE_GOTO $0466
TELEPORT TYPE = $E8 (party), SOURCE = <00,00>, DEST = <18,22>
IF 3 = 3
ELSE_GOTO $0473
TELEPORT TYPE = $E8 (party), SOURCE = <00,00>, DEST = <19,23>
IF TRIGGER_FLAG = 4 (on_put_item)
ELSE_GOTO $04AE
IF 3 = 0
ELSE_GOTO $0487
TELEPORT TYPE = $F5 (item), SOURCE = <18,23>, DEST = <18,24>
IF 3 = 1
ELSE_GOTO $0494
TELEPORT TYPE = $F5 (item), SOURCE = <18,23>, DEST = <17,23>
IF 3 = 2
ELSE_GOTO $04A1
TELEPORT TYPE = $F5 (item), SOURCE = <18,23>, DEST = <18,22>
IF 3 = 3
ELSE_GOTO $04AE
TELEPORT TYPE = $F5 (item), SOURCE = <18,23>, DEST = <19,23>
END
The translated script shows comparrison between litteral numbers : « 3 = 0 », « 3 = 3 », … which looks really dumb.
This is of course not what the script does. These values corresponds to the direction from where the party comes, or the direction from where the object was thrown. It is used to reposition the party or the object from where it comes, because nothing is supposed to stay at the same square of a stair or ladder.
Some specific words should be used in the translated script to describe this process. For example, 3 = 0 should be replaced by FROM_DIRECTION = NORTH.
The direction identifiers are the usual ones : 0 = north, 1 = west, 2 = south, 3 = east.
Labels should be shown in the « Events » tab
The « F2:Events » tab shows the translated scripts, but the GOTO instructions have the litteral adresses.
The « F3:Scripts » tab shows GOTO instructions with labels, but the script is displayed with raw bytecode.
The text labels should also be displayed in the « F2:Events » tab, to have all the human-readable script in one tab.
It is quite painful to modify the scripts, I was always switching between the two tabs : write some code, check it is correct, and so on. A really nice feature would be a mode to display the two tabs side by side. The « F2:Events » would automatically updates while we type in the « F3:Scripts » tab. But maybe that’s too much to ask.
Texture atlas needed
I had to try different wall numbers in the map, then play the game to see the corresponding images, then repeat for the next level palette, etc.
Some identifiers are the same in many palettes, for example : with « brick » and « blue », the value 51 corresponds to a wall with writings on it.
Other identifiers exist only in one palette, or are different between palettes, for example : all the stone portal images.
That would really be helpful to have the complete list of wall images, with their identifier, for all the palettes. You don’t even have to integrate it in the existing software. Just toss an external document with the images and their identifiers, that would be perfect.
Command parameters should be documented
The tab « F5:Commands » lists all the existing commands, which is great, but not enough.
The parameters of each command should also be documented. Some commands, such as TELEPORT or ADD_MONSTER, have numerous, varied and complex parameters.
The documentation you linked to https://moddingwiki.shikadi.net/ is interesting, but really hard to read and to understand. I’m not sure it explains all the commands of Eye Of The Beholder.
Program crashes when writing coordinates with one digit
This one is simple to reproduce :
Go to « F3:Script » tab, go to the « event trigger points » zone.
Modify a coordinate of any event, write it with only one digit. For example, replace « 03 » by « 3 ».
Press Ctrl-F9.
You get an error message : « Access violation ».
Code size limit should be checked
When the script of a level is too big, it can lead to unexpected behaviours.
The last address value in « F2:Events » should be checked. If it is greater than $1AF0, there are risks to have unexpected behaviours. I’m not sure of the exact limit, it may be a rounded value, like $1B00.
This should be checked by EOB1_Explorer.exe, and a warning message should be displayed when updating/saving the INF file.
The unexpected behaviour seems quite random, and occur when the party arrives in the level having the INF too big.
Sometimes, it’s an immediate crash with a totally unrelated message :
Some other times, it’s a crash with a message « Far heap corrupt! » when you click on the button « CAMP » :
Race and class values are not completely documented
The file EOB1_Explorer_Notes.txt has an uncomplete list of race indexes. Here is the complete one :
00 = Human
01 = Elf
02 = Half-elf
03 = Dwarf
04 = Gnome
05 = Halfling
The Class identifiers are not correct and does not correspond to the HAS_CLASS function.
There are only 4 « base class »,
01 = Fighter
02 = Mage
04 = Cleric
08 = Thief
HAS_CLASS adds all the classes of your characters, by using the boolean « OR », and returns true if there is at least one set bit in common with the parameter given to the function.
Multi-class activates the corresponding bits of all the base classes.
For example, let’s say the party has a Fighter/Mage and 3 clerics (that’s a weird party).
It is not possible to check if there is a ranger in the party. This class only lights the « fighter » bit.
It is also not possible to check if there is a paladin. This class lights the « fighter » and the « cleric » bits.
The way how the function HAS_CLASS works should be documented.
That’s all
Thank you once again for having created these tools. They are wonderful, even with those tiny bugs.
I used EOB_Explorer1 to create a hacking challenge that involves the game and your tools. This challenge was part of the CTF at the Toulouse Hacking Convention 2022. The people who tried it said it was really interesting (a few of them managed to solve it, though). I will submit it to root-me.org in the upcoming months and I will let you know about it, if root-me accepts it.
For the moment, I have not planned to create other challenges or other games with Eye Of The Beholder, so there may have no specific reason to fix these bugs. Anyway, I’m really happy to have « revived » this game in a quite uncommon way. It was an important part of my childhood, I took many years to finish it.
See you next time !
Voilà, c’était tout ce que j’avais à dire. Je l’envoie à mon nouvel ami Joonas ce soir. S’il me répond des trucs intéressants, je vous en ferais part.
Bien entendu, j’ai plusieurs autres idées de challenge « TUR-ROX », avec d’autres jeux. J’essayerais d’en concrétiser une ou deux pour la prochaine THCON.
Cet article est un rapport de bug.
Rapport de bug -> bug -> ladybug -> l’héroïne de dessin animé -> vêtements aux motifs de cette héroïne -> femme ronde !
Enjoy :
Pour le mois prochain, je me permettrais d’être moins blogalement productif. Je vous rassemblerai un package de commentaires de jeux du Ludum Dare, et ça devrait suffire.
D’ailleurs, faut que je vous annonce mon classement. Eh bien on fera tout ça en même temps.
THCON + Ludum Dare, ça a été un beau bazar ces dernières semaines. Peut-être que maintenant je vais avoir du temps pour faire la road-map de Squarity ?
Il s’est passé un truc le 29 mars sur mon blog. Impossible de dire d’où ça vient, mais il s’est passé un truc. Admirez ci-dessous les statistiques des visites.
D’après les graduations de l’axe horizontal, ça n’a pas l’air de s’être passé le 29. Mais je vous confirme que si. Les graduations ne sont pas en face des histogrammes, c’est mal foutu. Comment peut-on afficher un graphe de manière aussi pourrie ? Bon, osef.
Dans les débuts de ce blog, je faisais attention aux stats. Mon article phare (les Chansons Pipi-Caca de Notre Enfance) ont fait monter les vues quotidiennes à 50, j’en étais très heureux. Puis c’est progressivement retombé à des valeurs plus humbles, autour de 20, et j’ai fini par me désinteresser des stats parce que ça ne redécollait pas. De toutes façons ce ne sont pas les vues qui m’intéressent, mais les commentaires. Cela dit, le nombre de commentaires ne décolle pas non plus.
Et donc, ce 29 mars, 194 vues de 21 personnes uniques. Est-ce que j’ai mes 20 personnes habituelles, qui ne consultent qu’un seul article chacune, plus une 21ème qui a consulté 174 articles ? Ou bien est-ce que chaque personne a consulté 9 articles et un peu moins d’un quart d’article ? Aucune idée. En tout cas il y a eu zéro commentaire.
Si vous étiez là le 29 mars, serait-il possible que vous reveniez pour mettre un tout petit commentaire, expliquant comment vous avez atterri ici ? En particulier si vous avez lu 174 articles. Merci d’avance et gros bisous.
Mangeons des stats.
Ma contribution au Ludum Dare 50
Le thème de cette édition était « Delay the Inevitable »
Mon jeu s’appelle Cat Fragmentator, il utilise Squarity, bien entendu.
C’est l’histoire d’une personne quelconque. Elle télécharge en continu des images de chats et finira inévitablement par remplir son disque dur. Vous êtes le USS-Fragmentor, un processus dans le disque ayant pour tâche de fragmenter les images afin d’optimiser l’espace. Déplacez-vous avec les flèches et utilisez la touche ‘1’ pour tirer votre laser découpeur.
Les images qui tombent vous éliminent, il faut les éviter. Les images déjà tombées ne font que vous bloquer.
Lorsque vous mourez ou lorsque le disque dur est plein (c’est inévitable !), le score s’affiche dans le log. Appuyez sur le bouton ‘2’ pour recommencer une partie.
Lien vers la description sur le site du Ludum Dare. Vous trouverez dans les commentaires la méthode de calcul du score, ce qui vous permettra d’overkiller les points et de faire du bragging auprès de vos amis.
Si vous avez un compte sur le Ludum, prenez le temps de noter le jeu et de lâcher un p’tit comm’. À moins que vous ne préfériez tester 174 jeux sans rien commenter.
Je ne ferais pas d’article post-creationem, car je n’ai rien de tonitruant à dire. J’ai appliqué la même méthode que les fois d’avant : avoir une idée puis réaliser cette idée, en essayant d’être le moins à l’arrache possible.
Je vous laisse, je suis actuellement dans la période « tester les jeux des autres pour avoir mon propre jeu testé ». Il faut aussi que je termine ce que j’ai à dire au sujet de Eye of the Beholder et All-Seeing Eye. Hey, lecteurtrice, tu réalises que ça te fera deux articles de mon blog le même mois ? Ça faisait longtemps que c’était pas arrivé. Comme quoi, 194 vues en une journée, ça motive.
Il est 3 heures du matin, je relirais ce texte plus tard.
Et sinon, quoi d’autres ?
Il y a quelques temps, je vous présentais un site qui permettait de mater les images d’Instagram sans avoir de compte, parce que c’est relou. Il ne marche plus. Ce n’est pas grave, d’autres ont spawné. Le stagram-crawler du moment, c’est gramhir.com.
Enjoy the image of this beautiful girl, elle s’appelle Renally Gabrielly, et elle est mannequin grande taille.
L’année dernière, je m’étais fait avoir avec cette connerie de février. Je croyais que j’avais le temps de finir mon article promis avant la fin du mois, et paf bernique, y’a que 28 jours dedans. Quelle merde. Essayons de ne pas refaire la même erreur.
La plupart des gens trouvent que le mois de février est tout pourri. Pas juste à cause du nombre de jours mal foutu, et qui en plus dépend de l’année, mais aussi parce qu’il est froid et qu’il n’a pas de fêtes notable (nouvel an ou autre jour férié). Il y a bien la Saint-Valentin, mais dans les conventions sociales, il est hype et branché de la détester, car c’est « trop commercial ».
Le fait que je soit né au mois de février est d’une ironie assez grinçante. Là c’est le moment où vous vous foutez de ma gueule que je puisse me plaindre de quelque chose d’aussi débile, ensuite c’est le moment où je vous envoie bouler. Le fait qu’on puisse se foutre de ma gueule du fait que je me plaigne de l’ironie grinçante de certains aspects de ma vie est d’une ironie grinçante au carré.
Les trucs du moment ?
Nouveau jeu dans Squarity, créé pour l’anniversaire d’un pote. Il comporte quelques private jokes qui vous échapperont, mais des indications au fil du jeu vous permettront de vivre toute l’aventure (si on peut appeler ça comme ça). Éventuellement, vous reconnaîtrez quelques images recyclées à partir de Pru-Pra-Prok, mon vieux vieux dessin animé.
La road map de Squarity n’est toujours pas terminée. Je suis actuellement ralenti par un autre side-project, qui sera mentionné au paragraphe suivant. Je n’arrive pas à avancer cette road-map. Est-ce qu’inconsciemment j’en ai peur ? Est-ce qu’inconsciemment je ne fais que la reporter, pour que Squarity reste un projet potentiellement réussi, plutôt qu’un projet que je finirais par abandonner comme plein d’autres ? Je ne sais pas. Je vous promet de m’accrocher et de rester motivé le plus que je peux.
Le side-project est un (voire deux) challenges de hacking que je prépare pour la Toulouse Hacking Convention. Ça doit rester top secret.
Cet article du site Rock-Paper-Shotgun est inspirant. Il peut vous aider, si, par exemple, vous auriez l’idée de créer des mini-jeux d’énigme dans, par exemple, Squarity.
Je me replonge un peu dans les crypto-monnaies, les NFT et autres bizarreries numériques. Tout le monde dit que c’est de la merde, ce qui constitue pour moi un argument suffisant pour que je m’y intéresse. Je suis un putain de rebelle. Je vous invite à suivre le projet cryptoeat.io, un site de vente de bonne bouffe avec un token spécifique, sur la blockchain BSC. Ça a l’air un peu plus valable que toutes les pyramides de Ponzi de Play2Earn qui inondent actuellement le ouaibe 3.0. Je dis ça alors que je me suis mis dans quelques unes de ces pyramides. Ironie. Comme d’habitude, n’investissez que ce que vous pouvez vous permettre de perdre.
Hayley « The Big Noodle » est jolie, s’habille bien et a de très beaux cheveux.
On est le 31 janvier, j’ai encore le droit de dire ça.
Il y a quelques années de cela, une Initiative Citoyenne Européenne (ICE) pour le Revenu de Base Inconditionnel était lancée.
Explication très rapide d’une ICE et du Revenu de Base
(que j’ai pompée d’un de mes précédents articles, désolé pour ce recyclage).
le Revenu de Base Inconditionnel (RBI) consiste à donner la même somme d’argent, tous les mois, à toutes les personnes d’un pays ou d’une région. Ce revenu continue d’être perçu même lorsqu’on commence à travailler, quel que soit le type de contrat de travail. La somme donnée est calculée de façon à pouvoir vivre « dignement », c’est à dire : bouffer, se loger et éventuellement acquérir certains biens culturels de base.
Une ICE est créée par un petit groupe de gens qui demandent une modification dans la loi (ça peut être un peu tout, à l’exception de troll-WTF caractérisé). Les citoyens de l’Union Européenne favorables à cette modification signent une pétition. Si un million de signature est rassemblé, la Commission Européenne est obligée de considérer la demande, d’y réfléchir et de donner un avis. Cet avis peut être « on ne fera pas votre truc, GTFO LOL », mais cela doit être accompagné d’arguments détaillés.
Cette ICE avait échouée. Le million n’avait pas été atteint.
Le myiard !!!!
On baisse pas les bras et on re-essaye
Une seconde ICE est actuellement en cours, elle dure jusqu’au mois de juin. Vous avez tout le temps pour la signer, mais trainez pas trop quand même.
Tout les détails, ainsi que le gros bouton « Je signe » sont sur le site officiel :
L’un des traditionnels « Raffarin pète-gonades memorial day« , qui vous invitait à signer la première ICE. Fun fact : à l’époque, cette journée s’appelait encore « Raffarin pète-burne » et non pas « Raffarin pète-gonade ». C’était pas inclusif, houuuuu.
Sam & Max avaient gentiment accepté que je m’incruste chez eux pour en parler. Leur blog n’existe plus, et c’est bien triste, mais il y a des auto-blogs de eux un peu partout.
Cette idée s’est tout doucement insinuée dans l’esprit des gens, y compris dans ceux de nos fringants dirigeants. On voit apparaître ici et là des petits tests locaux, en voici un exemple.
Ça ne respecte pas tout à fait la définition initiale d’un RBI, à cause de ceci :
L’expérimentation débuterait en mars 2022, avec une allocation mensuelle de 500 euros […] . Il serait également dégressif en fonction des revenus de leur foyer fiscal, à partir d’un minimum de 350 euros.
Le montant ne doit pas changer en fonction de ce qu’on gagne par ailleurs, sinon ça n’incite pas à travailler, et ça coûte plus cher car il faut des fonctionnaires pour vérifier le foyer fiscal des gens. Alors que ces fonctionnaires pourraient faire d’autres trucs plus utiles. J’aurais préféré une somme inférieure à 500 euros, qui ne change pas. Mais je vais pas faire ma mijaurée, c’est mieux d’avoir une expérimentation comme ça que rien du tout.
Européens de tous les pays, unissez-vous !
Bon, là c’est des russes et ça date de 2014, mais quand même, c’était l’eurovision, ça reste dans le sujet.
La THCON arrive bientôt. Si je peux, je créerais un petit challenge, voire deux. J’ai quelques idées. J’en parlerai ici-même lorsque l’événement sera passé.
Je suis actuellement en train de m’intéresser à la crypto-monnaie « WAX ». Y’aura peut-être des trucs à ce sujet ici, mais je ne sais pas quand ni quoi.
« ICE », ça veut dire « glace » en anglais. Voici donc une image tirée du film d’animation « Frozen ».
Je reprends les dessins du premier article et je transcris les notes manuscritées à l’arrache vers du vrai texte lisible. J’en profite pour corriger les fautes et ajouter des majuscules là où il aurait fallu en mettre dès le départ. (Pourquoi je me suis fait chier à écrire ces descrips en anglais, alors que je ne me suis pas fait chier à mettre les majuscules ? Mystère…)
Niveau 1
Le texte tout en haut explique rapidement ce que fait le bouton « push me ». Il a 4 positions différentes, chacune d’elle allume ou éteint les lance-flammes et fait en même temps tourner le mur rotatif.
A skweek (badly drawn). Moves like in the game « Tiny Skweeks ».
The yellow [one] can throw flames in any direction, which melts the ice, but this is not useful in that level.
The green [one] can throw a hook in any direction (like in « furries »). If the hook is fixed on a wall, the skweek can cross the holes between him and this wall. If the hook is fixed on an ice block, [the tiny drags] the ice block to him.
He takes the ice block.
An ice block. Skweeks can push it. [It] can’t stop in the middle of its way. [It] must bump in a wall or a skweek or whatever. When an ice block bumps in another ice block, the first is stopped, and the second starts moving in the same direction.
This squishes a skweek when he comes in it. If an ice block goes in it, the ice block is not squished, and [the squisher is now] considered as a wall.
This drives the skweeks and ice blocks in the direction shown.
This stops the skweeks and ice blocks when they walk on it. But they can move or be pushed just after, in any direction.
An electric field. Skweeks die when try cross it. Ice blocks are not affected.
A hole. Ice blocks pass across it, and skweeks fall in it. When a skweek fall in the hole, another skweek can pass across it, and green ones can cross them with the hook. But all this is not useful in that level.
A button. The door opens when an ice block or a skweek goes in it. Door closes if button is released.
A wooden wall. The yellow [one] can burn it.
The fruits (banana and apple) are just bonuses.
The super-rainbow-ball. The thing to get to finish the level.
Mon avis spatio-temporel
Il est « spatio-temporel », car je m’auto-donne un avis à propos de quelque chose que j’ai moi-même fait, mais avec plusieurs années de décalage.
Le bouton avec les 4 positions est un mécanisme trop compliqué. Les petits jeux-vidéos-puzzle de ce genre doivent être uniquement constitués d’éléments simples. La complexité et la difficulté de résolution doit provenir de l’agencement de ces éléments.
Les boutons « push me » que j’ai disséminés dans les différents niveaux permettent à la personne qui joue de déclencher directement les actions correspondantes. C’est une idée stupide, car les tinies ne sont plus les seuls à agir sur leur environnement. Ces boutons impliquent l’existence d’une crétinerie d’entité omnipotente pouvant foutre le bordel en appuyant n’importe quand et n’importe comment sur des crétins de boutons placés ici et là par une autre crétinerie d’entité omnipotente (possiblement la même). Ça n’aide pas à s’immerger dans le jeu ni à se mettre à la place des personnages.
Si réalise ce projet de jeu, je ne mettrais aucun « push me ». Il faudra donc que je retravaille tous les niveaux que j’ai déjà imaginés. On n’est plus à ça près.
Niveaux 2a et 2b
The red one can punch and destroy some walls, but not ice blocks. But this is not useful here and no blocks nor walls can be destroyed here.
A wall full of spikes. Skweek dies when they go in. But ice blocks fill the hole and skweek can then pass through it.
This changes the direction of skweeks and ice blocks that [arrives on it]. The button connected to it changes the [rotation sense].
This authorizes only the yellow one to pass through, not the green one, nor the others. But the ice blocks can pass, [and the green one can shoot his hook through it].
Mon avis spatio-temporel
Deux niveaux plutôt corrects, assez simple à résoudre, qui pourraient être placés un peu après le début du jeu, lorsque les mécanismes de chaque tinies sont déjà connus et que l’on peut commencer à proposer des petits challenges.
L’élément qui ne laisse passer que les tinies jaunes est super simple (on peut même dire « atomique »). Il est indispensable. Mais ce rayon jaune-rouge qui sort de nul part est visuellement pourri et pas du tout explicite. Je n’ai pas de meilleure idée pour l’instant.
Je l’ai déjà dit : le pouvoir du tiny rouge est merdique. J’essaye de régler cette erreur dans la suite de cet article.
Niveau 3
La note « only yellow passes » écrite en bas sert juste à indiquer qu’il faut rajouter un objet ne laissant passer que le tiny jaune. Je suppose que le niveau devient beaucoup trop facile si le rouge peut récupérer la rainbow-ball. Je dois avouer que je n’ai pas encore fait l’effort de retrouver la solution.
A door, activated by buttons. If the door closes while there is a skweek on it, it is squished.
A wooden wall, the yellow [one] can burn it.
A crackled wall, the red one can destroy it.
A turning panel. It has an arrow on one face, and nothing on the other one. It turns when activated by a button.
This button turns the panel and closes the door next to the super-rainbow-ball.
The « push me » that is on the left operates the 4 doors on the left, like this :
The last « push me » on the left operates only the 3rd door, just opening and closing it.
Mon avis spatio-temporel
Ce niveau est une catastrophe.
Des push-me partout, réalisant des actions bien trop nombreuses et bien trop compliquées. À jeter dans les oubliettes de la honte sans sommation.
Voici une description très résumée de ma méthode de level design : je me donne une astuce de départ qui sera plus ou moins difficile à trouver par la personne qui joue, et j’essaye de noyer cette astuce avec des petits détails et des astuces annexes. Au fur et à mesure que je dispose les éléments, je vérifie qu’il n’y a pas une solution plus facile qui passerait outre l’astuce de départ. Ces vérifications imposent souvent d’ajouter des éléments supplémentaires de « bloquage de solution facile ». Parfois, durant ce processus, d’autres idées me viennent et me permettent d’affiner l’astuce de départ.
Dans ce niveau, mon astuce de départ était que les enchaînements de 4 portes peuvent être très facilement traversés, mais dans un seul sens. Pour réussir le niveau, il faut trouver une méthode, moins évidente, pour.les traverser dans l’autre sens.
C’est pas clair ce que j’explique, et de toutes façons, ce niveau est parti en eau de boudin de manière effroyable. Je n’ai pas encore essayé de retrouver sa solution, mais il est fort possible que ce soit n’importe quoi.
Niveau 4
Faudrait que le bleu soit obligé de laisser un bloc avant de se téléporter, sinon le jaune ne peut pas se téléporter.
The blue skweek can create ice blocks in a square next to him, and of course, he can push them after the creation.
The three [wall] buttons opens/closes the door connected to it by the blue wire.
The button on (1), when it is pressed, closes the door that is just below him. When it is released, the door is re-opened.
The button on (3), when pressed, turns on the flamer connected to it. It is not turned off when released.
La note au milieu du niveau indique « invert these 2 buttons ».
On the tile marked (2) is a stop sign.
The two stars [are] teleporters. They work in only one sense : from the red to the white.
This authorizes only the blue one to go through.
Mon avis spatio-temporel
Je comprends pas bien la remarque que j’ai écrite en haut de la feuille. Ça me reviendrait peut-être si j’essayais de retrouver la solution.
Les lance-flammes sont une idée intéressante, car c’est un élément simple : il détruit les tinies et les blocs de glace qui passent dessus. Mais visuellement, on a un problème, qui rejoint le problème précédent. La flamme ressemble énormément au stupide rayon jaune-rouge qui ne laisse passer que les tinies jaunes. Faudrait vraiment re-réfléchir aux représentations de ces éléments.
C’est très étrange d’avoir passé du temps à élaborer ce niveau et de s’être assuré qu’il n’y a pas de solution évidente, pour finalement décider à l’arrache d’inverser 2 boutons. Ça laisse quelques doutes sur la qualité des vérifications sus-mentionnées.
Et comme d’hab’ : trop d’élément compliqués. Moins que dans le niveau 3 maudit, mais trop quand même.
Niveau 5
Séparer les boutons « press/release » et « press »
Idée : tout se résout si deux [tinies] bleus prennent chacun une énergie, mais il est au départ bien plus pratique de donner les deux à un seul (ou le contraire).
Dans plein de niveaux il y a des fils et des boutons cassés. On ne peut jamais rien en faire, sauf une seul fois à la fin.
Mon avis spatio-temporel
L’idée des énergies réparties entre les tinies est un exemple d’astuce pour démarrer la création d’un niveau.
Petit rappel : au début j’avais décidé que les tinies bleus pouvaient créer une infinité de blocs de glace, puis je me suis dit que ce serait overkill, et qu’ils auraient besoin de points d’énergie, récupérables en buvant de l’eau.
Par contre, le truc avec les fils et boutons cassés, je ne me souviens plus du tout ce que je voulais dire par là. On n’est plus à ça près.
Mon avis global sur tout ce bazar
L’idée initiale de ce projet de jeu continue de me sembler intéressante. Les personnages ne peuvent être contrôlés que partiellement, on les déplace mais on ne peut pas les arrêter où on veut. Cette idée provient du jeu original Tiny Skweek, qui n’a peut-être pas fait un carton, mais qui s’est réellement vendu et a rencontré son public. Elle est également exploitée dans un autre jeu : Atomix.
Par contre les niveaux que je vous présente ici, ainsi que la plupart des éléments que j’ai imaginés sont nuls et inutilisables en l’état. J’ai presque honte de vous montrer tout ça.
Comme je vous l’ai dit, ça date d’il y a plus de 15 ans. C’était une étape nécessaire pour ensuite imaginer Squarity et pour avoir un entrainement initial au level design. J’estime mes capacités actuelles de level design à « pas trop dégueulasse ».
Le niveau supplémentaire
Je vous avais aussi promis ça, hop !
Les tinies sont en bas à gauche, un rouge et un jaune (qui n’est pas colorié car j’avais pas de crayon jaune à ce moment là). Le jaune peut faire fondre le bloc de glace, comme d’habitude.
Le bidule au milieu à gauche est la rainbow-ball. Au milieu se trouve un bloc de glace. Le truc vert au milieu à droite est un fruit, supposément une pomme, mais mal dessinée.
Pas de stupide push-me impliquant une stupide entité omnipotente. l’unique bouton du niveau est une « pressure plate » (en haut). Lorsqu’un tiny ou un bloc de glace arrive dessus, la porte connectée par le fil rouge se referme. Elle ne peut pas se réouvrir. En résumé : n’appuyez pas sur la pressure plate, sinon c’est foutu.
Mon avis pas spatio-temporel
J’ai décidé de tester ce que donnerait le pouvoir du tiny rouge mentionné dans mon précédent article : lorsque le tiny est sur la même ligne ou la même colonne qu’un fruit, il se dirige automatiquement vers lui, y compris durant un déplacement.
Si il y a un obstacle entre le fruit et le tiny (par exemple un bloc de glace), le pouvoir ne s’applique pas et le tiny ne change pas de direction.
L’utilisation de ce pouvoir constitue l’astuce principale de ce niveau. Tout le reste autour, c’est de la broderie. Je vous laisse trouver la solution.
Je n’ai pas pris le temps de déterminer tous les cas particuliers de ce nouveau pouvoir du tiny rouge. Que se passe-t-il s’il y a un élément « stop » ou une flèche ou un trou, entre le tiny rouge et le fruit ? Est-ce que ce pouvoir s’applique lorsque le chemin pour aller jusqu’au fruit passe par un téléporteur ? Autant de questions que je n’ai pas réglées.
Les brouillons qui me restent
Tout en vrac. De toutes façons j’ai oublié le fonctionnement de ces niveaux, et même si ils étaient finis.
Un soutien (à mon petit niveau) pour ExoHydraX, une jolie jeune femme qui s’est fait bannir de Twitch, sans raison spécifique, comme d’habitude. Réseau sociaux dictatoriaux de merde (auquel je me soumets pourtant avec le sourire).
Et pour finir une superbe maquette de l’interface. (C’est dégueu et tout pensé à l’arrache).
Lâchez vos comm’ d’encouragement
Les différents succès que j’avais promis peuvent toujours être débloqués par des commentaires, dans cet article ou dans l’article initial. N’hésitez pas !!
Je vous avais promis deux articles pour le mois de février. J’ai échoué. Ce dimanche, mon ordinateur affichait la date « 28/02 ». L’article était bien avancé, je me suis dit que j’aurais largement le temps de le finir. Et d’un seul coup, on est passé au « 01/03 ». Calendrier grégorien de merde.
Comme vous le savez, j’aime les femmes rondes, les grosses fesses et particulièrement les gros seins. J’en saupoudre généreusement des images ici.
Il y a quelques années/mois, j’ai appris l’existence du Scar Project et du mouvement « no bra », qui m’ont tous les deux fait réaliser que ce serait bien d’équilibrer et de varier un peu mes bêtises.
Alors pour une fois, voici d’autres types de seins. Inhabituels, hors normes, hors formes, cassés, en panne, absents, mais toujours avec une personne derrière. Je vais essayer de faire ça dans le respect et la dignité. C’est pas gagné car ce ne sont pas des notions énormément mises en avant dans ce blog. Je fais avec.
Cliquez sur les images pour consulter les sources. Il n’y a pas spécialement d’ordre ni de logique dans les chapitres. À priori, je n’ai pas trop fait d’entorse au droit à l’image, mais si certaines photos n’ont pas leur place ici, dites-le moi, et je les enlèverais.
Réduction mammaire
Commençons par quelque chose de pas si inhabituel que ça. Une personne trouvant ses seins trop gros et qui décide de les réduire par de la chirurgie.
Deux mini-seins en plus des deux seins habituels
Ça arrive, c’est de naissance. Ils se situent sous les bras. Ça s’appelle « accesory axillary breast tissue ». Je n’ai pas trouvé la traduction en français.
Troisième (ou plus) téton
Il s’agit d’une particularité moins taboue que d’autres. Démocratisée grâce à je-ne-sais-plus-quel James Bond. En tout cas, Lily Allen en a un, qu’elle n’hésite pas à montrer.
(Je n’ai toutefois aucune idée de qui est cette « Lily Allen »)
Vous pouvez avoir plus que trois tétons, et ce n’est pas réservé aux femmes.
Oui, tant qu’à faire, cet article comporte également des poitrine d’hommes.
Des femmes rondes avec des seins de taille normale
Ben oui, toutes les femmes rondes n’ont pas des gros nichons.
Voici Danielle Bex :
Et Anna O’Brien, qui s’est dupliquée sur la même photo grâce au super-pouvoir de Photoshop/Paint.
Hypermastie / gigantomastie
Les seins vraiment très gros peuvent être considérés comme une pathologie, qui est officialisée par un article dans Wikipédia.
Ça n’affecte pas forcément les deux seins de la même manière, ce qui nous amène au chapitre suivant.
Asymétrie
Sans forcément aller dans les extrêmes, toutes les paires de seins sont plus ou moins asymétriques. Comme tout le reste du corps, qui n’est jamais parfait. Personnellement, mon testicule droit pend toujours plus que le gauche.
Les asymétries de seins trop prononcées peuvent être corrigées (ou pas) par de la chirurgie.
Le syndrome de Poland
Il s’agit d’une maladie rare, de naissance, qui affecte un côté du corps. La poitrine, mais aussi parfois la main, ne se développe pas assez.
Il est possible de se faire implanter une prothèse (ou pas). En revanche, les implants de tétons, ça n’existe pas vraiment, mais on peut se faire poser un « faux téton ».
Des gens déguisés en seins
C’est pas parce qu’il n’y a aucune raison de faire quelque chose qu’on doit s’empêcher de le faire.
Trois seins, comme dans Total Recall
Jasmine Tridevil (devinez quoi, c’est un pseudo !) s’est fait implanter un troisième sein, pour, entre autres, avoir sa propre émission de télé-réalité. Voilà voilà.
Le mouvement « no-bra »
Il a pour but de suggérer aux femmes de ne plus porter de soutien-gorge. Ce mouvement existe depuis plusieurs années, et s’est renforcé suite aux divers confinements, durant lesquels la tenue vestimentaire et les conventions sociales sont moins prédominantes.
Des études ont montré que les muscles qui tiennent les seins se développent plus quand on ne met pas de soutien-gorge, ce qui fait qu’ils ne « tombent » pas autant que ce qu’on pourrait croire.
Évidemment, sans soutien-gorge, on distingue les tétons à travers les vêtements. Ça peut choquer certaines personnes. En ce qui me concerne, ça ne me dérange pas, car j’aime bien les seins dans leur ensemble, tétons compris.
J’aimerais pouvoir vous promettre que si je croise une femme dans la rue ne portant pas de soutien-gorge, je ne me mettrais pas à la regarder bizarrement ni à m’attarder sur ses tétons. Mais je ne peux pas vous le garantir, car parfois, je ne peux pas m’empêcher de faire ce genre de choses même lorsque je croise une femme portant un soutien-gorge. Oui je sais, je suis un con.
Le mouvement « free the nipples »
On pourrait considérer que c’est le niveau suivant du mouvement « no-bra ». L’idée étant que puisque ça ne choque pas que les hommes puissent être torse nu, les femmes devraient aussi pouvoir l’être.
Je suis pour, évidemment.
J’ajoute que le fait de pouvoir se promener entièrement à poil (homme ou femme) mériterait d’être étudié.
The Scar Project
C’est une série de portraits de femmes ayant survécu à un cancer du sein. Les photos ont une intention exactement inverse des photos médicales que j’ai mises dans l’article. On voit les visages, les décors, éventuellement d’autres gens, et on peut essayer de deviner la personnalité de ces femmes.
Ces deux intentions, médicales et artistiques, m’ont semblé toutes les deux intéressantes. Voici donc quelques photos du Scar Project
Ce sera tout pour aujourd’hui. J’espère que ça vous a interpellé un minimum, et que ça vous a éventuellement plu. J’essayerais de refaire des articles du même genre à l’occasion. La ligne éditoriale blog-globale de ce blog ne changera pas pour autant, avec majoritairement des images de femmes rondes, de big asses et de gigantic boobs.
Je n’ai aucune idée du sujet du prochain article, je finirais bien par trouver un truc à l’arrache. Ce sera possiblement encore du Squarity.
Bisous sur les tétons, ou ailleurs pour les personnes qui n’ont pas de tétons.
À l’arrache ce mois-ci pour l’article de blog. Mais j’ai quand même du contenu à proposer. Comme on dit dans les basse sphères le la société : « chose promise, con tenu ».
Une fois de plus, c’est à propos de Squarity.
Voilà, j’ai fait un petit tutoriel, qui vous accompagne dans la création d’un sympathique petit jeu de soko-ban.
Vous n’avez pas besoin de connaissances en python pour le suivre. Il est assez long, mais super facile. Il suffit de copier-coller des bouts de code. Il y a parfois des questions, dont la réponse arrive peu de temps après, pour ne pas bloquer les gens. Ça ne vous apprendra pas le python, mais avec un peu de chances, ça vous donnera envie de programmer des jeux dans Squarity, et par ricochet, d’apprendre le python.
J’ai essayé de destiner ce tutoriel à des jeunes (collèges, lycées). Mais je ne sais pas du tout si c’est adapté et si ça marcherait avec une population de ce type. J’ai pas de collégiens/lycéens à portée de main. À une époque, je donnais des cours de python à un petit groupe, et à des stagiaires de découverte d’entreprise. Ça passait plutôt bien. Mais bon, je vais pas vous raconter ça maintenant. Peut-être dans un autre article, si je le juge digne d’intérêt.
Et vu que ce tutoriel permet de créer un soko-ban, je me suis dit, mettons ce jeu directement à disposition ! Ainsi fut fait.
Il y a juste un truc qui m’embête : le format préconise d’entourer le niveau par des murs. Je suppose que ça part d’une bonne volonté, ça permet de bien délimiter la zone de jeu, et de ne pas obliger à spécifier ses dimensions. Mais je trouve ça dommage.
Comme vous le voyez sur l’image ci-dessus, le niveau a une ouverture en bas. Les 4 niveaux que j’ai mis dans mon jeu en ont une. Ça ne respecte pas le format, et c’est inutile. Si vous vous déplacez jusqu’au bord de l’aire de jeu, il ne se passe rien.
Mais ça modifie un tout petit peu la narration et le ressenti pour la personne qui joue. Le personnage n’est pas enfermé. Il n’est pas condamné pour toujours à pousser des caisses. Avec cette ouverture, on imagine que le personnage arrive, pousse des caisses, puis repart vers de nouvelles aventures. Ça laisse plus de place à l’imagination qu’une stupide prison hermétique.
L’une des choses que j’ai vraiment aimé dans le jeu Drod, c’est le monde ouvert. Vous avez des énigmes à résoudre, indépendantes les unes des autres. Mais elles sont toutes connectées ensemble dans une grande aire de jeu. Vous vous promenez où vous voulez et vous avez une certaine liberté dans l’ordre de résolution des énigmes. Je me serais beaucoup moins amusé si Drod avait été une simple succession de salles à réussir dans un ordre imposé.
Je suis actuellement en train de découvrir « Caves of ZZT ». On y trouve cette même idée de monde ouvert, qui me donne toujours envie d’aller dans les salles autour « juste pour voir », puis de résoudre la salle dans laquelle je suis, juste pour avoir accès à d’autres salles, et ainsi de suite.
Le level design, même pour des jeux aussi simplistes qu’un soko-ban, est super important. Il ne faut pas se contenter de placer les objets nécessaire à l’énigme. Il faut essayer de raconter une histoire, fut-elle si petite qu’elle tiendrait dans un quart de tweet.
Carte complète de Plankton, un jeu fait avec ZZT. Cliquez sur l’image pour en avoir plein d’autres
Michèle Tore !
Jeudi dernier, j’étais en train de faire l’andouille sur ma chaîne twitch et de me la péter avec mon tout nouveau tutoriel. Au cours de la discussion avec des ordispectateurtrices, on m’a demandé de faire un soko-ban « comme dans un niveau de pacman ». J’ai dit : « Ah ba ça, ça tombe bien alors ! on a déjà un pacman dans Squarity, je vais copier-coller la carte du niveau et tu l’auras dans le soko-ban ».
Après quelques modifications hasardeuses et un adaptation des caractères définissant le niveau, nous sommes arrivés à nos fins.
Et là, l’ordispectateutrice de tout à l’heure me précise que le terme « comme pacman » avait pour intention de signifier « quand le personnage va tout à gauche il se retrouve à droite et vice-versa ». Cette personne voulait un univers en tore bidimensionnel. J’avais mal compris.
Qu’à cela ne tienne, après quelques modifications supplémentaires, le soko-ban atterrissait dans un univers bidimensiotorique. Et moi qui dissertais tout à l’heure sur l’intérêt des mondes ouverts et l’importance de mettre une entrée/sortie, même fictive, eh bien là, le monde se retrouvait horriblement fermé puisque replié sur lui-même. Argh !!
En attendant, c’est plutôt rigolo, et ce serait super chouette si de gentilles personnes me créait des niveaux qui utiliserait cette particularité bidimensiotorique. J’ai partagé cette version du jeu, vous pouvez y jouer directement par ici.
Vous en avez peut-être marre de Squarity ?
Ça fait 6 articles et 5 mois que je ne parle que de Squarity dans ce blog. Peut-être que ça vous incommode, que « c’était mieux avant » quand je vous parlais de tout et n’importe quoi.
Désolé. C’est mon gros projet du moment. Il est possible que ça monopolise une grosse partie de mon temps libre des années à venir. Alors forcément, je le raconte ici.
Voici une proposition pour limiter un peu la squaritification de ce blog : pour le mois de février, je vous fait DEUX articles ! Un concernant Squarity, et un concernant tout autre chose. Ce sera sur un sujet qui me tient à cœur et que j’ai déjà mentionné une paire de fois : les nichons.
Et puisqu’il y aura deux articles, je vous propose une photo avec deux belles femmes : les jumelles Rocio et Lucia Mais. Pour le coup, c’est pas vraiment sur les nichons qu’il faut porter le regard, mais elles sont quand même magnifiques :
C’est à 9 secondes dans la vidéo d’origine.
À bientôt, puisque le mois de février, c’est dans bientôt.