La cabine est le menu
Sillon n'a pas d'écran de conduite. Un pupitre, un levier à quatre crans, un sifflet, un foyer : tout ce qui se pilote se pilote depuis la cabine, en marchant jusqu'à l'organe. Ce que ce parti pris impose, et comment je vérifie qu'il tient.
Pas d'écran de conduite
Sillon est mon jeu de train contemplatif : une petite ligne de campagne, six gares, des voyageurs à poinçonner, du charbon à enfourner. La démo 0.1.0 est sortie sur itch le 7 août 2026. Et depuis le début, une règle tient tout le reste : il n'y a pas d'écran de conduite. Pas de panneau de vitesse en surimpression, pas de menu radial, pas de HUD qui pilote. Le poste de conduite est un lieu. On y entre, on s'assoit, et les commandes sont des objets.
Le levier de régulateur a quatre crans, du point mort à la pleine allure. Le sifflet est une corde qu'on tire. Le frein est un organe qu'on arme. Le foyer se nourrit à la pelle. Chacun occupe une place dans la cabine, et pour agir sur l'un d'eux, il faut que le conducteur soit à sa portée. Conduire, c'est habiter un espace de deux mètres sur trois.
Le clic n'est pas un curseur
La version de travail acceptait le clic-pour-marcher : taper le sol, regarder le conducteur y aller. Je l'ai retiré. Le déplacement appartient aux touches, et le clic ne fait plus qu'une chose : agir sur ce qui est à portée. Cliquer un organe hors de portée ne déclenche rien, pas même un pas.
Ce refus a une raison. Si le clic téléporte l'intention, le corps du conducteur cesse de compter, et la cabine redevient un menu avec un décor. En forçant la marche, chaque geste retrouve un coût : baisser le régulateur puis siffler, c'est deux places différentes devant le pupitre. C'est exactement le rythme que je veux pour un jeu qui parle de trajets lents.
La légende vit sur le pupitre
Sans menu, une question devient aiguë : comment le joueur sait-il quelle touche actionne quoi ? La réponse est allée au bout de la logique : la légende aussi vit dans la cabine. Chaque fonction du panneau porte un cabochon de touche, avec son mot, posé sur la tablette du pupitre, la seule bande qui traverse toute la largeur sans rien porter.
Deux détails de cette légende m'ont appris quelque chose. D'abord, le groupe du régulateur se cale à gauche de son secteur : posé au milieu, il était impeccable sur ma maquette, prise au cran 2 ; mais le bras du levier balaie tout l'intérieur du secteur et l'aurait traversé au cran bas. Une maquette est une pose figée, elle cache ce qui bouge. Ensuite, le manomètre et les braises n'ont pas de cabochon : rien ne les actionne. Leur donner une touche aurait été un mensonge d'interface, la promesse d'un geste qui n'existe pas.
Ce que le parti pris coûte
Une interface qui vit dans l'espace se paie en pixels. En jouant, les zones d'interaction de la cabine se marchaient dessus : six paires en recouvrement, 196 pixels de zones dans 102 pixels de cabine, presque le double du disponible. Le foyer réclamait un rayon de quatre fois sa propre largeur et contenait le coffre en entier.
La sortie n'a pas été de régénérer le sprite de la locomotive : il porte la direction artistique du jeu, sa palette a servi à recaler tout le reste. La cabine s'est allongée de 58 copies d'une colonne déjà dessinée, insérée là où l'écart est nul, et chaque zone a reçu un rayon calculé, demi-largeur du sprite plus trois pixels de grâce. Zéro recouvrement, un peu d'air entre chaque paire. L'assertion qui garde cette propriété lit les positions et rayons vivants, jamais les constantes qui les ont posés.
Ce que j'en retiens
Une interface diégétique n'est pas une coquetterie visuelle, c'est un contrat : tout ce qui a l'air actionnable doit l'être, tout ce qui ne l'est pas doit le dire, et l'espace doit donner à chaque organe la place de son geste. Le contrat se vérifie comme n'importe quel autre : par des assertions qui jouent le geste au lieu de relire la configuration. Si votre interface promet quelque chose, testez la promesse du côté où le joueur la reçoit.