Pourquoi je crée Squarity ?

Lors d’une enième conférence de coaching en création de startuffe, un quelconque corporate-bullshiste officiel a dit : «start with ‘why’, not with ‘what’ or ‘how’».

Ce n’est pas ce que j’ai fait avec Squarity. J’ai starté with « on-va-d-abord-s-assurer-de-la-faisabilité-technique-de-l-idée », car compiler du python en live dans un navigateur web, c’était pas gagné d’avance. Maintenant que je suis à peu près sûr que ça fonctionne, je peux continuer with « why ».

Vous trouverez dans mon repository de doc le texte officiel détaillant ce why et les spécificités de Squarity par rapport à d’autres moteurs de jeux.

Il y a d’autres raisons, plus intimes, provenant de l’adolescent immature que je suis. Je ne les ais pas mises dans le texte officiel, car ça pourrait dérouter des personnes qui ne connaissent ni moi, ni Squarity.

Mais si vous êtes sur ce blog et que vous ne vous êtes pas encore enfui, il est fort possible que vous me connaissiez déjà un minimum, donc que mes bêtises plus intimes ne vous choquent pas. Ce qui nous amène à :

« Pourquoi je crée Squarity ? » version adolescent immature

Les raisons sont à peu près classées de la moins bizarre à la plus bizarre.

Puzzlescript

Le déclic a été provoqué par PuzzleScript. En découvrant cet outil, je me suis dit que son potentiel était énorme, mais qu’il manquait tous les à-côtés : un espace d’échanges, une doc plus fournie avec des exemples commentés, un système de débug plus élaboré, des tests unitaires, des vraies images pour les sprites, etc.

J’étais parti pour forker/contribuer au projet et apporter progressivement ces à-côtés. Mais je me suis aussi souvenu de cet article de Sam et Max, expliquant que créer des « Domain Specific Language » est souvent une idée à la con, et qu’il vaut mieux créer une API sur un langage existant (au hasard le python). Ce que je suis en train de faire.

Un DSL pour tous les serpents (pas que les pythons)

Anna Anthropy et ZZT

Souvenir de mes années collèges.

Je joue à Jill of the Jungle. Un petit readme publicitaire y est inclus, mentionnant le jeu ZZT et son éditeur de niveaux. C’est du mode texte, ce qui est techniquement cheap, même pour l’époque. Je remise ce souvenir au fond de mon cerveau pour un éventuel rappel ultérieur. Je passe à d’autres choses, principalement : mater les seins de mes camarades de classe.

Il y a deux ans, alors que l’idée de Squarity commençait à germer dans mon esprit, je tombe sur la collection de livres « Boss Fight Books ». L’un d’eux, écrit par Anna Anthropy, a pour sujet ZZT. Je me fait offrir ce livre pour mon anniversaire, dans le but de parfaire ma culture concernant les jeux dotés d’un éditeur de niveaux.

Je découvre Anna, les histoires qu’elle a traversées, son engagement pour la diversité culturelle et la fanzinicité des jeux vidéos, la foisonnance de mondes ZZT que des adolescents déversaient sur les serveurs BBS. Je me sens bizarre en lisant l’histoire de Drako et son « Edible Vomit », je me vois dans le trou qui aurait pu être comblé « if only you had committed more », j’ai une petite larmichette à la dernière page où elle se remémore avoir échoué à récupérer 5 symboles de Venus violets.

J’aimerais avoir le soutien de Anna Anthropy pour Squarity. Je n’ose pas la contacter pour l’instant, car le projet n’en est qu’à ses débuts. Plus tard, peut-être.

J’ai récemment fini « Caves of ZZT » et je m’attaque à « Town ».

Nostalgie de ma renommée Turbo Pascalienne

Au lycée, je créais des petits jeux et des animations en Turbo Pascal. Je vous en ais parlé, et j’ai publié une partie de ces vieux trucs.

Je les mettais sur des disquettes et les distribuais à mes potes. Ils trouvaient ça génial. J’ai donné des cours à certains d’entre eux. J’étais une putain de re-sta. Auprès d’une catégorie très restreinte de lycéens, certes, mais une putain de re-sta quand même.

Il faut donner le plus de moyens possibles aux ados actuels d’expérimenter la démarche de créer des choses en informatique et de les partager. Ce ne sera pas sous forme de disquettes ni de programmes Pascal, mais si ça peut être sous forme de jeux dans Squarity, ça me rendrait très heureux.

Renommée, renommée… Qui es-tu, renommée ?

Augmenter ma capacité à finir mes projets

Comme vous le savez, j’ai un historique créatif assez fourni : jeux, dessins, textes, … Cependant, mon ratio « projets vraiment terminés / projets envisagés » est très peu glorieux. Je ne me fais plus d’illusion, je sais maintenant que j’ai du mal à m’investir dans un projet personnel sur du long terme. Mes plus hauts scores ont été le dessin animé Pru-Pra-Prok et le jeu Blarg, qui ont chacun duré une année (pour un résultat hautement discutable). Ma participation au Magazine 42 a duré plus longtemps, mais je considère ça comme un enchaînement de petits projets, et non pas un seul gros.

Face à mes difficultés à rester motivé sur du long terme, j’ai logiquement décidé de me lancer dans un gros projet de long terme, dont la finalité est de m’aider à créer des petits projets de court terme, à savoir, des jeux dans Squarity.

Comment ça, c’est pas logique ?

L’hôtel Ryugyong : un projet pas fini, mais lumineux.

L’amour, bordel ! L’amour !

Souvenir de mes années lycées.

Je suis amoureux d’une fille. Je passe plusieurs mois à penser à elle sans rien oser faire. Puis je lui écrit une lettre d’amour. Une envolée lyrique classique, mais franchement pas dégueue. Avec le mot « princesse » dedans.

Sauf que je n’ose pas venir lui en parler. Je ne lui montre aucun signe d’intéressement. À tel point qu’elle se demande si ce n’est pas une blague, si ce n’est pas un crétin random qui a écrit cette lettre pour se foutre de ma gueule et/ou de sa gueule à elle.

Il faut que j’en parle à mes potes (ceux mentionnés précédemment, qui me considèrent comme une re-sta), mais même ça, je n’ose pas le faire.

Alors je crée un jeu, sur le même principe qu’Atomix, en 3D iso et avec plusieurs étages. Je place une lettre du prénom de mon amoureuse sur chaque étage, puis je construis un niveau à partir de ça (du level design de dingo !). Je montre ce jeu à mes potes, qui découvrent la vérité.

Quelques jours plus tard, j’envoie l’un des potes révéler à cette fille que ce n’est pas une blague et que je suis vraiment amoureux d’elle. Encore quelques jours plus tard, dans un ultime boost de courage, je vais moi-même lui parler. Comme vous vous en doutez, elle me congédie poliment.

On n’est pas sorti ensemble. Puis j’ai perdu les fichiers du jeu. À moins que je ne les ais consciemment effacés. Je ne sais plus.

Un jeu vidéo n’est qu’une solution parmi d’autres pour révéler un amour, directement à la personne concernée, ou par pote interposé. La seule solution dont j’étais capable à l’époque. J’aimerais que Squarity soit un moyen pour plein de gens d’exprimer plein de choses.

Elle était magnifique comme ça.

Ma dépendance à la création de jeux

J’ai une dépendance légère au jeux vidéos, mais aussi une dépendance à la création. Je suppose que ça provient de mon indécrottable désir d’auto-flattage d’égo, et peut-être aussi d’une certaine envie de pouvoir suprême. La première fois que j’ai compris le concept de la programmation (alors que je ne savais pas programmer), j’ai réalisé que ça pouvait faire de moi un Dieu. Un Dieu d’un monde limité à un écran, mais un Dieu quand même.

Alors j’ai pris tous les outils de création de jeux qui me tombaient sous la main et j’ai fait tout et n’importe quoi avec. J’ai …

  • dessiné des décors de Saphir,
  • fait de l’Ascii Art sur un TO7-70,
  • modélisé un début de château avec 3D Construction Kit,
  • créé un cosmo-shoot et un casse-brique-Metroidvania avec Klik’n Play (les sauvegardes se corrompaient toutes seules, ce logiciel est une arnaque),
  • architecturé des niveaux de Doom (la compilation plantait avec le message « nodes will be inaccurate », DoomCad est une arnaque),
  • organisé des enchainements d’événements improbables dans Incredible Machine,
  • produit une suite complète de niveaux de Logical,
  • bidouillé des maps de Warcraft 2,
  • imaginé un gigantesque jeu dans le style Tiny Skweeks, avec des dizaines d’éléments,
  • level-designé un niveau de Jama-Jama (jeu qui a disparu de l’internet),
  • raconté un début d’aventure épique dans Drod,
  • conceptualisé un langage universel permettant de formaliser des règles de jeu de Match-3,
  • programmé des jeux en Pascal, en Delphi, en C++, en python, en PuzzleScript, en slip, en fer, en enfer,
  • j’en oublie.

Alors voilà. Squarity est l’aboutissement de tous ces trucs, en même temps que le démarrage d’un tas d’autres trucs. Venez, on va s’amuser !

Tout a commencé dans une piaule de cet acabit.