Plan de ville en pixel art : de Bourg Palette à Pelican Town, mesuré
Un village de départ de Pokémon fait environ deux écrans de console portable sur deux, et une ville de n’importe quelle taille place sa première porte à une douzaine de cellules de marche de l’entrée. Sur seize villes de Rouge et Bleue, Cristal et Émeraude, mesurées par une marche sur les données de collision de chaque jeu à partir des cellules dans lesquelles un marcheur peut réellement passer depuis la route précédente, la première porte se trouve à 5 à 17 cellules de l’entrée, médiane 12 ; dans les treize villes dotées d’un Centre Pokémon, le point d’arrivée de Vol est la cellule juste sous sa porte ; l’Arène et le laboratoire du professeur tendent à occuper l’extrémité opposée.1234 Les rues font de 3 à 7 cellules de large en médiane, les 35 panneaux muraux des Centres et des Boutiques se tiennent tous sur la rangée de leur porte, chaque ville sauf les trois villages de départ et un port a deux sorties à pied ou plus, et deux des trois villages de départ n’ont aucune extrémité de cul-de-sac.5678 J’ai mesuré le canon parce que ma propre ville, Kiradex World, avait besoin d’un plan plutôt que d’une image. Sur les onze vérifications, six sont fixées d’après les valeurs du canon, dont une au niveau des villages, et cinq sont les miennes ; au build 35, la ville en réussit six et en échoue cinq : sa boutique de cartes est encore dans la ville, la porte la plus lointaine à 23 cellules, au lieu de se trouver dans la rue des Classeurs à l’est, où le billet de cette série sur les routes la place ; deux trajets se resserrent à une cellule ; elle a 17 extrémités de cul-de-sac, un panneau pour sept portes et aucune sortie.98 Voici la forme mesurée d’une ville, trois références modernes, les règles chiffrées, ce qu’un iPhone montre d’une ville et le cahier des charges.
En bref
- Une ville se mesure en écrans. Bourg Palette, Lavanville et Bourg Geon font exactement 2 écrans de Game Boy sur 2, soit 20 cellules sur 18 ; Jadielle, Argenta, Azuria, Mauville et Doublonville font 4 sur 4, soit 40 sur 36 ; Bourg-en-Vol et Rosyères, dans Émeraude, font 2,67 écrans de Game Boy Advance, Clémenti-Ville 6, Mérouville et Poivressel 16, Nénucrique 21,3.1011124
- Vous croisez une porte en une douzaine de cellules, et le service en une quinzaine. La première porte depuis l’entrée de l’histoire se trouve à 5 à 17 cellules de marche, médiane 12. Dans Rouge, Bleue et Cristal, le Centre Pokémon est la première porte dans six des sept villes qui en ont un (à Doublonville, à égalité avec le grand magasin) ; Émeraude le recule dans ses villes (quatrième à Mérouville, Poivressel et Lavandia) et le garde à cinq cellules de la route à Rosyères.1
- Le voyage rapide vous dépose à un pas du service. Dans les 13 villes dotées d’un Centre, le point d’arrivée de Vol, de soin ou d’apparition est la cellule juste au sud de la porte du Centre ; dans les trois villages natals, c’est la cellule au sud de la porte d’entrée du joueur.1314151
- Les villes se parcourent presque en ligne droite ; le long détour est réservé à quelques portes. En mesurant chaque ligne droite depuis la cellule où commence son trajet, la médiane du rapport entre distance marchée et distance en ligne droite vaut 1,00 dans huit des seize villes et de 1,07 à 1,31 dans les huit autres, la plus haute dans trois des cinq villes de la taille d’un village, Lavanville, Bourg Palette et Bourg-en-Vol, où aucune porte ne s’atteint en ligne droite mais où aucun trajet ne la dépasse de plus de 6 cellules ; 58 des 112 trajets de l’entrée à une porte sont exactement aussi longs que la ligne droite. Les 9 trajets d’au moins deux fois la ligne droite mènent à des portes isolées, huit dans quatre villes, Nénucrique, Doublonville, Lavandia et Argenta, et un à Bourg Geon : le magasin de vélos de Doublonville est à 46 cellules de marche de l’entrée sud contre 14 en ligne droite, parce qu’environ 45 maisons sans porte forment un quadrillage de ruelles.3116
- Les panneaux muraux se tiennent sur la rangée de leur porte ; le nom de la ville se tient plus loin. Sur 113 événements de panneau, les 35 panneaux muraux des Centres et des Boutiques sont tous à une ou deux cellules à droite de la porte, sur sa rangée ; des 54 panneaux de nom de bâtiment, 27 se tiennent sur la rangée de leur porte, le plus souvent deux cellules à gauche ; le panneau de la ville est à une médiane de 15 cellules de marche de l’entrée et plus proche que la première porte dans 4 villes sur 16 seulement, ce que je lis comme un panneau placé là où les chemins se rejoignent.6
- Passé le départ, une ville a deux issues. Bourg Palette, Bourg Geon et Bourg-en-Vol, les trois villages de départ, ont chacun une sortie à pied, tout comme Nénucrique, un port dont la seconde sortie se fait par la mer ; les douze autres villes en ont de deux à quatre ; Bourg Palette et Bourg-en-Vol n’ont aucune extrémité de cul-de-sac, tandis que les grandes villes d’Émeraude en ont jusqu’à 2,75 pour 100 cellules praticables.785
- Ce que cela donne à Kiradex. Un cahier des charges en cellules, ajusté au plan du monde publié par le billet sur les routes de cette série : quatre quartiers nommés, la halle comme première porte à 10 cellules de marche au plus de l’arrivée, la boutique de cartes déplacée dans la rue des Classeurs comme première porte après le raccord est, chaque trajet de l’arrivée à une porte large d’au moins 2 cellules, au plus 6 extrémités de cul-de-sac, quatre panneaux, le panneau mural de la boutique là où le canon le met et, par mon choix contre le modèle du canon, le panneau de la ville à 6 cellules au plus de l’arrivée, là où le téléphone le montre, des raccords ouverts sur les bords nord et est, et la station de tram de la ville ainsi que le point d’arrivée des sauts sur la cellule sous la porte de la halle, chacun étant une vérification que le script d’acceptation (C1 à C11 aujourd’hui, C12 à C14 proposées), un test d’interface ou une capture du simulateur peut valider ou faire échouer.917
1. Ce qu’est une ville, et comment seize d’entre elles ont été mesurées
Un précédent billet de cette série a mesuré ce qu’est un bâtiment : une emprise, un kit, un toit dessiné par-dessus le marcheur, une porte qui téléporte.18 Une ville est la question de l’étage au-dessus, et les tutoriels en parlent encore moins que des maisons. Ce qu’ils omettent, c’est l’arithmétique : la taille d’une ville par rapport à l’écran pour lequel elle a été dessinée, la distance entre la première porte et votre point d’arrivée, la place du service quotidien par rapport à l’entrée, la largeur des rues, l’emplacement des panneaux, le nombre d’issues. Ce sont des nombres, les jeux décompilés les contiennent, alors je les ai mesurés.
Les écrans pour lesquels ces villes ont été dessinées
Un écran de Game Boy fait 160 pixels sur 144 (def SCREEN_WIDTH_PX equ 160, def SCREEN_HEIGHT_PX equ 144), soit vingt tuiles de 8 pixels sur dix-huit, c’est-à-dire dix cellules de marche de 16 pixels sur neuf.19 Rouge et Bleue maintiennent le joueur à un endroit fixe de cet écran : le moteur lit la tuile sur laquelle se tient le joueur à la tuile d’écran (8, 9) (lda_coord 8, 9 ; tile the player is on), la tuile inférieure gauche des deux sur deux du joueur, si bien que le joueur se tient dans la cellule (4, 4) de la vue de dix sur neuf, avec quatre cellules de ville visibles à gauche, cinq à droite, quatre au-dessus et quatre en dessous.202 Un écran de Game Boy Advance fait 240 sur 160 (#define DISPLAY_WIDTH 240, #define DISPLAY_HEIGHT 160), soit quinze cellules sur dix.21 Le tampon de carte d’Émeraude énonce la vue dans un commentaire : « the player has 7 metatiles of view horizontally in either direction » (le joueur voit 7 métatuiles de chaque côté à l’horizontale).22
Le temps de marche est l’autre unité. La marche normale d’Émeraude avance par seize pas d’un pixel par cellule (sStep1Funcs contient seize entrées Step1 pour MOVE_SPEED_NORMAL), une cellule prend donc seize images, environ 0,27 seconde aux quelque 59,7 hertz de la console, soit 3,7 cellules par seconde.2324 Dix cellules, la limite du cahier des charges pour la première porte, représentent là environ 2,7 secondes de marche.23
Les seize villes et la méthode
Seize villes ont été lues dans les décompilations de pret : Bourg Palette, Jadielle, Argenta, Azuria et Lavanville dans pokered au commit d2704a6 ; Bourg Geon, Ville Griotte, Mauville et Doublonville dans pokecrystal à 5beda23 ; Bourg-en-Vol, Rosyères, Clémenti-Ville, Mérouville, Poivressel, Lavandia et Nénucrique dans pokeemerald à 731ad5b.234 Pour chaque ville, un chargeur construit une grille de cellules de marche de 16 pixels avec une classe par cellule (praticable, eau ou bloquée), les événements de téléportation qui sont ses portes, ses événements de panneau, ses connexions de carte et son point d’arrivée de Vol, et un module commun calcule tout le reste.5
La collision est décodée comme chaque moteur la décode. La génération 1 teste la tuile inférieure gauche de 8 sur 8 d’une cellule contre la liste des tuiles franchissables du tileset ; la génération 2 lit quatre octets de collision typés par bloc de 32 pixels et associe chacun à terre, eau ou mur par sa table de permissions ; la génération 3 lit les deux bits de collision et l’altitude sur quatre bits de chaque cellule de map.bin ainsi que l’octet de comportement de sa métatuile, l’eau étant les comportements marqués comme surfables.2526275 La distance de marche est un parcours en largeur à pied, dans quatre directions, avec les rebords à sens unique (un saut couvre deux cellules) dans les trois générations et la règle d’altitude d’Émeraude (IsElevationMismatchAt, ObjectEventUpdateElevation), si bien qu’un marcheur ne peut pas passer entre des cellules de hauteurs différentes, sauf par la valeur de transition qu’utilisent les escaliers.518 La distance à une porte est le meilleur voisin praticable plus le pas qui mène sur elle. Chaque trajet vers une porte est consigné avec sa distance de Manhattan, la ligne droite le long de la grille, à côté de lui dans les fichiers de mesure, et les trajets de l’entrée aux portes sont listés porte par porte avec les deux ;16 là où le texte compare les deux, il donne les deux. La ligne droite est mesurée depuis la cellule même d’où part le trajet le plus court ; quand plusieurs cellules d’entrée sont à égalité pour le trajet le plus court, la plus courte de leurs lignes droites est retenue. Une cellule d’entrée dont le propre trajet n’atteint pas la porte ne fournit jamais de ligne droite, si bien qu’un rapport entre distance marchée et ligne droite n’est jamais inférieur à 1 ni gonflé par une cellule qui ne mène nulle part.5 Chaque médiane de ce billet est la médiane ordinaire : sur un nombre pair de valeurs, c’est la moyenne des deux valeurs centrales, si bien que la porte médiane d’une ville peut finir en ,5.28
L’« entrée » de chaque ville est la connexion vers l’étape précédente du fil principal de l’histoire, ce qui relève de mon choix de côté ; la connexion et son décalage sont ceux de l’en-tête de carte. Une cellule de ce bord ne compte comme départ que si un marcheur peut y passer : la cellule qui lui fait face sur la route, placée par le décalage de la connexion, doit être praticable à pied elle aussi, et un trajet sur la route, depuis l’endroit où le joueur y arrive, doit atteindre cette cellule en face.51 Le trajet sur la route part de la téléportation par laquelle le joueur sort (la sortie du Mont Sélénite sur la Route 4, la bouche sud du Tunnel Roche sur la Route 10, le poste nord de la Forêt de Jade sur la Route 2, le poste du Bois aux Chênes sur la Route 34, la sortie nord du Bois Clémenti sur la Route 104), des propres points de passage de la route avec la ville précédente ou, pour Poivressel, de la cellule où le bateau de Mr. Briney dépose le joueur, trois pas au-dessus du bateau sur la Route 109.234 Une valeur de première porte est le minimum sur les cellules qui remplissent la condition. Bourg Palette, Bourg-en-Vol et Lavanville s’abordent par le nord ; Jadielle, Argenta, Doublonville, Rosyères, Mérouville, Poivressel et Lavandia par le sud ; Azuria et Bourg Geon par l’ouest ; Ville Griotte et Clémenti-Ville par l’est ; Mauville par les deux téléportations de son poste est ; Nénucrique par l’ouest.293031 La règle compte : le bord sud de Rosyères a 12 cellules praticables, mais le chemin de la Route 101 n’en rejoint que quatre ; le bord ouest de Bourg Geon en a 4, mais la Route 29 en rejoint 2 ; et des 19 cellules du bord ouest d’Azuria, le trajet depuis le Mont Sélénite passe dans 2.1234
Les emprises des bâtiments sont nécessaires pour les parts des villes, elles ont donc été mesurées à nouveau, de deux façons. Dans Émeraude, un remplissage par diffusion depuis chaque porte s’étend sur les cellules bloquées dont la métatuile n’apparaît jamais sur les cartes de route hors des téléportations, subit une ouverture de deux sur deux, puis est vérifié sur un rendu de chaque ville ; 9 des 53 contours (52 bâtiments et l’entrée de grotte de la Planque Aqua) ont été fixés à l’œil là où le remplissage avait englobé des haies, des arbustes ou une sculpture (la maison de Timmy, la deuxième maison de Clémenti-Ville, la Tente de Combat, le musée, le chantier naval et la maison côtière de Poivressel, le magasin de vélos et deux maisons de Lavandia). Dans Rouge, Bleue et Cristal, chaque emprise a été lue à l’œil sur des rendus en niveaux de gris avec une grille de 16 pixels, chacune vérifiée contre sa téléportation, parce que leurs tuiles de toit sont partagées avec le décor et que le remplissage ne pouvait pas les séparer.423 Là où ces emprises recoupent le tableau du billet sur les structures, elles concordent avec lui, sauf une : l’Arène d’Azuria fait ici 8 cellules sur 4, lue sur le rendu, contre les 6 sur 4 que ce tableau donne pour une Arène de Rouge et Bleue et la largeur de six cellules qu’il indique pour une Arène dans les trois jeux ; les Arènes d’Argenta et de Jadielle font ici aussi 6 sur 4. Pour le reste, ce billet cite ce tableau plutôt que de le répéter.182
Quelques définitions valent pour tout le billet. La part des bâtiments est chaque cellule à l’intérieur d’un rectangle d’emprise, y compris les coins chanfreinés praticables d’une Arène et le faîtage praticable d’Émeraude ; « autre bloqué » désigne les arbres, clôtures, rebords, panneaux et rochers ; les parts portent sur toute la disposition telle que le jeu la stocke, bordures d’arbres et de mer comprises. La largeur de couloir est, pour chaque cellule praticable, la plus courte de ses séquences praticables horizontale et verticale, une mesure par cellule plutôt que la largeur d’un chemin dessiné. Une extrémité de cul-de-sac est une cellule praticable qui a exactement un voisin praticable, sans compter les approches de porte ni les cellules du bord de la carte. Une sortie à pied est une ouverture distincte sur un bord de carte que le trajet depuis l’entrée atteint : une connexion avec un point de passage (une cellule de la ville et la cellule en face sur la carte connectée, toutes deux praticables) dont le trajet atteint la cellule de la ville, ou une téléportation de poste que le trajet atteint, comptée une fois par bord.578 Les portes sont des destinations, pas des passages : le trajet n’entre pas par une porte d’un bâtiment pour ressortir par une autre. Les parts de la ville accessibles à pied portent sur le même nombre de cellules praticables que les parts du tableau, qui exclut les cellules praticables situées dans les emprises des bâtiments.8
Ce que la méthode ne voit pas, et les cinq nombres les moins sûrs
Les modèles de collision sont proches des moteurs mais pas identiques. La génération 1 ne teste que la tuile inférieure gauche d’une cellule, comme le fait le moteur, et traite comme de l’eau les tuiles $14, $32 et $48 ; ses rebords sont modélisés d’après ledge_tiles.asm avec la condition sur la tuile où l’on se tient, et les collisions par paires de tuiles ne sont pas modélisées. Les sauts en diagonale de la génération 2 sont bloqués. Les métatuiles infranchissables selon la direction et les rails du Vélo Cross de la génération 3 ne sont pas modélisés. Les personnages, les rochers et les blocages scriptés ne figurent pas dans les données de collision et ne bloquent pas la recherche ; les arbres à Coupe sont des tuiles dans les générations 1 et 2 et la bloquent, alors que dans la génération 3 ce sont des objets et ils ne la bloquent pas. Personne ne surfe.5234
Cinq nombres de ce billet sont moins sûrs que les autres ; les réserves ci-dessous valent partout où ils apparaissent, y compris là où un tableau ou un résumé donne le nombre seul :
- Les maisons sans porte de Doublonville, environ 45. Comptées à l’œil sur le rendu, à cinq près.3
- Les distances de Pelican Town. Tuiles de porte lues sur l’image du wiki à une tuile près, et distances de Manhattan sans collision, donc des bornes inférieures du trajet ; la taille de la ville est celle de l’image, pas celle de la carte du jeu.32
- Narshe et Figaro-Sud, environ 61 tuiles sur 62 et 55 sur 55. Mesurées sur des reconstructions de fans, non sur les données du jeu, que le désassemblage ne contient pas.333435
- Les 56 pour cent de Nénucrique accessibles à pied. Selon le modèle, la maison du plateau ne s’atteint pas sans passer par l’eau ; je n’ai pas vérifié si un chemin que le modèle manque y mène.8 Les 47 pour cent d’Azuria relèvent d’un autre cas, une partie de la ville atteinte en traversant une maison (section 2).
- Les parts des bâtiments des villes des générations 1 et 2, et 9 des 53 contours d’Émeraude. Emprises lues ou corrigées à l’œil ; une cellule mal lue déplace une part d’une fraction de point, et la comparaison avec le tableau du billet sur les structures a relevé un désaccord, l’Arène d’Azuria (plus haut).23418
Le côté de l’entrée et le départ du trajet sur la route sont mes choix pour chaque ville (plus haut), et trois panneaux classés comme panneaux de bâtiment se tiennent loin de leur porte (section 2). Pokémon Rouge Feu et Vert Feuille n’ont pas été mesurés. Ils redessinent les villes de Rouge et Bleue dans un tileset de Game Boy Advance, à d’autres tailles, Bourg Palette à 24 cellules sur 20 contre 20 sur 18 dans Rouge, Jadielle à 48 sur 40 contre 40 sur 36, si bien qu’aucun des nombres de Rouge et Bleue donnés ici ne doit être lu comme le leur.3610
2. Les villes de Pokémon, mesurées
Les seize dans un seul tableau
Chaque valeur du tableau est mesurée. « Première », « médiane » et « max » sont des cellules de marche de l’entrée aux portes de la ville ; la dernière colonne est la médiane, sur les portes de la ville, du rapport entre distance marchée et distance de Manhattan, chaque distance de Manhattan étant prise depuis la cellule d’entrée d’où part son trajet (section 1).116
| Ville | Jeu | Cellules | Écrans GB / GBA | Praticable % | Bâtiments % | Eau % | Bâtiments avec porte | Première porte | Médiane | Max | Marche ÷ Manhattan |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Bourg Palette | R/B | 20×18 | 4,0 / 2,4 | 60,6 | 13,3 | 4,4 | 3 | 10 | 12 | 17 | 1,25 |
| Jadielle | R/B | 40×36 | 16 / 9,6 | 53,6 | 5,0 | 1,7 | 5 | 15 | 27 | 48 | 1,10 |
| Argenta | R/B | 40×36 | 16 / 9,6 | 60,6 | 10,0 | 0 | 6 | 15 | 27 | 44 | 1,00 |
| Azuria | R/B | 40×36 | 16 / 9,6 | 55,1 | 11,4 | 10,6 | 7 (+4 sans porte) | 16 | 21 | 34 | 1,00 |
| Lavanville | R/B | 20×18 | 4,0 / 2,4 | 48,1 | 22,2 | 0 | 6 | 10 | 18 | 22 | 1,31 |
| Bourg Geon | Cristal | 20×18 | 4,0 / 2,4 | 45,0 | 15,6 | 2,2 | 4 | 11 | 14,5 | 17 | 1,07 |
| Ville Griotte | Cristal | 40×18 | 8,0 / 4,8 | 28,8 | 7,8 | 19,7 | 5 | 13 | 18 | 24 | 1,09 |
| Mauville | Cristal | 40×36 | 16 / 9,6 | 29,6 | 8,2 | 9,7 | 7 (+1) | 10 | 31 | 48 | 1,07 |
| Doublonville | Cristal | 40×36 | 16 / 9,6 | 41,7 | 18,9 | 5,8 | 12, un poste, 2 entrées (+environ 45) | 11 | 31 | 46 | 1,00 |
| Bourg-en-Vol | Émeraude | 20×20 | 4,4 / 2,67 | 62,8 | 21,2 | 0 | 3 | 13 | 15 | 21 | 1,15 |
| Rosyères | Émeraude | 20×20 | 4,4 / 2,67 | 56,0 | 16,0 | 0 | 4 | 5 | 11,5 | 16 | 1,00 |
| Clémenti-Ville | Émeraude | 30×30 | 10 / 6,0 | 35,2 | 12,7 | 15,7 | 6 | 8 | 21,5 | 33 | 1,00 |
| Mérouville | Émeraude | 40×60 | 26,7 / 16 | 45,6 | 17,0 | 5,9 | 11 (+1) | 14 | 31 | 54 | 1,00 |
| Poivressel | Émeraude | 40×60 | 26,7 / 16 | 45,5 | 10,1 | 15,5 | 9 (+1) | 17 | 44,5 | 58 | 1,00 |
| Lavandia | Émeraude | 40×20 | 8,9 / 5,3 | 54,9 | 18,2 | 1,0 | 7 (+1) | 6 | 26 | 40 | 1,00 |
| Nénucrique | Émeraude | 80×40 | 35,6 / 21,3 | 44,2 | 11,1 | 21,2 | 12 et une grotte | 14 | 46 | 73 | 1,13 |
| Kiradex (build 35) | Kiradex | 40×30 | 13,3 / 8,0 | 57,9 | 18,8 | 1,9 | 7 | 10 | 14 | 23 | 1,00 |
Sources du tableau : les trois décompilations et la ville livrée de Kiradex, mesurées par les scripts cités dans les notes.23437 Les nombres entre parenthèses sont des bâtiments dessinés sans porte utilisable, comptés à l’œil ; les « environ 45 » de Doublonville sont à cinq près.3 Les parts des bâtiments reposent sur des emprises lues à l’œil dans Rouge, Bleue et Cristal et pour 9 des contours d’Émeraude (section 1).
La première porte depuis l’entrée, à pied : seize villes entre 5 et 17 cellules, et la ville de Kiradex à 10, deux cellules sous la médiane.38
Rouge et Bleue
Les cinq villes mesurées de Kanto se déclinent en deux tailles, sans rien entre les deux. Bourg Palette et Lavanville font 20 cellules sur 18, Jadielle, Argenta et Azuria 40 sur 36, d’après les constantes de carte en blocs de 32 pixels, doublées : un village fait exactement deux écrans de Game Boy sur deux, une ville quatre sur quatre.102 Le billet de cette série sur le monde a obtenu la même valeur pour Bourg Palette, dix blocs sur neuf, à partir du même fichier.39 Bourg Palette a 3 bâtiments avec porte, Jadielle 5, Argenta 6 (plus l’annexe du musée, dont la porte arrière se trouve derrière un arbre qu’il faut couper et reste inaccessible à pied), Azuria 7 plus 4 maisons dessinées sans téléportation, Lavanville 6.402 Les parts des cellules praticables, des bâtiments, de l’eau et des autres cellules bloquées sont de 60,6, 13,3, 4,4 et 21,7 pour cent à Bourg Palette ; de 53,6, 5,0, 1,7 et 39,7 à Jadielle ; de 60,6, 10,0, 0 et 29,4 à Argenta ; de 55,1, 11,4, 10,6 et 22,8 à Azuria ; de 48,1, 22,2, 0 et 29,7 à Lavanville.2
Le Centre Pokémon est la première porte depuis l’entrée à Jadielle (15 cellules de la Route 1), Argenta (15 de la Route 2) et Lavanville (10 de la Route 10). Azuria fait exception : en arrivant de la sortie du Mont Sélénite sur la Route 4, qui rejoint le bord ouest de la ville en deux cellules, (0,18) et (0,19), on rencontre d’abord deux maisons, à 16 chacune, et le Centre à 20. L’entrée de grotte en (4,11), à 5 cellules des cellules nord du bord ouest, n’est pas atteinte depuis ce point de passage.1229 L’Arène est la porte la plus éloignée de l’entrée à Jadielle, 48 cellules de marche contre 40 en ligne droite, et à Argenta, 44 contre 20 ; à Azuria, elle est la troisième plus éloignée sur sept, à 32.140 Vol atterrit une cellule au sud de la porte du Centre dans les quatre villes de Kanto étudiées ici qui en ont un : Jadielle en (23,26) sous la porte en (23,25), Argenta en (13,26), Azuria en (19,18), Lavanville en (3,6). Le point de Bourg Palette, (5,6), est une cellule sous la porte d’entrée du joueur.132
Depuis le bord nord, Bourg Palette mène à la maison du joueur en 12 cellules, à celle du rival en 10 et au laboratoire du Prof. Chen en 17, la porte la plus éloignée ; depuis la cellule où l’on sort sous sa propre porte, le laboratoire est à 14 cellules et la maison du rival à 9.240 La rangée d’arbres du bord nord vous laisse entrer par une seule brèche large de deux cellules, en x 10 et 11, et le trajet le plus court vers chacune des trois portes y commence ; à partir de là, les trajets font 1,20 à 1,31 fois leur ligne droite, une médiane de 1,25, deuxième de la série après les 1,31 de Lavanville.41116 Il n’a aucune extrémité de cul-de-sac.5
Or, Argent et Cristal
Johto ajoute une troisième taille. Bourg Geon fait 20 cellules sur 18, deux écrans de Game Boy sur deux ; Ville Griotte 40 sur 18, quatre sur deux ; Mauville et Doublonville 40 sur 36.113 Bourg Geon a 4 bâtiments avec porte, Ville Griotte 5, Mauville 7 (plus une maison dessinée avec une porte mais sans téléportation, en x 2 à 5 et y 28 à 29, et le poste est, dont le bâtiment appartient à la carte de la Route 31), Doublonville 12 plus le poste de la Route 35 et deux entrées du Souterrain, les quinze téléportations de sa carte.423 Doublonville dessine en outre environ 45 maisons sans porte, d’après mon comptage sur le rendu : une ville rendue dense par des toits où l’on ne peut pas entrer.423
Les villes de Johto sont surtout des arbres. Les parts praticable, bâtiments, eau et autre bloqué sont de 45,0, 15,6, 2,2 et 37,2 pour cent à Bourg Geon ; de 28,8, 7,8, 19,7 et 43,8 à Ville Griotte ; de 29,6, 8,2, 9,7 et 52,5 à Mauville ; de 41,7, 18,9, 5,8 et 33,5 à Doublonville, ses maisons sans porte comptées comme autre bloqué. Plus de la moitié de Mauville est du décor bloqué.326
Les règles de l’arrivée sont celles de Kanto. Le point d’apparition qu’utilise Vol est une cellule au sud de la porte du Centre à Ville Griotte (29,4), Mauville (31,26) et Doublonville (15,28), et une cellule au sud de la porte de la maison du joueur à Bourg Geon (13,6).143 Depuis l’entrée, le Centre est la première porte à Ville Griotte (13 cellules), Mauville (10) et Doublonville (11).1 Le laboratoire de Bourg Geon occupe le bord supérieur, rangées 0 à 3, la maison de 4 sur 4 du joueur est à droite, deux maisons de 4 sur 2 en dessous. Son bord ouest a 4 cellules praticables, mais le chemin de la Route 29 n’en rejoint que deux, (0,8) et (0,9) ; de là, le laboratoire est à 11 cellules, la maison des voisins à 13 (contre 5 en ligne droite) et la maison du joueur à 16.42316 Sa connexion est, vers la Route 27, est de l’eau au bord : 0 cellule praticable et 4 d’eau, si bien que la ville de départ a une seule sortie à pied.307
Rubis, Saphir et Émeraude
Les villes de Hoenn ont des tailles libres. D’après layouts.json : Bourg-en-Vol 20 sur 20, Rosyères 20 sur 20, Clémenti-Ville 30 sur 30, Mérouville 40 sur 60, Poivressel 40 sur 60, Lavandia 40 sur 20, Nénucrique 80 sur 40 ; en écrans de Game Boy Advance, cela fait 2,67, 2,67, 6,0, 16,0, 16,0, 5,33 et 21,3.124 Le billet sur le monde a obtenu les mêmes tailles pour Bourg-en-Vol, Clémenti-Ville, Mérouville et Nénucrique.39 Bâtiments avec porte : Bourg-en-Vol 3, Rosyères 4, Clémenti-Ville 6, Mérouville 11 (plus un bloc sans porte à l’est de la fontaine), Poivressel 9 (plus une maison à pignon sans porte accolée à la maison côtière), Lavandia 7 (plus un bâtiment jaune sans porte), Nénucrique 12 (plus l’entrée de grotte de la Planque Aqua).314
Emprises au-delà de celles du billet sur les structures : à Poivressel, la Tente de Combat 5 sur 5, le Musée Océanographique 6 sur 5 avec deux portes, le chantier naval de Stern 8 sur 7, le port 7 sur 6 ; à Lavandia, le Casino 7 sur 4 et le magasin de vélos 5 sur 4 ; à Nénucrique, le grand magasin 9 sur 7, le musée 10 sur 5 avec deux portes, la salle des Concours 7 sur 7, le port 7 sur 6, le motel 6 sur 5 ; à Mérouville, les deux immeubles de 9 sur 6 et 7 sur 9, l’École des Dresseurs 7 sur 5, Devon SA 10 sur 9 avec deux portes. Chaque Centre et chaque Boutique fait 4 sur 4, chaque Arène 6 sur 5.434 Parts praticable, bâtiments, eau et autre bloqué : Bourg-en-Vol 62,8, 21,2, 0 et 16,0 pour cent ; Rosyères 56,0, 16,0, 0 et 28,0 ; Clémenti-Ville 35,2, 12,7, 15,7 et 36,4 ; Mérouville 45,6, 17,0, 5,9 et 31,4 ; Poivressel 45,5, 10,1, 15,5 et 28,9 ; Lavandia 54,9, 18,2, 1,0 et 25,9 ; Nénucrique 44,2, 11,1, 21,2 et 23,4.427
Le point de soin qu’utilise Vol (SetWarpDestinationToHealLocation dans le code de la carte de Vol) est une cellule au sud de la porte du Centre dans les six villes d’Émeraude étudiées ici qui en ont un : à Rosyères en (6,17) sous la porte en (6,16), à Clémenti-Ville en (20,17) sous (20,16), à Nénucrique en (24,15) sous (24,14). Bourg-en-Vol en a deux, une cellule sous la porte de chacune des maisons familiales, (5,9) et (14,9).154 Là où Émeraude change le modèle, c’est dans l’ordre des portes. Depuis l’entrée, le Centre est premier de trois distances distinctes à Rosyères (5 cellules), deuxième à Clémenti-Ville (10, après la Boutique à 8), quatrième à Mérouville (24), Lavandia (26) et Poivressel (40), et deuxième à Nénucrique (26). Hors de Rosyères, la génération 3 ne place plus le Centre en premier.131 L’Arène est la porte la plus éloignée de l’entrée à Lavandia, 40 cellules de marche contre 24 en ligne droite (voir Lavandia plus bas) ; elle est la troisième plus éloignée sur 11 à Mérouville (48) et la deuxième sur 6 à Clémenti-Ville (22, à égalité avec une maison).116
Depuis le bord nord, Bourg-en-Vol mène à la maison de Flora en 13 cellules, à celle de Brice en 15 et au laboratoire du Prof. Seko en 21, la porte la plus éloignée ; depuis la cellule de sortie de Brice, le laboratoire est à 17 cellules de marche contre 9 en ligne droite, parce que le trajet contourne la maison.431
Les repères face à l’entrée
Le second tableau met les repères côte à côte. Les rangs comptent des distances distinctes, si bien que deux portes à la même distance partagent un rang ; la dernière colonne est le trajet du point d’arrivée de Vol à la porte du Centre.1
| Ville | Vers le Centre | Vers la Boutique | Vers l’Arène | Vers le labo | Rang du Centre parmi les portes | Point de Vol à la porte du Centre |
|---|---|---|---|---|---|---|
| Bourg Palette | 17 (la plus éloignée) | porte de la maison, 1 | ||||
| Jadielle | 15 | 27 | 48 (la plus éloignée) | 1er sur 5 | 1 | |
| Argenta | 15 | 22 | 44 (la plus éloignée) | 1er sur 6 | 1 | |
| Azuria | 20 | 33 | 32 | 2e sur 6 | 1 | |
| Lavanville | 10 | 22 | 1er sur 5 | 1 | ||
| Bourg Geon | 11 | porte de la maison, 1 | ||||
| Ville Griotte | 13 | 19 | 1er sur 4 | 1 | ||
| Mauville | 10 | 40 | 31 | 1er sur 7 | 1 | |
| Doublonville | 11 | grand magasin 11 | 31 | 1er sur 9 | 1 | |
| Bourg-en-Vol | 21 (la plus éloignée) | porte de la maison, 1 | ||||
| Rosyères | 5 | 16 | 1er sur 3 | 1 | ||
| Clémenti-Ville | 10 | 8 | 22 | 2e sur 5 | 1 | |
| Mérouville | 24 | 14 | 48 | 4e sur 10 | 1 | |
| Poivressel | 40 | 37 | 4e sur 10 | 1 | ||
| Lavandia | 26 | 10 | 40 (la plus éloignée) | 4e sur 7 | 1 | |
| Nénucrique | 26 | grand magasin 45 | 2e sur 10 | 1 |
Quatre constats ressortent des deux tableaux.1
- Un village fait environ deux écrans de console portable au carré ; la première ville fait de six à seize écrans, et les villes vont jusqu’à vingt et un. Chaque village natal et Lavanville font deux écrans de Game Boy sur deux, ou 1,3 sur 2 écrans de Game Boy Advance ; la première carte que chaque jeu appelle une ville fait quatre écrans de Game Boy sur quatre (Jadielle), quatre sur deux (Ville Griotte) ou deux écrans de Game Boy Advance sur trois (Clémenti-Ville), de 6 à 16 écrans en tout, tandis que Rosyères, dans Émeraude, la localité entre Bourg-en-Vol et Clémenti-Ville, garde la taille d’un village à 1,33 sur 2 ; les ports et les grandes villes de Hoenn font de 16 à 21 écrans de Game Boy Advance.1
- Vous croisez une porte en une douzaine de cellules, et le Centre en une quinzaine. Les premières portes se trouvent à 5 à 17 cellules, médiane 12. Dans Rouge, Bleue et Cristal, le Centre est la première porte depuis l’entrée dans six des sept villes qui en ont un, à Doublonville à égalité avec le grand magasin. Émeraude assouplit la règle dans ses villes et la garde à Rosyères, à 5 cellules le trajet le plus court de la série, et presque à Clémenti-Ville, à 10.128
- L’arrivée par Vol est une promesse tenue à la cellule près. Dans les 13 villes dotées d’un Centre, le point de Vol est la cellule sous sa porte.1
- L’Arène et le labo tendent vers l’extrémité opposée. L’Arène est la porte la plus éloignée à Jadielle, Argenta et Lavandia, dans la moitié la plus éloignée à Azuria, Clémenti-Ville et Mérouville, et en milieu de classement à Mauville et Doublonville. Le laboratoire du professeur est la porte de son village la plus éloignée de la route de sortie à Bourg Palette (17) et à Bourg-en-Vol (21) ; celui de Bourg Geon est la plus proche, à 11 cellules du point de passage.1
La taille d’une ville en écrans de son propre appareil : les villages entre deux et quatre, les villes entre cinq et vingt et un, et la ville de Kiradex sous deux vues du Duo ouvert.38
Trois villages natals
Bourg Palette (20 sur 18, 3 bâtiments) vous laisse entrer par le nord, par une seule brèche de deux cellules dans sa rangée d’arbres ; depuis votre porte d’entrée, la maison du rival est à 9 cellules et le laboratoire à 14. Il est praticable à 60,6 pour cent et couvert d’eau à 4,4 pour cent, le rivage d’où vous surferez plus tard, et n’a aucune extrémité de cul-de-sac ; sa seule sortie à pied est au nord, parce que les deux cellules praticables de son bord sud ne font face à aucune cellule praticable de la Route 21.2417 Bourg Geon (20 sur 18, 4 bâtiments) place le laboratoire sur le bord supérieur et la maison du joueur à droite ; son bord est est la mer, si bien que sa seule sortie à pied est à l’ouest.427 Bourg-en-Vol (20 sur 20, 3 bâtiments) met face à face deux maisons de 5 sur 5 en haut et place le laboratoire de 7 sur 5 en bas à gauche ; il a une sortie, au nord, large de deux cellules ; il est praticable à 62,8 pour cent sans extrémité de cul-de-sac, et sa largeur de couloir médiane est de 6 cellules, une pelouse ouverte plutôt que des rues.434
À mon sens, le village de départ compte parmi les plus petites cartes de chaque jeu (Bourg Palette à égalité avec Lavanville, Bourg-en-Vol avec Rosyères), avec trois ou quatre bâtiments, aucune extrémité de cul-de-sac à Bourg Palette et Bourg-en-Vol, une sortie à pied, et le laboratoire comme porte la plus éloignée dans deux des trois. C’est une pièce où l’on apprend à marcher, pas une ville où l’on doit s’orienter.
Rosyères : le Centre à cinq pas de la route
Rosyères (20 sur 20) est la première ville après le départ dans Émeraude. Son bord sud a 12 cellules praticables, mais le chemin de la Route 101, large de quatre cellules là où il rejoint la ville, ne passe que dans quatre d’entre elles, x 8 à 11. De là, la porte du Centre est à 5 cellules et le point de Vol est la cellule juste en dessous ; la Boutique est à 16 cellules, en haut à droite ; les deux maisons à 7 et 16. Elle a trois sorties à pied, au nord, au sud et à l’ouest.3147 Je lis Rosyères comme le modèle d’une ville d’étape : ce dont vous avez besoin est à la porte, tout le reste est un court détour, et la ville est un carrefour plutôt qu’une destination.
Lavandia et Doublonville : des murs qui allongent le trajet
Lavandia est basse et large, 40 cellules sur 20 et 5,3 écrans de Game Boy Advance, avec quatre sorties. Son bord sud a trois tronçons praticables, (9,19), x 12 à 18 et x 27 à 33, mais le chemin de la Route 110 ne rejoint que celui du milieu : la rangée supérieure de la route est praticable en x 12 à 18 et sur une autre cellule, (28,0), qu’aucun trajet sur la route n’atteint. Les deux tronçons les plus longs mènent à la même rue basse, dont le seul passage vers le nord est une brèche de cinq cellules en x 26 à 30, à l’est de la Boutique : si l’on ferme cette brèche, le trajet depuis le bord sud atteint 98 cellules et ni l’Arène ni le Casino. Le trajet de la Route 110 à l’Arène, dans l’angle nord-ouest, part donc de (18,19), monte vers le nord, va à l’est jusqu’à la brèche en x 26, la franchit vers le nord et revient vers l’ouest par la rue haute : 40 cellules de marche contre 24 en ligne droite. La porte du Casino est à 38 cellules de marche contre 16, avec un point le plus étroit d’une cellule sur ce trajet, et le Centre à 26 contre 18. Depuis le tronçon x 27 à 33, la brèche ne coûterait rien, l’Arène serait à 39 cellules de marche contre 39 en ligne droite, mais la route n’y mène pas ; (9,19) est muré sur ses trois côtés intérieurs et ne mène nulle part.4344416 Doublonville (40 sur 36) regroupe ses maisons sans porte en îlots : le trajet jusqu’au magasin de vélos fait 46 cellules contre 14 en ligne droite, jusqu’à l’entrée du Souterrain en (11,29) 31 contre 13, et 38,4 pour cent de ses cellules praticables se trouvent dans des séquences de deux ou moins, le plus fort taux de toutes les villes étudiées ici. Ses treize autres portes s’atteignent à 1,00 à 1,42 fois leur ligne droite, onze d’entre elles à exactement 1,00.423516
Ma lecture : les grandes villes ne vous font pas prendre le long chemin vers la plupart des portes, seulement vers quelques-unes. Les longs détours de la série concernent des portes isolées à Nénucrique, Doublonville, Lavandia et Argenta, plus une maison à Bourg Geon (voir Détour, plus bas), et le coût des îlots apparaît ailleurs dans les chiffres : des passages étroits et davantage d’extrémités de cul-de-sac.
Nénucrique : la ville qu’on ne parcourt qu’à moitié
Nénucrique est la plus grande ville étudiée ici, 80 cellules sur 40 et 21,3 écrans de Game Boy Advance, et 21,2 pour cent de sa surface est de l’eau. À pied depuis la Route 121, un marcheur atteint 793 de ses 1 416 cellules praticables, 56 pour cent ; une maison sur le plateau de la plage en (55,15) et la Planque Aqua exigent un passage par l’eau selon ce modèle de collision. Le musée sur la colline est à 61 cellules de marche de l’entrée jusqu’à sa porte la plus proche, en (12,5), contre 23 en ligne droite, en montant un escalier et en faisant le tour.4348 C’est aussi la seule ville après le départ qui n’a qu’une sortie à pied : sa carte a deux connexions, à l’ouest vers la Route 121 (6 cellules praticables de bord à côté de 17 d’eau) et à l’est vers la Route 124 (0 praticable, 36 d’eau), si bien que la seconde issue se fait par la mer.317 Ce n’est pas la seule ville dont le trajet laisse la moitié invisible : selon le même script, Azuria depuis la Route 4 atteint 371 de ses 794 cellules praticables, 47 pour cent, et aucun des points de passage de son bord sud, vers la Route 5, ni de son bord est, vers la Route 9. Cette moitié de la ville s’atteint en traversant une maison : la porte arrière de la maison cambriolée débouche en (27,9), et un trajet depuis cette cellule atteint 632 cellules, dont ces deux bords et toute la partie qu’atteint l’entrée, bien que le trajet depuis l’entrée ne l’atteigne pas en retour. Le trajet ici ne traverse pas les bâtiments, il ne compte donc aucun de ces deux bords.840
Rues, panneaux, culs-de-sac et sorties, sur les seize
Couloirs. Les médianes de largeur de couloir des villes vont de 3 à 7 cellules. La part des cellules praticables situées dans une séquence de deux ou moins va de 6,6 pour cent à Clémenti-Ville à 38,4 pour cent à Doublonville. Sur le trajet le plus court de l’entrée à une porte, le point le plus étroit fait généralement de 1 à 3 cellules : sur les 112 trajets de ce type des seize villes, 48 se resserrent à deux cellules au plus étroit, 28 à une et 28 à trois, et les 28 trajets d’une cellule se répartissent dans 9 des 16 villes, dont Bourg Palette.5843
Détour. La médiane, par ville, du rapport entre distance marchée et distance de Manhattan, chaque ligne droite prise depuis la cellule où commence son trajet (section 1), vaut 1,00 dans huit villes (Argenta, Azuria, Doublonville, Rosyères, Clémenti-Ville, Mérouville, Poivressel et Lavandia), de 1,07 à 1,15 dans six (Bourg Geon, Mauville, Ville Griotte, Jadielle, Nénucrique et Bourg-en-Vol) et 1,25 et 1,31 dans deux (Bourg Palette et Lavanville).116 Les trois médianes les plus hautes sont celles de villes de la taille d’un village, Lavanville, Bourg Palette et Bourg-en-Vol : aucune de leurs 12 portes ne s’atteint en ligne droite, bien que chaque trajet ne la dépasse que de 2 à 6 cellules, et un trajet court transforme un petit détour en un grand rapport ; des deux autres villes de la taille d’un village, Bourg Geon est à 1,07 et Rosyères à 1,00.1628 Sur les 112 trajets de l’entrée à une porte, 58 sont exactement aussi longs que leur ligne droite et 9 sont deux fois plus longs ou davantage, tous vers des portes isolées : quatre à Nénucrique, une maison en (11,22) à 60 cellules de marche contre 16, les deux portes du musée et le port (73 contre 27) ; deux à Doublonville, le magasin de vélos (46 contre 14) et une entrée du Souterrain (31 contre 13) ; le Casino de Lavandia (38 contre 16) ; l’Arène d’Argenta (44 contre 20) ; et à Bourg Geon, la maison des voisins (13 contre 5), la seule porte de village parmi elles.16 Les villes se parcourent presque en ligne droite ; le long détour est réservé à quelques portes, presque toutes en ville.
Culs-de-sac. Bourg Palette et Bourg-en-Vol n’ont aucune extrémité de cul-de-sac. Les autres villes de Rouge et Bleue en ont de 0,1 à 0,6 pour 100 cellules praticables ; celles de Cristal de 0,5 à 2,2 ; Rosyères et Lavandia de 0,9 à 1,4 ; et Clémenti-Ville, Mérouville (30 extrémités), Poivressel (30) et Nénucrique (38) de 2,2 à 2,75.543
Sorties. En comptant les ouvertures distinctes qu’atteint le trajet depuis l’entrée, une par bord de carte, chacune étant un point de passage praticable sur les deux cartes ou un poste (section 1), quatre villes ont une seule sortie à pied : les trois villes de départ, Bourg Palette, Bourg Geon et Bourg-en-Vol, et Nénucrique, dont l’autre connexion est de l’eau. Les douze autres ont de deux à quatre sorties à pied, et seule Lavandia en a quatre.87 Plusieurs bords comptent moins que ne le laisse penser l’en-tête de carte. Le bord sud de Bourg Palette a 2 cellules praticables, (2,17) et (3,17), mais les cellules de la Route 21 qui leur font face ont la tuile inférieure gauche $3a, absente de la liste des tuiles franchissables de l’Overworld, et la rangée nord de la Route 21 n’a aucune cellule praticable, si bien que la voie vers le sud passe par l’eau.725 Le bord est de Mauville a 2 cellules praticables, les cellules des deux téléportations du poste lui-même, qui ne font face à aucune cellule praticable de la Route 31 ; la sortie est est donc le poste, et Mauville en a trois.4278 Le bord nord de Doublonville a 8 points de passage que le trajet n’atteint jamais, si bien que sa voie vers le nord est le poste de la Route 35 et qu’elle en a deux ; les bords sud et est d’Azuria ont 16 et 12 points de passage, aucun atteint sauf par la maison cambriolée (plus haut), elle en a donc deux.8 Plusieurs villes ajoutent une sortie par l’eau uniquement : le bord est de Poivressel (54 cellules d’eau, 0 praticable), le bord est de Nénucrique (36 et 0), le bord est de Bourg Geon, le bord sud de Bourg Palette.731
Panneaux. Les seize villes comptent 113 événements de panneau. 35 sont le panneau propre d’un Centre ou d’une Boutique sur son mur, toujours à une ou deux cellules à droite de la porte, sur la rangée de la porte (24 à une cellule, 11 à deux). 54 portent le nom d’un bâtiment ; seuls 27 d’entre eux se tiennent sur la rangée de la porte, et 33 à gauche de la porte, les décalages les plus fréquents étant deux cellules à gauche (10 panneaux) et trois à gauche (6). 16 sont le panneau du nom de la ville, et 8 des conseils, des avis ou des objets cachés.631 Trois panneaux de Poivressel et de Nénucrique (le classement du Berry Crush, le marché et le musée sur la colline) sont classés comme panneaux de bâtiment mais se tiennent loin de leur porte la plus proche.6 Le panneau de la ville est à 6 à 38 cellules de marche de l’entrée, médiane 15, et plus proche que la première porte seulement à Ville Griotte, Bourg Geon, Mérouville et Nénucrique.640 Les distances ne peuvent pas montrer où les chemins se rejoignent ; que le panneau de la ville se tienne là où ils se rejoignent, et non au poste d’entrée, relève de ma lecture.
Bâtiments où l’on ne peut pas entrer. Doublonville dessine environ 45 maisons sans porte pour ses 12 bâtiments avec porte ; Azuria 4 sans porte pour 7 avec ; Mérouville, Poivressel et Lavandia un bâtiment sans porte chacune ; et Mauville une maison dont la porte dessinée n’a pas de téléportation.234
3. Les références modernes : Pelican Town, la grille des acres, Narshe et Figaro-Sud
Les consoles portables fournissent les nombres parce que leur code source est public. Les trois références ci-dessous n’ont pas cet avantage, alors chaque valeur porte sa dérivation : Pelican Town est lue sur l’image de la ville d’un wiki, la grille des acres sur la description d’un wiki, et les villes de Final Fantasy VI sur des reconstructions de leurs cartes faites par des fans.
Stardew Valley : Pelican Town, d’après l’image du wiki
L’image de Pelican Town en entier sur le Stardew Valley Wiki fait 1 920 pixels sur 1 760 (informations d’image MediaWiki, téléversée le 17 octobre 2024). Avec les tuiles de 16 pixels du jeu, cela fait 120 tuiles sur 110, 13 200 en tout, selon mon calcul ; c’est l’image, pas le fichier de carte Town du jeu lui-même, dont je ne disposais pas.4532 La carte cliquable de la ville sur le wiki place le cadre de chaque bâtiment en pourcentage de cette image, et, convertis en tuiles, les cadres sont : le Bazar de Pierre 10,2 sur 11,3 en (38, 47), la clinique 5,5 sur 10,9 en (32, 46), le saloon 9,3 sur 10,1 en (39, 62), le centre communautaire 14,1 sur 15,1 en (46, 10), JojaMart 28,7 sur 12,3 en (83, 42) et le manoir du maire 14,0 sur 13,9 en (55, 74).4632
Les tuiles de porte ont été lues sur l’image avec une grille d’une tuile, à une tuile près : l’entrée de l’arrêt de bus sur le bord ouest en (0, 54), la porte du Bazar de Pierre en (43, 56), celle de la clinique en (36, 56), celle du saloon en (45, 70), celle du centre communautaire en (52, 19). Les distances de Manhattan depuis l’entrée sont de 45 tuiles jusqu’au Bazar de Pierre, 38 jusqu’à la clinique, 61 jusqu’au saloon et 87 jusqu’au centre communautaire ; depuis le Bazar de Pierre, de 7 jusqu’à la clinique, 16 jusqu’au saloon et 46 jusqu’au centre communautaire ; de la clinique au saloon, 23.4532 Aucune donnée de collision ne se trouve derrière ces valeurs, ce sont donc des bornes inférieures du trajet. La description des bords par le wiki lui-même : « The northwest entrance to town connects to the Bus Stop and the Farm » (l’entrée nord-ouest de la ville mène à l’arrêt de bus et à la ferme) ; au nord de la ville se trouve la montagne, au sud-ouest la forêt de Cindersap, au sud la plage (paraphrasé d’après la même page, une source secondaire).47
Ma lecture de ces nombres : la boutique, la clinique et le saloon forment un groupe autour de la place, la clinique à 7 tuiles et le saloon à 16 du Bazar de Pierre et à 23 l’un de l’autre, à 38 à 61 tuiles de l’entrée de l’arrêt de bus, et le centre communautaire est une destination à part en haut de la colline, 46 tuiles au-delà de la boutique. En surface, la ville fait 13 200 tuiles, environ 4,1 fois les 3 200 cellules de Nénucrique.3212 Stardew résout le problème de Rosyères à plus grande échelle : les services que vous fréquentez chaque jour forment un seul groupe, et le repère que vous restaurez est le trajet que vous choisissez de faire.
Animal Crossing : l’acre comme unité
Nookipedia décrit les acres comme des « grid elements measuring 16x16 spaces » (éléments de grille de 16 cases sur 16) dans la ville du joueur, et la ville du premier jeu, sur Nintendo 64 et GameCube, comme « five acres across by six down » (cinq acres de large sur six de haut), soit 80 cases sur 96 selon mon calcul.48 L’arrivée est fixe : « the train station is always located in Acre A-3 » (la gare se trouve toujours dans l’acre A-3), en haut de la grille, à chaque fois.48 L’acre est aussi l’unité du contenu. Dans ce premier jeu et ses versions japonaises, un poisson et un insecte apparaissent chaque fois que le joueur entre dans un acre, sauf quand il sort de sa maison au chargement de la partie, et ils disparaissent « upon moving six squares away from that acre » (dès qu’on s’éloigne de six cases de cet acre).48 Pour l’échelle, d’après la même page : Wild World compte 16 acres, quatre sur quatre ; City Folk 25, cinq sur cinq ; New Leaf 20, cinq de large et quatre de haut ; New Horizons « a 42-acre map measuring seven across and six down » (une carte de 42 acres, sept de large sur six de haut), où « The airport and pier always generate on the F row » (l’aéroport et la jetée apparaissent toujours sur la rangée F).48 Tout cela provient d’une seule source secondaire.
À mon sens, la grille des acres est la même idée que l’écran des consoles portables, rendue explicite : une ville est un nombre entier de vues, l’arrivée occupe une place fixe dans la grille, et chaque vue contient quelque chose à trouver.
Final Fantasy VI : Narshe et Figaro-Sud, d’après des rips de fans
Le désassemblage de Final Fantasy VI par everything8215 (commit 813013276c95) liste « Map Properties (415 items, 33 bytes each) » (propriétés de carte, 415 éléments de 33 octets chacun) dans sa carte de la ROM, de ED8F00 à EDC47F, mais ne contient aucune donnée de carte et ne donne donc pas la taille de Narshe ni de Figaro-Sud.35 Les valeurs données ici proviennent plutôt des rips de VGMaps, qui sont des reconstructions de fans ; j’ai mesuré le panneau extérieur de chaque ville par sa bordure d’un pixel. Le panneau de Narshe fait 976 pixels sur 992, environ 61 tuiles de 16 pixels sur 62 ; celui de Figaro-Sud (South Figaro) 880 sur 880, 55 tuiles sur 55.3334 Avec un écran de Super Nintendo de 16 tuiles de ce type sur 14, Narshe couvre environ 17 écrans et Figaro-Sud environ 13,5.493334 Les calques de carte de Final Fantasy VI ont des tailles en puissances de deux, si bien que le panneau du rip est la ville visible, pas la taille du calque.49 La position des portes dans ces villes n’a pas été mesurée.
Ce sont des tailles de ville, dans la même fourchette que Mérouville et Poivressel avec leurs 16 écrans de Game Boy Advance. Le billet sur les structures a traité ce que ces deux villes font de la hauteur, les maisons de Narshe sur des falaises reliées par des escaliers et les terrasses de Figaro-Sud ; à l’échelle de la ville, le seul point ici est que les RPG sur console de salon des mêmes années construisaient leurs villes à la taille que les consoles portables réservaient aux grandes villes.18
4. Le métier, en règles chiffrées
Voici les règles que les mesures étayent, chacune avec la fourchette sur laquelle elle repose. Là où j’ai choisi un nombre dans une fourchette, le tableau le dit. Les cellules sont les cellules de marche de 16 pixels des consoles portables, qui sont aussi la tuile de Kiradex.139
| Élément | Règle | Source |
|---|---|---|
| Taille | Mesurez une ville en écrans de l’appareil, pas en tuiles. Un village de départ couvre environ deux écrans sur deux ; la première ville (la première carte que chaque jeu appelle une ville) de six à seize ; une grande ville seize ou plus. | villages Game Boy 4,0 écrans, villes 8 à 16 ; villages Game Boy Advance et Rosyères 2,67, Lavandia 5,3, Mérouville et Poivressel 16, Nénucrique 21,3 ; premières villes Jadielle 16, Ville Griotte 8, Clémenti-Ville 6 |
| Première porte | Environ une douzaine de cellules de marche depuis l’entrée ; dix au plus, mon choix, pour un repère que l’on veut rencontrer en premier. | médiane 12, fourchette de 5 à 17, seize villes ; aux seize images par cellule d’Émeraude, dix cellules font environ 2,7 secondes |
| Service | Le service quotidien est la première ou la deuxième porte depuis l’entrée ; le défi et l’origine sont à l’extrémité opposée. | Centre en premier dans 6 des 7 villes des générations 1 et 2 qui en ont un, 5 cellules à Rosyères ; Arène la plus éloignée dans 3 des 8 villes à Arène et dans la moitié la plus éloignée dans 3 autres ; labo le plus éloigné à Bourg Palette et Bourg-en-Vol |
| Voyage rapide | Déposez le voyageur à un pas de la porte du service. | le point de Vol est la cellule au sud de la porte du Centre dans 13 des 13 villes à Centre, et au sud de la porte de la maison dans les 3 villages |
| Détour | Faites parcourir une ville presque en ligne droite ; réservez les îlots du long détour à quelques portes d’une grande ville. | médiane de la marche sur Manhattan, depuis la cellule où commence chaque trajet, 1,00 dans 8 villes et de 1,07 à 1,31 dans 8, la plus haute dans trois villes de la taille d’un village (Lavanville, Bourg Palette, Bourg-en-Vol), à 2 à 6 cellules de plus par porte ; 58 des 112 trajets égaux à leur ligne droite ; les 9 trajets de deux fois ou plus mènent à des portes isolées, huit à Nénucrique, Doublonville, Lavandia et Argenta et un à Bourg Geon, jusqu’à 3,75 fois (une maison de Nénucrique, 60 contre 16 ; le magasin de vélos de Doublonville, 46 contre 14) |
| Sol | Environ la moitié de la ville est un sol où l’on peut marcher ; les bâtiments en occupent environ un huitième. | praticable de 45 à 63 pour cent dans 11 des 16 villes, 44 à Nénucrique, moins là où l’eau ou les arbres remplissent la carte (Clémenti-Ville 35, Ville Griotte, Mauville et Doublonville de 29 à 42) ; bâtiments de 5 à 22 pour cent, médiane 13 |
| Rues | Les rues font de 3 à 7 cellules de large ; un resserrement à 1 ou 2 est un choix. | médianes de largeur de couloir des villes de 3 à 7 ; part des cellules praticables dans des séquences de 2 ou moins de 6,6 à 38,4 pour cent |
| Panneaux de bâtiment | Le panneau propre d’une boutique se tient sur la rangée de sa porte, à une ou deux cellules à droite de la porte, comme tous les panneaux muraux ; un panneau de nom se tient près de sa porte, et l’emplacement le plus fréquent, mon choix pour le cahier des charges, est deux cellules à gauche sur la rangée de la porte. | 35 des 35 panneaux muraux de Centre et de Boutique à une ou deux cellules à droite sur la rangée de la porte ; seulement 27 des 54 panneaux de bâtiment sur la rangée de la porte, 33 des 54 à gauche, mode deux cellules à gauche (10 panneaux) |
| Panneau de la ville | Le nom de la ville se tient plus loin que la première porte, là où les chemins se rejoignent selon ma lecture, pas au poste d’entrée. | de 6 à 38 cellules de marche de l’entrée, médiane 15 ; plus proche que la première porte dans 4 villes sur 16 seulement ; la jonction est la lecture de l’auteur, pas une mesure |
| Sorties et culs-de-sac | Passé le départ, donnez à une ville deux issues à pied. | 1 sortie à pied dans les trois villages de départ, Bourg Palette, Bourg Geon et Bourg-en-Vol (les secondes issues de Bourg Palette et de Bourg Geon passent par l’eau), et dans un port, Nénucrique, dont la seconde passe par la mer ; les 12 autres villes de 2 à 4 ; extrémités de cul-de-sac 0 à Bourg Palette et Bourg-en-Vol, jusqu’à 2,75 pour 100 cellules praticables dans les grandes villes |
| Densité | Une ville dense simule la densité avec des bâtiments où l’on ne peut pas entrer. | Doublonville environ 45 maisons sans porte pour 12 avec porte ; Azuria 4 sans porte pour 7 avec ; une chacune à Mérouville, Poivressel, Lavandia, et à Mauville une maison dont la porte dessinée n’a pas de téléportation |
| Vue | La vue décide du plan : une ville plus large qu’environ deux écrans a besoin d’un repère visible depuis l’arrivée. | Émeraude montre 7 cellules de chaque côté du joueur, Rouge et Bleue 4 à gauche et 5 à droite ; écrans de 15 cellules sur 10 et de 10 sur 9 |
Sources du tableau : les mesures des seize villes de la section 2 ;15678 les écrans et la marche de la section 1.202223
Trois de ces règles demandent une phrase sur ce qu’elles signifient sur un téléphone à l’échelle de Kiradex, et ces phrases sont mon analyse à partir des tailles de vue de la section 5.
La taille, sur le Duo. L’iPhone Duo ouvert, tenu à l’horizontale, montre 29,7 cellules sur 20,9 dans Kiradex, deux écrans de Game Boy Advance sur deux. Une ville de 40 sur 30 représente 1,93 de ces vues, la sensation d’un village de départ sur une Game Boy Advance ; sur l’écran extérieur, 14,6 cellules sur 21,2, la même ville représente 3,9 vues, plus que les 2,67 écrans de Game Boy Advance de Rosyères et moins que les 6 de Clémenti-Ville.371
Première porte et vue, sur le Duo. À l’arrivée, le Duo ouvert montre chacune des sept portes de Kiradex, l’écran extérieur quatre, un iPhone 18 Pro Max en portrait deux.37 La règle de la première porte compte donc surtout sur l’écran extérieur et sur les téléphones à un seul écran, où une porte à dix cellules peut être la seule porte visible.
Les rues, au toucher. Dans Kiradex, vous touchez une destination et le collectionneur suit un chemin planifié jusqu’à elle (section 5).50 Les collectionneurs ne se bloquent pas les uns les autres dans le code de l’app : le planificateur ne teste chaque pas que pour savoir si le sol est praticable, et le trajet d’un autre collectionneur est planifié par le même appel, si bien que deux collectionneurs qui se croisent dans une ruelle d’une cellule sont dessinés superposés et passent l’un à travers l’autre.5051 Deux cellules est le point le plus étroit le plus fréquent sur les trajets de l’entrée à une porte des consoles portables, 48 sur 112, bien qu’une cellule apparaisse dans 28 d’entre eux, dans 9 des 16 villes.8 Fixer deux cellules comme plancher est mon choix, plus strict que le canon, et selon ma lecture une question de lisibilité : une ruelle de deux cellules de large laisse la place à deux silhouettes côte à côte, alors que dans une ruelle d’une cellule, deux collectionneurs qui se croisent ne peuvent être dessinés que l’un sur l’autre. Si un jour les marcheurs se bloquent entre eux, c’est le même plancher qui empêchera un resserrement de devenir une attente. La limite de culs-de-sac du cahier des charges, 1 pour 100 cellules praticables, correspond au niveau des villages plutôt qu’à un seuil plus strict : quatre des cinq villes de la taille d’un village sont en dessous, Bourg Geon au-dessus, et 8 des 16 villes la dépassent.8
La règle de densité est celle que je ne copierais pas. Elle appartient à des villes de seize écrans, et la ville de Kiradex fait moins de deux vues du Duo ouvert ;37 selon ma lecture, une ville de la taille d’un village avec des bâtiments de remplissage sans porte ne ferait qu’ajouter des portes qui ne s’ouvrent pas.
5. La manière Apple : ce qu’un téléphone montre d’une ville, et comment un collectionneur la parcourt
Les consoles portables avaient un écran et une vue. Un iPhone a autant de vues que de postures, et l’iPhone Duo a deux écrans,52 si bien que le premier travail côté Apple consiste à dire, en cellules, ce que chacun montre.
La vue, en cellules
Les spécifications d’Apple donnent pour l’écran intérieur de l’iPhone Duo 1 878 pixels sur 2 670 à 430 pixels par pouce, et pour l’écran extérieur 1 398 sur 2 034 à 460.52 Le profil du simulateur de Xcode 27 donne l’écran extérieur à 1 398 pixels sur 2 034 à l’échelle 3, soit 466 points sur 678, et l’intérieur à 2 007 sur 2 853 à l’échelle 3, soit 669 points sur 951.53 Les tailles de vue ci-dessous utilisent les points du simulateur, en plein écran, sans retrancher de HUD ni de zone de sécurité, et sans modéliser le sous-échantillonnage de la dalle intérieure entre le nombre de pixels du simulateur et celui d’Apple.37
Kiradex dessine sa ville dans RealityKit au moyen d’un OrthographicCameraComponent (iOS 18.0 et ultérieur), la caméra qui rend une scène « without the perspective of depth, meaning faraway objects don’t look smaller » (sans perspective de profondeur, c’est-à-dire que les objets lointains ne paraissent pas plus petits).5451 PlazaRig.fit fixe l’échelle de pixels au plus grand nombre entier de pixels d’appareil par texel qui montre encore 20 tuiles de 16 pixels de haut en bas, pixelScale = floor(pixelsTall / (20 × 16)), et la vue montre alors la largeur et la hauteur de l’écran en pixels divisées par cette échelle, en pixels du monde. Quand le téléphone est ouvert à plat, sans pliure qui traverse la vue, la caméra suit le joueur et reste bornée aux bords de la carte.51 Selon cette règle :37
| Appareil et posture | Points | Pixels d’appareil par texel | Vue en cellules | Portes dans la vue à l’arrivée |
|---|---|---|---|---|
| iPhone Duo extérieur, portrait | 466 × 678 | 6 | 14,56 × 21,19 | 4 |
| iPhone Duo extérieur, paysage | 678 × 466 | 4 | 31,78 × 21,84 | 7 |
| iPhone Duo intérieur, paysage | 951 × 669 | 6 | 29,72 × 20,91 | 7 |
| iPhone Duo intérieur, portrait | 669 × 951 | 8 | 15,68 × 22,29 | 4 |
| iPhone 18 Pro Max, portrait | 440 × 956 | 8 | 10,31 × 22,41 | 2 |
Le billet de cette série sur le monde a publié 10,3 sur 22,4 pour le Pro Max et 29,7 sur 20,9 pour le Duo ouvert, et la mesure présentée ici reproduit les deux.3937 En écrans de console portable, l’écran intérieur tenu à l’horizontale fait 2,0 écrans de Game Boy Advance de large et 2,1 de haut, environ 4,1 écrans de surface ; l’écran extérieur en portrait environ 2,1 écrans ; un Pro Max en portrait environ 1,5.37 L’écran intérieur montre la ville de 40 sur 30 à peu près comme une Game Boy Advance montrait Bourg-en-Vol (1,93 vue contre 2,67 écrans), et l’écran extérieur entre la façon dont elle montrait Bourg-en-Vol et Clémenti-Ville (3,89 vues, contre 2,67 et 6,0 écrans).374
La règle de la vue explique pourquoi le plan de la ville dépend de la posture. Sur le Duo ouvert tenu à l’horizontale, la vue à l’arrivée va de x 4,6 à 34,4 et de y 3,1 à 24,0 : toute la ville sauf son anneau extérieur, les sept portes à la fois. Sur l’écran extérieur, elle va de x 12,2 à 26,8 et de y 2,9 à 24,1, une colonne au milieu de la ville qui contient quatre portes.37 Une porte hors de cette colonne est une porte vers laquelle le collectionneur doit marcher avant de la voir, et c’est à cela que servent les règles du cahier des charges sur les repères et les panneaux.
La marche, en cellules, et ce que l’app en fait
La marche des consoles portables a un rythme fixe : les seize images par cellule d’Émeraude font 3,7 cellules par seconde.23 Le rythme de marche nominal de Kiradex en est proche, quatre tuiles par seconde (tilesPerSecond: Float = 4), et c’est cette proximité qui permet de transposer les distances des consoles portables sur le téléphone en tant que distances plutôt qu’en tant que rapports.51 Cela ne transforme pas les nombres de cellules de ce billet en temps de trajet, parce que l’app ne marche pas comme marche la mesure. Son marcheur planifie des chemins dans huit directions (plus bas), et il court : walk(to:) fixe running = steps.count >= 6, et une course avance à runPace, 1,6 fois la marche, un pas en diagonale prenant racine de deux fois plus de temps qu’un pas droit.51 Selon la propre règle de chemin de l’app, la halle depuis l’arrivée est un chemin de 7 pas coûtant 8,24 tuiles, contre 10 cellules marchées dans quatre directions, et la boutique de Comet 18 pas coûtant 20,07 tuiles, contre 23 ; chacune des sept portes est à six pas ou plus, si bien que l’app court vers toutes.55 Ce billet ne donne donc aucun temps de trajet pour Kiradex : un nombre de cellules dans quatre directions à quatre tuiles par seconde ne serait ni le chemin de l’app ni son allure, et je n’ai chronométré aucun trajet sur un téléphone ni dans le simulateur.
Le chemin, et l’outil de recherche de chemin de la plateforme
La mesure marche dans quatre directions, comme les consoles portables. Le marcheur de Kiradex, lui, non : TileMap.path(from:to:) cherche dans huit directions, un pas en diagonale coûtant racine de deux et n’étant permis que si les deux tuiles entre lesquelles il passe sont praticables, « so nobody slips through the corner of a wall » (pour que personne ne se glisse par le coin d’un mur), les pas droits étant essayés en premier pour qu’à coût égal le trajet s’en tienne aux directions cardinales.50 Tout trajet dans quatre directions est aussi un trajet dans huit directions de même coût, si bien que les distances marchées de ce billet sont une borne supérieure du coût du chemin que planifie l’app, et que les limites de distance du cahier des charges dans quatre directions sont prudentes pour l’app (ses clauses sur la porte la plus proche ne le sont pas : les ordres dans quatre et huit directions peuvent différer) ; la seule vérification qui passe dans une autre zone, celle de la boutique de cartes (C2), utilise la propre règle à huit directions de l’app, comme le font les distances du billet sur les routes.917
La plateforme offre une alternative toute faite. GKGridGraph de GameplayKit, disponible depuis iOS 9.0, est « A navigation graph for 2D game worlds where movement is constrained to an integer grid » (un graphe de navigation pour les mondes de jeu 2D où le mouvement est contraint à une grille entière), construit avec init(fromGridStartingAt:width:height:diagonalsAllowed:), dont le dernier argument choisit entre quatre et huit voisins, et parcouru avec findPath(from:to:), qui renvoie « the shortest traversal of the graph between the specified nodes » (le parcours le plus court du graphe entre les nœuds indiqués).565758 Sa documentation couvre aussi le cas de la ville vers la zone que créent les sorties du cahier des charges : « Pathfinding need not be limited to nodes that are contained in the same graph » (la recherche de chemin n’a pas à se limiter aux nœuds d’un même graphe).58 Kiradex garde sa propre recherche sur sa carte de 40 sur 30 ; je n’ai mesuré ni l’une ni l’autre sur un appareil, et rien dans ce billet ne chronomètre une recherche de chemin.
Ce que coûte une vérification
Le cahier des charges de la section 7 se vérifie de deux façons. measure_kiradex.py lit le town.json livré avec le même code que celui qui a mesuré les seize villes et écrit kiradex.json ; measure_check_kiradex.py lit ce fichier, l’export livré et les exports des zones auxquelles il se connecte, et affiche PASS ou FAIL pour chacune des onze vérifications, avec le nombre. Les deux tournent sur un Mac et ne font que lire le dépôt de l’app.379 Ce qu’un script ne peut pas voir, une capture le peut : le profil iPhone Duo du simulateur de Xcode 27 fournit les écrans intérieur et extérieur, et la capture d’écran d’un test d’interface à l’arrivée montre quelles portes et quel panneau sont dans le cadre.53 Ni la marche ni la caméra n’ont été chronométrées sur un téléphone pour ce billet.
6. L’étude de cas : la ville de Kiradex au build 35, mesurée comme les autres
La ville de Kiradex World a été dessinée avant que rien de tout cela ne soit mesuré. Le billet sur les structures lui a donné des bâtiments et, dans sa mise à jour, deux niveaux : une terrasse avec les maisons, la halle et la fontaine au-dessus d’un mur percé de cinq volées d’escalier, et une cour en contrebas avec la boutique, deux maisons et le parc, l’arrivée sous le grand escalier.18 La question de ce billet n’était donc pas de savoir si la ville avait l’air juste, mais si elle était disposée juste selon les nombres que tient le canon, et la seule façon honnête de poser la question était de faire tourner le même code dessus.
Les mesures
L’export de town.json du build 35, lu le 4 octobre 2026, fait 40 cellules sur 30, entre Clémenti-Ville (30 sur 30) et Mérouville (40 sur 60) en surface, et 8,0 écrans de Game Boy Advance. Il compte sept bâtiments avec porte : cinq maisons (dont la maison de réserve qui mène aussi à votre chambre), la halle et la boutique à deux étages. Ses parts sont de 57,9 pour cent praticable, 18,8 pour cent bâtiments, 1,9 pour cent eau et 21,4 pour cent autre bloqué ; 212 cellules portent la lettre de bâtiment X. Il y a un poteau indicateur, S en (7,10), et aucune connexion de carte : la ville est clôturée.5937
Depuis l’arrivée en (19,13), à pied : la halle est à 10 cellules, la maison de Moss à 13, celle de Dawn à 13, la maison de réserve à 14, celle de Prism à 20, votre maison à 21 et la boutique de Comet à 23. La distance marchée égale la distance de Manhattan pour toutes les portes sauf trois : celle de Comet (23 contre 21), celle de Dawn (13 contre 11) et la maison de réserve (14 contre 12). Le point le plus étroit du trajet vers la porte de Comet et de celui vers la porte de Dawn fait une cellule.37 La largeur de couloir médiane est de 5 cellules ; 17,1 pour cent des cellules praticables se trouvent dans des séquences de deux ou moins ; il y a 17 extrémités de cul-de-sac, 2,45 pour 100 cellules praticables, soit la densité des grandes villes d’Émeraude, pas celle de ses villages.375 Sur le propre chemin à huit directions de l’app, la porte la plus éloignée, la boutique de Comet, coûte 20,07 tuiles, et l’app la rejoint en courant (section 5).55
À côté du canon, la taille, les parts, la première porte et la vue sont justes. Ses parts praticable et bâtiments se rangent avec celles de Bourg-en-Vol et de Lavandia. Ce qui manque, c’est la grammaire de la ville : un poteau indicateur pour sept portes, là où le canon a 54 panneaux de nom de bâtiment pour 107 bâtiments avec porte, plus un panneau mural à côté de chaque porte de Centre et de Boutique dans les trois jeux (8 des 35 dans Rouge et Bleue, 5 dans Cristal, 22 dans Émeraude) ; aucune sortie ; une porte de service, la boutique, qui est la plus éloignée au lieu de la plus proche, et que le plan du monde sort complètement de la ville ; deux trajets qui se resserrent à une cellule ; et 17 extrémités de cul-de-sac.3761
Les onze vérifications
measure_check_kiradex.py transforme les règles de la section 4 en onze vérifications d’acceptation et affiche PASS ou FAIL avec le nombre. Sur l’export du build 35, la ville en réussit six et en échoue cinq.9
| Vérification | Condition | Build 35 | Résultat |
|---|---|---|---|
| C1 | la halle est la première porte, à 10 cellules de marche au plus de l’arrivée | la halle 10, la porte suivante 13 | PASS |
| C2 | la boutique de cartes, dans la rue des Classeurs, est la première porte après le raccord est, à 15 cellules de marche au plus de celui-ci, et à 60 tuiles de chemin au plus de l’arrivée | pas de connexion est ; la boutique est dans la ville, 23 cellules | FAIL |
| C3 | chaque porte à 25 au plus | 23 | PASS |
| C4 | point le plus étroit du trajet le plus court que prend la mesure vers chaque porte d’au moins 2 cellules | 1 sur les trajets vers Comet et Dawn | FAIL |
| C5 | au plus 1 extrémité de cul-de-sac pour 100 cellules praticables | 17 extrémités pour 695 cellules praticables | FAIL |
| C6 | part praticable de 45 à 63 pour cent | 57,9 | PASS |
| C7 | part des bâtiments de 10 à 22 pour cent | 18,8 | PASS |
| C8 | au moins 4 panneaux dans la ville et la zone de la boutique (celui de la ville, celui de la halle, le panneau de nom de la boutique et son panneau mural) | 1 | FAIL |
| C9 | au moins 2 connexions sur des bords différents, chacune avec au moins 2 points de passage atteints à pied | 0 connexion | FAIL |
| C10 | la ville couvre au plus 2 vues du Duo ouvert, tenu à l’horizontale | 1,93 | PASS |
| C11 | au moins 3 portes dans la vue portrait de l’écran extérieur du Duo à l’arrivée | 4 | PASS |
Les seuils remontent aux règles de la section 4, mais pas tous au milieu du canon. Pour voir lesquels, j’ai appliqué les onze aux seize villes, chacune avec l’entrée de son histoire à la place de l’arrivée de Kiradex et le Centre Pokémon comme porte de service, en ne retenant de C2 que sa partie dans la zone : la première porte depuis l’entrée et à 15 au plus ; C9 tourne deux fois, une fois avec les postes et les points de passage uniques comptés comme les villes du canon les utilisent, et une fois selon sa propre règle.8 Seul le nombre de panneaux passe dans toutes les villes, et cinq des vérifications échouent dans huit villes ou plus.
| Vérification | Origine du seuil | Villes du canon qui échouent |
|---|---|---|
| C1, la première porte à 10 au plus (pour Kiradex, la halle) | mon choix, plus strict que le milieu du canon : premières portes de 5 à 17, médiane 12 | 10 sur 16 |
| C2, porte de service en premier et à 15 au plus | la valeur centrale du canon : la médiane du trajet de l’entrée au Centre est de 15 dans les 13 villes qui en ont un, et le Centre est la première porte dans 7 d’entre elles | 6 sur 13 |
| C3, chaque porte à 25 au plus | mon choix, juste au-dessus des portes les plus éloignées des villages, de 16 à 22 dans les cinq villes de la taille d’un village | 10 sur 16, toutes les villes de plus de 20 sur 20 sauf Ville Griotte |
| C4, chaque trajet vers une porte large d’au moins 2 | mon choix, plus strict que le canon (section 4) | 9 sur 16, dont Bourg Palette |
| C5, au plus 1 extrémité de cul-de-sac pour 100 cellules praticables | le niveau des villages : quatre des cinq villes de la taille d’un village sont en dessous, Bourg Geon au-dessus | 8 sur 16 |
| C6, praticable de 45 à 63 pour cent | la bande centrale du canon, qui contient 11 des 16 | 5 sur 16 |
| C7, bâtiments de 10 à 22 pour cent | la bande centrale du canon autour de sa médiane de 13 | 4 sur 16 : Jadielle, Ville Griotte, Mauville, et Lavanville à 22,2 |
| C8, au moins 4 panneaux | le plus petit nombre qu’ait une ville, 4 | 0 sur 16 |
| C9, au moins 2 sorties à pied | la valeur du canon passé le départ | 4 sur 16 avec les postes et les points de passage uniques comptés : Bourg Palette, Bourg Geon, Bourg-en-Vol, Nénucrique ; 5 sur 16 selon la propre règle de C9 (deux raccords, chacun avec 2 points de passage), Doublonville en plus |
| C10, au plus 2 vues du Duo ouvert | mon choix pour l’appareil, appliqué dans les mêmes cellules | 8 sur 16, toutes les villes de 40 cellules sur 36 ou plus |
| C11, au moins 3 portes dans la vue de l’écran extérieur à l’arrivée | mon choix pour l’appareil, avec la caméra sur la meilleure cellule de l’entrée | 4 sur 16 : Jadielle, Ville Griotte, Mérouville, Poivressel |
Cinq vérifications, C1, C3, C4, C10 et C11, sont donc mes choix, plus stricts que le milieu du canon, juste au-dessus des portes les plus éloignées des villages, ou fixés pour un appareil que le canon n’a jamais eu ; une, C5, tient la ville de Kiradex au niveau d’un village, l’échelle qu’elle a sur le Duo ouvert (section 4) ; et cinq, C2 et C6 à C9, sont les valeurs centrales du canon ou se situent en dessous.81 La section 4 explique pourquoi le plancher des rues est là où il est.
Selon ma lecture, les échecs sont d’une seule nature. La ville a été composée comme une image, une terrasse, un mur, une cour et un parc, et ses chemins ont été dessinés pour atteindre chaque porte ;18 rien dans ce processus ne demandait de quelle porte un collectionneur a le plus besoin, où le nom de la ville devait se tenir, ni comment on en sort. Les corrections du cahier des charges sont surtout des déplacements plutôt que des ajouts.
Deux différences avec le billet sur les structures
Deux nombres d’ici diffèrent de la description de la ville dans le billet sur les structures, et ce sont dans les deux cas des différences entre builds, pas des erreurs de l’un ou l’autre. Ce billet dit que les cellules de bâtiment « become X in the letters, 188 of them » (deviennent X dans les lettres, 188 d’entre elles) ; cela décrivait la ville du build 22, et l’export du build 35 contient 212 cellules X.1859 Et ce billet donne votre maison comme « five wide » (large de cinq), alors que son objet dans le town.json du build 35 s’étend sur huit colonnes, x 3 à 10. Je n’ai pas approfondi l’une ou l’autre différence pour ce billet.185937
7. Le cahier des charges : ce que Kiradex construit et les vérifications à réussir
La ville du build 35 satisfait déjà le canon pour la taille, les parts et la vue, et sa première porte est la halle, à 10 cellules : C1, C3, C6, C7, C10 et C11 réussissent.9 Ce qui lui manque, c’est la grammaire de la ville, alors le cahier des charges conserve le plan de 40 sur 30 et les deux niveaux, et ajoute des quartiers, des distances, des panneaux, une boucle sans culs-de-sac et des issues. Il est ajusté au plan du monde du billet sur les routes de cette série, qui fait autorité là où les deux se rencontrent : la boutique de cartes dans la rue des Classeurs, une rue commerçante raccordée au bord est de la ville, la promenade des Prés raccordée à son bord nord, et le quartier des Galeries, atteint par une arche à l’ouest ; le billet sur les routes appelle la ville la Grand-Place.17 Les coordonnées sont celles de la forge (scripts/forge/town.py), x vers la droite et y vers le bas.59 Rien n’y emprunte un lieu, une créature ou une marque à l’un des jeux mesurés plus haut ; il reprend les mécaniques mesurées, et rien d’autre.
La ville telle que livrée au build 35, avec les objectifs du cahier des charges superposés : la boutique part vers l’est dans la rue des Classeurs, les 17 points descendent à 6 au plus, et les bords nord et est s’ouvrent en raccords.38
Quartiers
La ville telle qu’elle est, nommée, avec des objectifs. Chaque quartier est une bande qui traverse la ville, x 1 à 38, donc large de 38 cellules. Le Duo ouvert tenu à l’horizontale montre 29,7 cellules sur 20,9 : la profondeur de chaque quartier tient dans une vue (10, 5, 8 et 7 rangées contre 20,9), l’essentiel de sa largeur est dans le champ (29,7 sur 38), et la caméra suit le joueur le long de la bande pour le reste. La ville entière reste sous deux de ces vues (C10).3751
| Quartier | Cellules (x, y) | Ce qu’il contient | Trajet depuis l’arrivée (19,13) aujourd’hui | Objectif |
|---|---|---|---|---|
| Rue haute | x 1 à 38, y 1 à 10 | votre maison, celle de Moss, la halle, celle de Prism ; la terrasse avec la fontaine | halle 10, Moss 13, Prism 20, la vôtre 21 | la halle reste la première porte (10 au plus, aucune porte plus proche) ; maisons du haut à 22 au plus ; le raccord nord vers la promenade des Prés |
| Cour | x 1 à 38, y 11 à 15 | l’arrivée sous le grand escalier, le mur aux cinq volées, les étals, les parterres | 0 | le panneau de la ville à 6 cellules au plus de l’arrivée, dans la vue de l’écran extérieur, le choix de Kiradex contre le modèle du canon (modification 4) |
| Rue basse | x 1 à 38, y 14 à 21 | la boutique de Comet, la maison de Dawn, la maison de réserve | réserve 14, Dawn 13, boutique 23 | la boutique part dans la rue des Classeurs ; le trajet de Dawn large d’au moins 2 cellules |
| Parc | x 1 à 38, y 22 à 28 | l’étang, les arbres, les bancs | bord de la pelouse environ 9 | une allée en boucle sans extrémité de cul-de-sac |
Les limites de la cour et de la rue basse se chevauchent aux rangées 14 et 15, où la parcelle de la boutique commence à l’extrémité ouest.5937
Les modifications, chacune avec sa vérification
- Déplacer la boutique de cartes dans la rue des Classeurs. Aujourd’hui, la boutique à deux étages est la porte la plus éloignée de la ville, à 23 cellules, l’inverse de la règle de service du canon. Le billet sur les routes place la boutique de cartes dans la rue des Classeurs, à l’est de la ville au-delà d’un raccord ouvert, et ce cahier des charges le suit : la boutique quitte la rue basse, et la règle de service part avec elle. Dans la rue des Classeurs, la boutique est la première porte depuis le raccord, à 15 cellules de marche au plus après celui-ci et dans le cadre de l’écran extérieur depuis la première tuile de la rue des Classeurs après le raccord, une vue large de 14,6 cellules, donc en pratique à environ 7 cellules au plus de la colonne de cette tuile, de la même façon que sept des treize villes à Centre placent le Centre en premier et à 15 au plus de l’entrée ; et le trajet de l’arrivée à sa porte la plus proche coûte au plus 60 tuiles sur le chemin à huit directions de l’app, la propre limite du billet sur les routes.178 La première porte de la ville revient ainsi à la halle (modification 7), qui est selon ma lecture la porte pour laquelle la ville existe. Ce qui occupera ensuite la parcelle de la boutique relève du choix de la forge. Vérification : C2, qui lit l’export de la rue des Classeurs en plus de celui de la ville et prend l’entrée la plus proche de la boutique, si bien qu’une seconde porte de boutique ne peut qu’aider.9
- Faire atterrir les téléportations à un pas de la halle. Quand un collectionneur saute vers la ville d’un ami ou prend le tram jusqu’à la ville, placez-le sur la cellule au sud de la porte de la halle, (22,7), et non sur un point d’apparition générique ; l’arrivée dans la cour reste le point d’apparition du premier lancement. Faites de cette cellule la station de tram de la ville, l’unique entrée de
stopsdans son export, pour que le tram du billet sur les routes, qui termine un trajet à la station de la destination, et le saut atterrissent sur la même cellule. C’est la règle de Vol, que respectent les treize villes à Centre ; la station propre de la rue des Classeurs est, selon la même règle et par mon choix, la cellule sous la porte de la boutique. Vérification : la C12 proposée plus bas litstopsdans l’export comme[[22, 7]], et un test d’interface confirme qu’après un saut ou un trajet la cellule du collectionneur est (22,7).15917 - Élargir le resserrement. Les trajets les plus courts de l’arrivée à la porte de Dawn et à la porte de Comet passent par une brèche d’une cellule ; sur le chemin que prend la mesure, les deux passent par la même cellule, (16,21). Le trajet de Comet part avec la boutique ; celui de Dawn reste. Faites en sorte que chaque trajet le plus court de l’arrivée à une porte fasse au moins 2 cellules de large en son point le plus étroit. Vérification : C4 réussit.3738
- Quatre panneaux : le panneau mural de la boutique là où le canon le place, le panneau de la ville là où le téléphone en a besoin. Dans la ville, un panneau de ville dans la cour, à 6 cellules de marche au plus de l’arrivée. C’est le choix de Kiradex contre le modèle du canon : le panneau de ville du canon se tient plus loin que la première porte dans 12 des 16 villes, à une médiane de 15 cellules de marche de l’entrée, et seul celui de Nénucrique est aussi proche que 6. Sur une console portable, le joueur arrive par une route et passe devant un panneau placé aussi loin. Un collectionneur, lui, apparaît à l’arrivée, si bien que le panneau doit être dans la première image à cet endroit, qui sur l’écran extérieur est la colonne x 12,2 à 26,8 ; 6 cellules au plus est mon choix pour un panneau qu’on lit en arrivant plutôt qu’en passant. Le panneau de nom de la halle se tient sur la rangée de sa porte, à une ou deux cellules au-delà du mur ouest de la halle, en (18,6) ou (17,6), toutes deux praticables. Le décalage le plus fréquent du canon pour un panneau de nom est deux cellules à gauche de la porte (10 des 54 panneaux de nom de bâtiment, bien que seuls 27 des 54 se tiennent sur la rangée de la porte), et chacun de ces dix se tient exactement une cellule au-delà du mur ouest de son bâtiment, parce que chaque porte se trouve une cellule en retrait de ce mur (huit des bâtiments font 4 de large, la maison de Flora 5 et le motel de Nénucrique 6). La porte de la halle se trouve trois cellules en retrait de son mur ouest en x 19, si bien que la cellule située deux cellules à sa gauche, (20,6), est une cellule de son mur de façade. La règle qui se transpose est la distance au mur : (18,6) est la cellule au-delà du mur que retient le canon, et (17,6), deux cellules au-delà, est la tolérance du cahier des charges. L’emplacement est mon choix à partir de ce mode. Dans la rue des Classeurs, le panneau de nom de la boutique de la même façon, à côté du mur ouest de son bâtiment sur la rangée de la porte, et le panneau propre de la boutique sur son mur, à une ou deux cellules à droite de sa porte, sur la rangée de la porte, comme se tiennent les 35 panneaux muraux des Centres et des Boutiques. Facultatif : une plaque nominative à côté de la maison de chaque collectionneur, placée de la même façon. Vérification : C8 compte quatre panneaux dans la ville et la rue des Classeurs ; la C12 proposée plus bas vérifie où ils se tiennent.6959
- Fermer les culs-de-sac. 17 extrémités de cul-de-sac aujourd’hui, 2,45 pour 100 cellules praticables : une densité de grande ville dans une ville de la taille d’un village. Comblez-les ou bouclez-les, jusqu’à 6 au plus avec les 695 cellules praticables actuelles : C5 réussit quand le nombre d’extrémités est au plus égal au nombre de cellules praticables divisé par 100, et 695 divisé par 100 donne 6,95, si bien que 7 extrémités échoueraient encore. Fermer des extrémités en comblant des cellules réduit aussi le nombre de cellules praticables, alors recomptez les deux. Vérification : C5 réussit ; le script des figures liste les cellules des extrémités.375
- Ouvrir les bords nord et est en raccords. Le billet sur les routes relie trois zones à la ville : la rue des Classeurs par un raccord ouvert sur le bord est ; la promenade des Prés par un raccord ouvert sur le bord nord, que son modèle place à 4 tuiles de l’extrémité ouest de la ville, son allée bordée de haies rejoignant la pelouse entre la halle et la maison de Prism ; et le quartier des Galeries par l’arche, une maison de 8 sur 6 avec une porte de chaque côté, à l’ouest.17 Les deux raccords sont les sorties à pied de la ville. Chacun est une brèche dans la clôture d’au moins 2 tuiles de large, dont les cellules sont praticables des deux côtés du raccord, et chacun est une connexion dans l’export au format du billet sur les routes,
{"dir": …, "area": …, "offset": …}, la coordonnée du voisin le long du bord commun étant celle de la ville moins le décalage. Dans le dépôt au commitfc9d487, postérieur au build 35, l’app décode déjà ce format (WorldMap.Connection), le serveur le charge (Plaza.load_all), et l’export de la forge contient la clé, vide.6017 L’arche est une porte, comme un poste du canon, et une troisième issue une fois le quartier des Galeries construit. Vérification : C9 pour les deux raccords, et la C13 proposée plus bas pour leur distance.9 - Garder la place du défi pour la halle. La halle est la vitrine de Kiradex et son repère civique. Les consoles portables placent le défi à l’extrémité opposée, mais l’arrivée de Kiradex fait déjà face à la halle de l’autre côté de la cour, à 10 cellules, le repère comme première porte. C’est le choix propre de Kiradex : ni la disposition de Pokémon à l’extrémité opposée, ni celle de Stardew, où le repère est une destination à part, 46 tuiles au-delà de la boutique. Selon ma lecture, c’est juste pour cette ville : la halle est la porte que chaque collectionneur devrait voir en premier. Vérification : C1, qui exige la halle elle-même : 10 cellules de marche au plus et aucune porte plus proche.3732
Les distances que tient le plan
Cellules depuis l’arrivée, marchées dans quatre directions, sauf le chemin de la boutique de cartes, qui est le coût en tuiles du chemin à huit directions de l’app, comme dans le billet sur les routes.37117
| Destination | Aujourd’hui | Objectif | Règle |
|---|---|---|---|
| Première porte | 10 (la halle) | la halle, 10 au plus, aucune porte plus proche | première porte |
| Boutique de cartes | 23, dans la ville | dans la rue des Classeurs : la première porte après le raccord est, à 15 cellules au plus ; au plus 60 tuiles de chemin depuis l’arrivée | service ; la distance du billet sur les routes |
| Porte médiane | 14 | 15 au plus | médianes des villages de 11,5 à 18 (Rosyères, Bourg Palette, Bourg Geon, Bourg-en-Vol, Lavanville), Clémenti-Ville et Lavandia, des villes, 21,5 et 26 |
| Porte la plus éloignée | 23 | 25 au plus | porte la plus éloignée, juste au-dessus des 16 à 22 des villages (C3) |
| Panneau de la ville | 19 (le poteau en (7,10)) | 6 au plus | le choix de Kiradex contre le modèle du canon, à l’extrémité proche des 6 à 38 du canon (modification 4) |
| Chaque raccord | aucun | son point de passage le plus proche à 30 au plus de l’arrivée | sorties |
Acceptation
Les vérifications par script sont les onze de la section 6, lancées par python3 measure_kiradex.py && python3 measure_check_kiradex.py depuis le dossier de preuves des villes contre le town.json livré ; elles ne demandent ni serveur, ni appareil, ni simulateur. C2, C8 et C9 lisent aussi l’export de chaque zone que nomment les connections de la ville, celui de l’app s’il existe, sinon la copie du serveur, et échouent tant qu’aucun n’existe ; des fixtures en mémoire dans le même dossier montrent C1, C2, C8 et C9 chacune validant une disposition correcte et rejetant une disposition cassée, y compris une seconde porte de boutique dans les deux ordres et une zone de boutique raccordée au raccord nord.379 Elles ne couvrent pas tout le cahier des charges : C8 compte les panneaux sans les placer, C9 vérifie les raccords sans mesurer leur distance, et rien ne vérifie la porte médiane. Trois vérifications supplémentaires sont proposées pour le même script ; aucune n’existe encore.
- C12, panneaux et station. Le panneau de la ville à 6 cellules de marche au plus de l’arrivée ; le panneau de nom de la halle sur la rangée de sa porte, à une ou deux cellules au-delà de son mur ouest, (18,6) ou (17,6), et celui de la boutique de la même façon à côté du mur ouest de son propre bâtiment ; le panneau propre de la boutique à une ou deux cellules à droite de sa porte, sur la rangée de la porte ; et
stopsdans l’export de la ville égal à[[22, 7]], la cellule sous la porte de la halle (modification 2). - C13, raccords. Le point de passage le plus proche de chaque raccord à 30 cellules de marche au plus de l’arrivée ; une fois le quartier des Galeries construit, la porte de l’arche, du côté ouest de la ville, accessible à pied.
- C14, distances. Le trajet médian de l’arrivée à une porte à 15 au plus (14 aujourd’hui) et chaque maison de la rue haute à 22 au plus (21 aujourd’hui).37
Le point d’atterrissage des téléportations de la modification 2 relève d’un test d’interface, et les objectifs de vue relèvent de captures. Le cahier des charges est rempli quand C1 à C11 et les C12 à C14 proposées affichent PASS (C12 y compris la station en (22,7)), que le test d’interface de l’atterrissage réussit et que les captures montrent ce qui suit. Captures sur l’iPhone Duo du simulateur de Xcode 27 : au premier lancement, sur le Duo ouvert tenu à l’horizontale et sur l’écran extérieur, le cadre montre la porte de la halle et le panneau de la ville ; sur l’écran extérieur, avec le collectionneur sur la première tuile de la rue des Classeurs après le raccord, le cadre montre la porte de la boutique de cartes ; après un saut vers la ville d’un ami ou un trajet en tram jusqu’à la ville, la capture montre le collectionneur en (22,7).53
Hors de ce cahier des charges
- La hauteur dans la marche. Les deux niveaux restent dessinés, pas simulés ; pas d’altitude par cellule, de rebord ni de pont ici. Le billet de la série sur l’altitude, Rebords, escaliers et ponts en pixel art dans un monde de tuiles, s’en charge, avec des sauts à sens unique dans les murs de terrasse de la promenade des Prés et une passerelle au-dessus de l’étang du parc.
- Les zones elles-mêmes. La rue des Classeurs, la promenade des Prés, le Bord du lac et le quartier des Galeries relèvent du billet sur les routes ; ce cahier des charges tient la ville à leurs raccords, et la boutique à sa règle de première porte dans la rue des Classeurs.17
- Les bâtiments sans porte. Aucune maison de remplissage pour faire paraître la ville plus dense ; c’est un procédé de grande ville, et celle-ci a la taille d’un village (section 4).
- Nouveaux bâtiments et intérieurs. Les six autres bâtiments de la ville restent ; la boutique part dans la rue des Classeurs avec son intérieur inchangé.
- Le dessin des panneaux. L’emplacement des panneaux est spécifié ; leur dessin relève du kit de la forge, où vit déjà l’enseigne suspendue du billet sur les structures.18
- Quoi que ce soit des jeux mesurés. Aucun nom de lieu, aucune créature, aucune marque ni aucune tuile de Pokémon, Stardew Valley, Animal Crossing ou Final Fantasy VI ; le cahier des charges propose une expression originale de mécaniques mesurées.
- Des temps sur un appareil. Les vérifications portent sur des cellules, des coûts de chemin, des vues et des captures ; rien ici ne promet un temps d’image ni un temps de trajet.
Points clés
Si vous dessinez les graphismes
- Planifiez la ville en écrans de l’appareil sur lequel on y jouera avant de dessiner la moindre tuile : deux sur deux pour un village de départ, de six à seize écrans pour la première ville, seize ou plus seulement pour une grande.1
- Placez le panneau propre d’une boutique sur la rangée de sa porte, à une ou deux cellules à droite de la porte, là où se tient chaque panneau mural de Centre et de Boutique ; un panneau de nom près de sa porte, le plus souvent deux cellules à gauche. Placez le nom de la ville plus loin que la première porte, sauf si les joueurs apparaissent à l’arrivée au lieu d’entrer à pied, comme les collectionneurs de Kiradex (modification 4) ; je lis les panneaux du canon comme placés là où les chemins se rejoignent.6
- Dessinez des rues de 3 à 7 cellules de large et traitez un resserrement d’une ou deux cellules comme une décision, pas comme un accident.5
- Laissez les bâtiments de remplissage sans porte aux grandes villes ; dans un village, chaque porte que vous dessinez devrait s’ouvrir.3
Si vous construisez le moteur
- Mesurez votre propre carte avec le même code que celui que vous utilisez sur les références, une marche dans quatre directions avec la distance de Manhattan à côté, mesurée depuis le même départ, et transformez les règles en un script qui affiche PASS ou FAIL sur le fichier livré.59
- Dites ce que chaque posture montre en cellules. Dans Kiradex, le Duo ouvert tenu à l’horizontale montre 29,7 sur 20,9, l’écran extérieur 14,6 sur 21,2, un Pro Max en portrait 10,3 sur 22,4, et le plan doit fonctionner dans la plus étroite de ces vues.37
- Faites atterrir le voyage rapide sur la cellule de sortie d’une porte, la cellule qu’utilisent les consoles portables dans chaque ville dotée d’un Centre.1
- Amorcez l’entrée d’une ville à partir des cellules dans lesquelles un marcheur peut passer : le décalage de la connexion place le bord du voisin, et seules les cellules de bord praticables sur les deux cartes, et atteintes depuis l’endroit où le joueur arrive sur la route, sont une voie d’entrée. Amorcer tout le bord plaçait la première porte d’Azuria à 5 cellules au lieu de 16 ; compter comme sortie tout bord ayant une cellule praticable, sans la cellule en face, donnait à Bourg Palette une sortie sud qu’il n’a pas.58
- Si votre marcheur planifie des chemins dans huit directions, comme celui de Kiradex, les distances dans quatre directions sont une borne supérieure de son coût de chemin, si bien qu’une limite de distance dans quatre directions est prudente ;
GKGridGraphde GameplayKit fournit l’une et l’autre.5057
Si vous concevez la boucle de jeu
- Placez le service quotidien en première ou deuxième porte depuis l’entrée, à environ dix à quinze cellules ; placez le défi ou l’origine à l’extrémité opposée, sauf si, comme la halle de Kiradex, le repère est la raison même de venir.132
- Donnez à chaque ville après le départ deux issues à pied ou plus, et laissez les chemins intérieurs former des boucles. Dans les seize villes, les exceptions sont les trois villages de départ et un port, Nénucrique, dont la seconde issue passe par la mer.75
- Les services quotidiens d’une ville peuvent former un seul groupe, avec le repère mis à part, le choix de Stardew ; ou l’acre peut être à la fois l’unité de la disposition et celle du contenu, le choix du premier Animal Crossing.3248
Questions fréquentes
Quelle taille devrait avoir une ville de RPG en pixel art ?
Mesurez-la en écrans. Les villages de départ de Pokémon font deux écrans de Game Boy sur deux (20 cellules de 16 pixels sur 18) ou environ 2,67 écrans de Game Boy Advance (20 sur 20) ; la première carte que chaque jeu appelle une ville fait de 6 à 16 écrans (Clémenti-Ville 6, Ville Griotte 8, Jadielle 16), bien que Rosyères, dans Émeraude, la localité intermédiaire, ait la taille d’un village à 2,67 ; le plus grand port, Nénucrique, fait 80 cellules sur 40, 21,3 écrans. Narshe, dans Final Fantasy VI, couvre environ 17 écrans de Super Nintendo d’après des rips de fans. Sur un téléphone, comptez ce que montre votre caméra : la ville de 40 sur 30 de Kiradex représente 1,93 vue de l’iPhone Duo ouvert tenu à l’horizontale.13337
À quelle distance de l’entrée de la ville devrait se trouver le premier bâtiment ?
Environ une douzaine de cellules de marche. Sur seize villes Pokémon, mesurées par une marche sur les données de collision de chaque jeu à partir des cellules dans lesquelles un marcheur peut passer depuis la route précédente, la première porte se trouve à 5 à 17 cellules de l’entrée, médiane 12 ; à la vitesse de marche d’Émeraude, dix cellules font environ 2,7 secondes.123
Où les jeux Pokémon placent-ils le Centre Pokémon dans une ville ?
Près de l’entrée. Dans Rouge, Bleue et Cristal, il est la première porte depuis l’entrée de l’histoire dans six des sept villes mesurées qui en ont un, à Doublonville à égalité avec le grand magasin ; Émeraude le recule dans ses villes mais le garde à 5 cellules de la route à Rosyères. Dans les treize villes mesurées dotées d’un Centre, Vol vous dépose sur la cellule juste sous sa porte.115
Où placer les panneaux dans une ville en vue de dessus ?
Le panneau propre d’une boutique va sur la rangée de sa porte : les 35 panneaux muraux de Centre et de Boutique des seize villes se tiennent tous à une ou deux cellules à droite de la porte. Les panneaux de nom de bâtiment sont plus libres : 27 sur 54 se tiennent sur la rangée de leur porte, et l’emplacement le plus fréquent est deux cellules à gauche. Le panneau de la ville se tient à une médiane de 15 cellules de marche de l’entrée et n’est plus proche que la première porte que dans quatre villes ; selon ma lecture, il marque l’endroit où les chemins se rejoignent.6
Quelle largeur donner aux chemins dans une ville en tuiles ?
De trois à sept cellules en médiane, d’après les seize villes. Des resserrements d’une ou deux cellules surviennent sur le chemin d’une porte et relèvent d’un choix ; Doublonville a 38,4 pour cent de ses cellules praticables dans des séquences de deux ou moins (selon ma lecture, pour donner une impression de grande ville), Clémenti-Ville 6,6 pour cent.5
Quelle est la taille de Pelican Town dans Stardew Valley ?
D’après l’image de la ville entière du Stardew Valley Wiki, 1 920 pixels sur 1 760, soit 120 tuiles sur 110 avec des tuiles de 16 pixels. C’est l’image, pas le fichier de carte du jeu. En distance en ligne droite le long de la grille, avec des tuiles de porte lues sur l’image à une tuile près et sans collision, donc des bornes inférieures du trajet, la clinique et le saloon se trouvent à 7 et 16 tuiles de la boutique et à 23 l’un de l’autre, et les trois sont à 38 à 61 tuiles de l’entrée de l’arrêt de bus : le Bazar de Pierre à 45, la clinique à 38, le saloon à 61.4532
Combien de sorties une ville devrait-elle avoir ?
Deux ou plus, sauf la ville de départ. Bourg Palette, Bourg Geon et Bourg-en-Vol, les trois villes de départ, ont chacune une sortie à pied, tout comme le port de Nénucrique, dont la seconde sortie passe par la mer ; les douze autres villes mesurées en ont de deux à quatre. Bourg Palette et Bourg-en-Vol n’ont aucune extrémité de cul-de-sac.75
Sur ce site : Routes en pixel art : connexions de cartes et quartiers sur iPhone planifie les zones au-delà de la ville, la rue des Classeurs, la promenade des Prés, le Bord du lac et le quartier des Galeries, auxquelles le cahier des charges présenté ici est ajusté ; Des structures en pixel art : maisons, halls et intérieurs sur iPhone est le guide de la série sur les bâtiments, avec les emprises, le kit et la ville à deux niveaux que ce billet mesure ; Des mondes en pixel art sur iPhone : ce que savaient les maîtres du 16 bits est le premier, avec les systèmes de tuiles, les tailles de carte et les vues du téléphone reproduites ici ; Personnes en pixel art : personnages et créateur sur iPhone est le collectionneur qui parcourt ces rues ; iPhone Duo pour les développeurs : le problème du 1,42 et le vide côté SDK établit la taille en points de l’écran intérieur sur laquelle repose le tableau des vues ; Préparer votre app pour l’iPhone Duo : un exemple complet traite de la pliure que la caméra laisse dégagée ; et Xcode 27.1 beta : votre app dans le simulateur iPhone Duo traite du simulateur d’où proviennent les captures du cahier des charges.
Sources
-
Mesure de l’auteur, 4 octobre 2026 :
measure_tables.pydans le dossier de preuves de l’auteur pour ce billet, qui litgen1.json,gen2.json,gen3.jsonetkiradex.json(écrits par les scripts par génération ci-dessous) et affiche la taille, les parts, le nombre de portes, la première porte, la porte médiane et la plus éloignée depuis l’entrée, la médiane du rapport entre distance marchée et distance de Manhattan (relancé le 5 octobre 2026 avec la règle de ligne droite de la section 1 ; les valeurs antérieures, qui prenaient la ligne droite depuis la cellule de bord la plus proche de n’importe quel type, sont conservées à côté des nouvelles sous le nommanhattan_any_start; relancé de nouveau le 5 octobre 2026 avecstatistics.median, la moyenne des deux valeurs centrales sur un nombre pair, là où la première exécution prenait la valeur centrale supérieure), et le tableau des repères (Centre, Boutique, Arène, labo par rapport à l’entrée, le rang du Centre parmi les distances de porte distinctes, le trajet du point de Vol à la porte du Centre). L’entrée de chaque ville est le choix de l’auteur de la connexion vers l’étape précédente du fil principal ; la connexion et son décalage sont ceux de l’en-tête de carte. Révisé le 15 octobre 2026 : les entrées sont désormais amorcées à partir des points de passage de la route, les cellules de bord dans lesquelles un trajet sur la route peut passer, plutôt qu’à partir de chaque cellule praticable du bord d’entrée (notes 2, 3, 4, 5) ; la version antérieure est conservée à côté. La première porte d’Azuria est passée de 5 à 16 et la médiane de la première porte des seize villes de 10,5 à 12. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Mesure de l’auteur, 4 octobre 2026 :
measure_gen1.py(avecmeasure_common.py) sur un clone depokeredde pret au commitd2704a6(22 septembre 2026) : tailles de carte tirées deconstants/map_constants.asm, téléportations, panneaux et points de Vol tirés dedata/maps/objects/*.asmetdata/maps/special_warps.asm, collision d’après la liste des tuiles franchissables de chaque tileset testée sur la tuile inférieure gauche de 8 sur 8 d’une cellule, rebords tirés dedata/tilesets/ledge_tiles.asm; emprises lues à l’œil sur des rendus en niveaux de gris des cartes.blkavec une grille de 16 pixels (renders/gen1_*.png,zoom.py), chacune vérifiée contre sa téléportation. Entrées (révisées le 15 octobre 2026) : les points de passage entre le bord d’entrée de la ville et la route qui lui fait face, placés par le décalage de l’en-tête en blocs de deux cellules (macros/scripts/maps.asm,connection), les deux cellules praticables, dont la cellule de route est atteinte par un trajet sur la route depuis son départ : le raccord de la Route 1 avec Jadielle pour Bourg Palette et avec Bourg Palette pour Jadielle, la téléportation du poste nord de la Forêt de Jade en (3,11) sur la Route 2 pour Argenta, la téléportation de sortie du Mont Sélénite en (24,5) sur la Route 4 pour Azuria (data/maps/objects/Route4.asm), la téléportation sud du Tunnel Roche en (8,53) sur la Route 10 pour Lavanville ; l’entrée d’Azuria est (0,18) et (0,19). Le trajet ne traverse pas les bâtiments ; la maison cambriolée d’Azuria a une porte arrière dont la téléportation, (3,0) dansCeruleanTrashedHouse.asm, débouche en (27,9) de la ville. Sortiegen1.json; la version antérieure est conservée à côté. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Mesure de l’auteur, 4 octobre 2026 :
measure_gen2.py(avecmeasure_common.py) sur un clone depokecrystalde pret au commit5beda23(29 septembre 2026) : tailles de carte tirées deconstants/map_constants.asm, connexions tirées dedata/maps/attributes.asm, points d’apparition tirés dedata/maps/spawn_points.asm, collision d’après les quatre octets de collision typés par bloc de 32 pixels associés pardata/collision/collision_permissions.asm; emprises et maisons sans porte lues à l’œil sur des rendus en niveaux de gris avec une grille de 16 pixels (renders/gen2_*.png) ; le nombre de maisons sans porte de Doublonville est d’environ 45, à 5 près. Entrées (révisées le 15 octobre 2026) comme dans la note 2, avec connexions et décalages (blocs de deux cellules) tirés dedata/maps/attributes.asm: le raccord de la Route 29 avec Ville Griotte pour Bourg Geon et avec Bourg Geon pour Ville Griotte, les téléportations du poste du Bois aux Chênes en (13,37) et (14,37) sur la Route 34 pour Doublonville ; l’entrée de Mauville est formée des cellules de ses deux téléportations versROUTE_31_VIOLET_GATE, (39,24) et (39,25). Le bord ouest de Bourg Geon a 4 cellules praticables, dont (0,8) et (0,9) font face à des cellules praticables de la Route 29. Sortiegen2.json; la version antérieure est conservée à côté. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Mesure de l’auteur, 4 octobre 2026 :
measure_gen3.py(avecmeasure_common.py) sur un clone depokeemeraldde pret au commit731ad5b(1er octobre 2026) : tailles tirées dedata/layouts/layouts.json, cellules tirées dumap.binde chaque disposition (bits de collision, altitude), comportements tirés des attributs des métatuiles, téléportations, panneaux et connexions tirés dedata/maps/*/map.json, points de soin tirés desrc/data/heal_locations.json; emprises par remplissage par diffusion depuis chaque porte, ouvert de deux sur deux et vérifié sur des rendus (render_gen3.py), 9 sur 53 fixées à l’œil (la maison de Timmy, Clémenti-Ville House 2, la Tente de Combat, le musée, le chantier naval et la maison côtière de Poivressel, le magasin de vélos et deux maisons de Lavandia). Entrées (révisées le 15 octobre 2026) comme dans la note 2, avec des décalages en métatuiles tirés de chaquemap.json(src/fieldmap.csoustraitconnection->offsetau passage) et la règle d’altitude appliquée au pas de franchissement : le raccord de la Route 101 avec Rosyères pour Bourg-en-Vol et avec Bourg-en-Vol pour Rosyères, le raccord de la Route 102 avec Rosyères pour Clémenti-Ville, les téléportations nord du Bois Clémenti en (10,30) et (11,30) sur la Route 104 pour Mérouville, le raccord de la Route 110 avec Poivressel pour Lavandia, le raccord de la Route 121 avec la Route 120 pour Nénucrique et, pour Poivressel, la cellule (21,23) sur la Route 109, trois pas au-dessus du bateau de Mr. Briney en (21,26) (data/maps/Route109/map.json;DewfordTown_Movement_ExitBoatSlateportdansdata/maps/DewfordTown/scripts.inc). Le bord sud de Rosyères a 12 cellules praticables, dont x 8 à 11 font face au chemin de la Route 101. Sortiegen3.json; la version antérieure est conservée à côté. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Code de mesure de l’auteur, 4 octobre 2026 :
measure_common.pydans le dossier de preuves des villes : parcours en largeur dans quatre directions avec rebords et règle d’altitude d’Émeraude (d’aprèsIsElevationMismatchAtetObjectEventUpdateElevationdanssrc/event_object_movement.c), distance à une porte comme le meilleur voisin praticable plus un, distance de Manhattan à côté de chaque trajet vers une porte, prise depuis le 5 octobre 2026 à partir de la cellule de départ qu’utilise le trajet le plus court (straight_line; en cas d’égalité, la plus courte des lignes droites des cellules à égalité), la séquence perpendiculaire la plus étroite le long d’un chemin le plus court, la largeur de couloir par cellule (la plus courte des séquences horizontale et verticale), les extrémités de cul-de-sac (un voisin praticable, approches de porte et cellules de bord exclues) et les parts des bâtiments sur des rectangles d’emprise ; depuis le 15 octobre 2026, également les raccords :facingplace le bord de la carte connectée par le décalage de la connexion (la coordonnée du voisin le long du bord est celle de la ville moins le décalage),crossingsconserve les paires praticables sur les deux cartes avec la règle d’altitude pour le pas,seam_entryprend les points de passage qu’atteint un trajet sur la route, etexits_on_footles points de passage qu’atteint le trajet depuis l’entrée. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Mesure de l’auteur, 4 octobre 2026 :
measure_signs.pydans le dossier de preuves des villes, qui classe les 113 événements de panneau des seize villes d’après leurs scripts et leurs étiquettes de texte (panneau mural de Centre ou de Boutique, panneau de nom de bâtiment, panneau de ville, conseil, avis ou objet caché) et mesure chacun par rapport à sa porte la plus proche, ainsi que le panneau de ville par rapport à l’entrée ; trois panneaux de Poivressel et de Nénucrique classés comme panneaux de bâtiment se tiennent loin de leur porte la plus proche. Répartis par jeu, les 35 panneaux muraux du script sont 8 dans Rouge et Bleue, 5 dans Cristal et 22 dans Émeraude, où chaque Centre et chaque Boutique en porte deux, à une et deux cellules à droite de sa porte. ↩↩↩↩↩↩↩↩↩↩ -
Mesure de l’auteur, 4 octobre 2026, relancée le 15 octobre 2026 :
measure_exits.pydans le dossier de preuves des villes : pour chaque connexion de carte, les cellules praticables et d’eau de ce bord, les points de passage (une cellule de bord et la cellule en face sur la carte connectée, placée par le décalage, toutes deux praticables à pied) et le nombre de ceux qu’atteint le trajet depuis l’entrée ; une connexion est une sortie à pied quand l’un d’eux est atteint, et une téléportation de poste qu’atteint le trajet compte une fois sur son bord le plus proche. Ses nombres de cellules atteintes incluent les cellules praticables situées dans les emprises des bâtiments (Nénucrique 818 sur 1 452, Azuria 378 sur 801) ; les parts atteintes du billet proviennent de la note 8. La ligne de Bourg Palette estsouth->ROUTE_21: walk 2, water 4, crossings 0; la rangée nord de la Route 21 a 4 cellules d’eau et aucune cellule praticable, et les cellules qui font face à (2,17) et (3,17) de Bourg Palette ont la tuile inférieure gauche$3a, absente de la liste des tuiles franchissables de l’Overworld. La ligne de Nénucrique estconnections 2, on foot 1, à l’ouest vers la Route 121 avec 6 cellules de bord praticables et 17 d’eau et 3 points de passage, à l’est vers la Route 124 avec 0 et 36. Révisé le 15 octobre 2026 : auparavant, le script comptait comme sortie tout bord de connexion ayant une cellule praticable, ce qui donnait 2 sorties à Bourg Palette, qui n’en a qu’une ; la version antérieure est conservée à côté. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Mesure de l’auteur, 5 octobre 2026, relancée le 15 octobre 2026 :
measure_canon_vs_checks.pydans le dossier de preuves des villes (sortie enregistrée à côté sousmeasure_canon_vs_checks.out), qui litgen1.json,gen2.json,gen3.jsonetkiradex.json, reconstruit les villes avec les trois chargeurs et applique les onze vérifications de Kiradex aux seize villes, l’entrée de l’histoire de chaque ville tenant lieu d’arrivée : C1 une première porte quelconque à 10 au plus ; C2 le Centre Pokémon comme première porte depuis l’entrée et à 15 au plus, dans les 13 villes qui en ont un ; C3 ne compte que les portes qu’atteint le trajet ; C8 compte chaque événement de panneau, au moins 4 ; C9 compte les ouvertures distinctes qu’atteint le trajet depuis l’entrée, une par bord de carte, une connexion avec un point de passage praticable sur les deux cartes dont le trajet atteint la cellule de la ville, ou une téléportation de poste atteignable sur ce bord ; C10 divise les cellules de la ville par les 29,72 sur 20,91 cellules du Duo ouvert ; C11 compte les portes dans les 14,56 sur 21,19 cellules de l’écran extérieur avec la caméra sur la meilleure cellule de l’entrée, bornée à la carte. Sortie : 112 trajets de l’entrée à une porte, point le plus étroit de 1 cellule dans 28, de 2 dans 48, de 3 dans 28, de 4 dans 6, de 5 dans 2. Échecs : C1 10 sur 16 (Jadielle, Argenta, Azuria, Bourg Geon, Ville Griotte, Doublonville, Bourg-en-Vol, Mérouville, Poivressel, Nénucrique) ; C2 6 sur 13 (Azuria, Clémenti-Ville, Mérouville, Poivressel, Lavandia, Nénucrique) ; C3 10 sur 16 (Jadielle, Argenta, Azuria, Mauville, Doublonville, Clémenti-Ville, Mérouville, Poivressel, Lavandia, Nénucrique) ; C4 9 sur 16 (Bourg Palette, Jadielle, Argenta, Azuria, Lavanville, Ville Griotte, Mauville, Doublonville, Lavandia) ; C5 8 sur 16 (Bourg Geon, Mauville, Doublonville, Clémenti-Ville, Mérouville, Poivressel, Lavandia, Nénucrique) ; C6 5 sur 16 (Ville Griotte, Mauville, Doublonville, Clémenti-Ville, Nénucrique) ; C7 4 sur 16 (Jadielle, Lavanville, Ville Griotte, Mauville) ; C8 0 sur 16 (le plus petit nombre d’événements de panneau est 4) ; C9 4 sur 16 (Bourg Palette, Bourg Geon, Bourg-en-Vol, Nénucrique), et 5 sur 16 selon la propre règle C9 de Kiradex, raccords seulement, chacun avec au moins 2 points de passage atteints (Doublonville aussi : son raccord sud et le poste de la Route 35 ; ajouté le 16 octobre 2026) ; C10 8 sur 16 (Jadielle, Argenta, Azuria, Mauville, Doublonville, Mérouville, Poivressel, Nénucrique) ; C11 4 sur 16 (Jadielle, Ville Griotte, Mérouville, Poivressel). Sorties à pied : Lavandia 4 ; Jadielle, Lavanville, Mauville, Rosyères et Mérouville 3 ; Argenta, Azuria, Ville Griotte, Doublonville, Clémenti-Ville et Poivressel 2 ; Bourg Palette, Bourg Geon, Bourg-en-Vol et Nénucrique 1. Les cellules du bord est de Mauville sont (39,24) et (39,25), les deux téléportations de son poste, sans point de passage vers la Route 31, si bien que sa sortie est est le poste ; le bord nord de Doublonville a 8 points de passage, 0 atteint, sa sortie nord est le poste de la Route 35 ; les bords sud et est d’Azuria ont 16 et 12 points de passage, 0 atteint ; un trajet depuis la porte arrière de la maison cambriolée en (27,9) atteint 632 cellules, dont 16 points de passage au sud et 2 à l’est (measure_cerulean_backdoor.py, sortiemeasure_cerulean_backdoor.out). Accessible à pied depuis l’entrée, sur le nombre de cellules praticables du tableau, cellules d’emprise exclues : Nénucrique 793 sur 1 416 (56 pour cent), Azuria 371 sur 794 (47 pour cent). Les sources des seuils de la section 6 sont lues dans la sortie demeasure_tables.py(note 1) : les portes les plus éloignées des villes de la taille d’un village, Bourg Palette 17, Lavanville 22, Bourg Geon 17, Bourg-en-Vol 21 et Rosyères 16 ; et les trajets des 13 Centres depuis l’entrée, 5, 10, 10, 10, 11, 13, 15, 15, 20, 24, 26, 26 et 40, médiane 15 selon le calcul de l’auteur, 7 d’entre eux première porte. Révisé le 15 octobre 2026 avec les entrées de la note 1 et les vérifications de la note 9 ; la version antérieure est conservée à côté. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Script d’acceptation de l’auteur, 4 octobre 2026, réécrit le 15 octobre 2026 (la version antérieure est conservée à côté) :
measure_check_kiradex.pydans le dossier de preuves des villes, lancé aprèsmeasure_kiradex.py; il litkiradex.json, letown.jsonlivré et, pour C2, C8 et C9, l’export de chaque zone que nomment lesconnectionsde la ville (le fichier de l’app sousKiradex/Resources/Worldavec cetid, sinon celui du serveur,server/app/areas/<id>.json), et affiche PASS ou FAIL pour les vérifications C1 à C11. Les portes gardent leur identité, chacune appartenant à l’objet dont le cadre la contient, elle ou la rangée en dessous, et le trajet vers un bâtiment est celui vers sa porte la plus proche. C1 exige la halle à 10 au plus et aucune porte plus proche ; C2 lit la zone de la boutique au raccord est (tout autre raccord échoue, depuis le 16 octobre 2026), sa porte de boutique la plus proche à 15 cellules de marche au plus des points de passage atteints du raccord sans porte plus proche dans cette zone, et le chemin de l’arrivée à la boutique selon la règle à huit directions deTileMap.pathsur les deux exports joints au décalage, à 60 tuiles au plus ; C8 compte lesSde la ville et de la zone de la boutique, au moins 4 ; C9 exige deux connexions sur des bords différents, chacune avec au moins 2 points de passage atteints à pied. Sortie sur l’export du build 35 (et sur l’export au commitfc9d487, identique) : PASS C1 [hall 10, nearest other door 13], FAIL C2 [no connection; the shop’s door in the town at 23], PASS C3 [23], FAIL C4 [[3, 5, 5, 3, 1, 1, 2]], FAIL C5 [(17, 695)], PASS C6 [57.9], PASS C7 [18.8], FAIL C8 [1 in the town, 0 elsewhere], FAIL C9 [0 connections], PASS C10 [1.93], PASS C11 [4].measure_check_kiradex_fixtures.py(sortiemeasure_check_kiradex_fixtures.out) lance C1, C2, C8 et C9 sur des exports en mémoire : une boutique à deux portes donne la même C2 dans les deux ordres de téléportation ; une halle à 10 avec une maison à 3 échoue à C1 ; une maison plus proche du raccord que la boutique échoue à C2 ; une seule connexion, un raccord clôturé ou deux fois le même bord échoue à C9 ; un seul panneau sur les deux zones échoue à C8 ; une zone de boutique raccordée au raccord nord échoue à C2. ↩↩↩↩↩↩↩↩↩↩↩↩ -
pret,
pokered/constants/map_constants.asm(tailles de carte en blocs de 32 pixels), commitd2704a6, lu sur le clone local le 4 octobre 2026, https://github.com/pret/pokered/blob/master/constants/map_constants.asm. ↩↩↩ -
pret,
pokecrystal/constants/map_constants.asm, commit5beda23, lu le 4 octobre 2026, https://github.com/pret/pokecrystal/blob/master/constants/map_constants.asm. ↩↩ -
pret,
pokeemerald/data/layouts/layouts.json(largeurs et hauteurs des dispositions en métatuiles), commit731ad5b, lu le 4 octobre 2026, https://github.com/pret/pokeemerald/blob/master/data/layouts/layouts.json. ↩↩↩ -
pret,
pokered/data/maps/special_warps.asm(destinationsfly_warp), comparé aux ligneswarp_eventde chaque ville, commitd2704a6, lu le 4 octobre 2026, https://github.com/pret/pokered/blob/master/data/maps/special_warps.asm. ↩↩ -
pret,
pokecrystal/data/maps/spawn_points.asm, commit5beda23, lu le 4 octobre 2026, https://github.com/pret/pokecrystal/blob/master/data/maps/spawn_points.asm. ↩↩ -
pret,
pokeemerald/src/data/heal_locations.json(points de soin par ville) etsrc/region_map.c(Vol fixe sa destination avecSetWarpDestinationToHealLocation), commit731ad5b, lu le 4 octobre 2026, https://github.com/pret/pokeemerald/blob/master/src/data/heal_locations.json et https://github.com/pret/pokeemerald/blob/master/src/region_map.c. ↩↩↩ -
Mesure de l’auteur, 5 octobre 2026 :
measure_ratios.pydans le dossier de preuves des villes (sortie enregistrée à côté sousmeasure_ratios.out), qui litgen1.json,gen2.json,gen3.jsonetkiradex.jsonet liste, ville par ville et porte par porte, le trajet depuis l’entrée, la ligne droite depuis la cellule de départ qu’utilise ce trajet, cette cellule et le rapport, avec les mêmes entrées, portes et médiane (statistics.median) quemeasure_tables.py. Révisé le 15 octobre 2026 avec les entrées de la note 1. Sur les 112 trajets de l’entrée à une porte des seize villes, 58 ont un rapport d’exactement 1,00 et 9 un rapport de 2 ou plus : la maison de Nénucrique en (11,22), 60 contre 16 (3,75) ; le magasin de vélos de Doublonville, 46 contre 14 (3,29) ; le musée de Nénucrique, 62 contre 22 et 61 contre 23 ; le port de Nénucrique, 73 contre 27 ; la maison des voisins de Bourg Geon, 13 contre 5 (2,60) ; l’entrée du Souterrain de Doublonville en (11,29), 31 contre 13 ; le Casino de Lavandia, 38 contre 16 ; l’Arène d’Argenta, 44 contre 20. ↩↩↩↩↩↩↩↩↩↩↩ -
Blake Crosley, « Pixel-Art Routes: Map Connections and Districts on iPhone », blakecrosley.com, 5 octobre 2026, https://blakecrosley.com/blog/pixel-art-world-beyond-the-plaza, section 7 : les cinq zones (la Grand-Place ; la rue des Classeurs, « A shopping street: the card shop from the structures kit » (une rue commerçante : la boutique de cartes du kit des structures), raccordée au bord est de la Grand-Place par un raccord ouvert ; la promenade des Prés raccordée à son bord nord ; le Bord du lac au-delà ; le quartier des Galeries à l’ouest « through the arch (two doors) » (par l’arche (deux portes)), une pièce de 8 sur 6 avec une porte de chaque côté) ; l’arrivée jusqu’à la porte de la boutique de cartes à 60 tuiles au plus sur le chemin à huit directions de l’app ; le format de connexion, avec le décalage défini comme « the neighbor’s origin along the shared edge, Gen 3’s convention » (l’origine du voisin le long du bord commun, la convention de la génération 3) ; une brèche dans la clôture à chaque raccord, d’au moins 2 tuiles de large, praticable des deux côtés ; un trajet en tram qui se termine à la station de la destination ; et sa note 66 sur la promenade des Prés raccordée à 4 tuiles de l’extrémité ouest de la Grand-Place, son allée rejoignant la pelouse entre la halle et la maison à l’est de celle-ci. ↩↩↩↩↩↩↩↩↩
-
Blake Crosley, « Pixel-Art Structures: Houses, Halls and Interiors on iPhone », blakecrosley.com, 3 octobre 2026, https://blakecrosley.com/blog/pixel-art-structures-on-iphone : le tableau des emprises avec lequel concordent celles de ce billet ; les valeurs d’altitude d’Émeraude (transition et multiniveau) ; l’enseigne suspendue du kit ; les bâtiments de la ville (« Building cells become
Xin the letters, 188 of them » (les cellules de bâtiment deviennentXdans les lettres, 188 d’entre elles), à propos de la ville du build 22 ; « your house at[3, 1], five wide » (votre maison en[3, 1], large de cinq)) ; sa mise à jour du 3 octobre sur la ville à deux niveaux du build 35 et la liste de ce qui reste à faire, dont l’altitude par cellule et le rebord. ↩↩↩↩↩↩↩↩↩↩ -
pret,
pokered/constants/hardware.inc(def SCREEN_WIDTH_PX equ 160,def SCREEN_HEIGHT_PX equ 144), commitd2704a6, lu le 4 octobre 2026, https://github.com/pret/pokered/blob/master/constants/hardware.inc. ↩ -
pret,
pokered/home/overworld.asm(lda_coord 8, 9 ; tile the player is on), commitd2704a6, lu le 4 octobre 2026, https://github.com/pret/pokered/blob/master/home/overworld.asm. La cellule du joueur dans la vue, (4, 4), et la répartition de quatre à gauche, cinq à droite, quatre au-dessus et quatre en dessous sont la dérivation de l’auteur à partir de cette coordonnée. ↩↩ -
pret,
pokeemerald/include/gba/defines.h(#define DISPLAY_WIDTH 240,#define DISPLAY_HEIGHT 160), commit731ad5b, lu le 4 octobre 2026, https://github.com/pret/pokeemerald/blob/master/include/gba/defines.h. ↩ -
pret,
pokeemerald/include/fieldmap.h, le commentaire au-dessus de#define MAP_OFFSET 7, commit731ad5b, lu le 4 octobre 2026, https://github.com/pret/pokeemerald/blob/master/include/fieldmap.h. ↩↩ -
pret,
pokeemerald/src/event_object_movement.c(sStep1Funcs, seize entréesStep1pourMOVE_SPEED_NORMAL), commit731ad5b, lu le 4 octobre 2026, https://github.com/pret/pokeemerald/blob/master/src/event_object_movement.c. Les secondes et les cellules par seconde sont le calcul de l’auteur à la fréquence de rafraîchissement de la note 24. ↩↩↩↩↩ -
La fréquence de rafraîchissement de la Game Boy Advance d’environ 59,7 hertz, telle qu’utilisée dans Blake Crosley, « Pixel-Art Structures: Houses, Halls and Interiors on iPhone », blakecrosley.com, 3 octobre 2026, section 2, « Doors, mats and warps », https://blakecrosley.com/blog/pixel-art-structures-on-iphone. ↩↩
-
pret,
pokered/data/tilesets/collision_tile_ids.asm(tuiles franchissables par tileset), commitd2704a6, lu le 4 octobre 2026, https://github.com/pret/pokered/blob/master/data/tilesets/collision_tile_ids.asm. ↩↩ -
pret,
pokecrystal/data/collision/collision_permissions.asm, commit5beda23, lu le 4 octobre 2026, https://github.com/pret/pokecrystal/blob/master/data/collision/collision_permissions.asm. ↩↩ -
pret,
pokeemerald/src/metatile_behavior.c(comportements et indicateur de surf), commit731ad5b, lu le 4 octobre 2026, https://github.com/pret/pokeemerald/blob/master/src/metatile_behavior.c. ↩↩ -
Mesure de l’auteur, 5 octobre 2026 :
measure_medians.pydans le dossier de preuves des villes (sortie enregistrée à côté sousmeasure_medians.out), qui recalcule chaque médiane qu’énonce le billet avecstatistics.medianà partir degen1.json,gen2.json,gen3.json,kiradex.jsonetmeasure_signs.out: par ville, la porte médiane et la médiane du rapport entre distance marchée et distance de Manhattan ; sur les seize villes, la première porte (12,0, sur 5, 6, 8, 10, 10, 10, 11, 11, 13, 13, 14, 14, 15, 15, 16, 17), la part des bâtiments (13,0), le trajet jusqu’au panneau de la ville (15) et le trajet jusqu’au Centre (15, sur 13 villes). Médianes des rapports : 1,00 dans huit villes ; Bourg Geon 1,07, Mauville 1,07, Ville Griotte 1,09, Jadielle 1,10, Nénucrique 1,13, Bourg-en-Vol 1,15, Bourg Palette 1,25, Lavanville 1,31. Les cinq villes de la taille d’un village (20 sur 18 ou 20 sur 20) ont des portes médianes de 11,5 (Rosyères), 12 (Bourg Palette), 14,5 (Bourg Geon), 15 (Bourg-en-Vol) et 18 (Lavanville) ; à Lavanville, Bourg Palette et Bourg-en-Vol, aucune des 12 portes ne s’atteint exactement sur sa ligne droite, et les trajets la dépassent de 2 à 6 cellules. Révisé le 15 octobre 2026 avec les entrées de la note 1 ; la médiane de la première porte était auparavant de 10,5. ↩↩↩ -
pret,
pokered/data/maps/headers/(les connexions de chaque ville), commitd2704a6, lu le 4 octobre 2026, https://github.com/pret/pokered/tree/master/data/maps/headers. ↩↩ -
pret,
pokecrystal/data/maps/attributes.asm(connexions, dont la connexion est de Bourg Geon vers la Route 27), commit5beda23, lu le 4 octobre 2026, https://github.com/pret/pokecrystal/blob/master/data/maps/attributes.asm. ↩↩ -
pret,
pokeemerald/data/maps/(lemap.jsonde chaque ville : téléportations, événements de panneau, connexions), dontOldaleTown/map.json,LittlerootTown/map.json,PetalburgCity/map.json,MauvilleCity/map.jsonetSlateportCity/map.json, commit731ad5b, lu le 4 octobre 2026, https://github.com/pret/pokeemerald/tree/master/data/maps. ↩↩↩↩↩↩↩↩ -
Mesure de l’auteur, 4 octobre 2026 :
measure_stardew.pydans le dossier de preuves des villes, sur la taille de l’image du wiki (note 45) et la feuille de style de la carte image (note 46) ; tuiles de porte lues à l’œil avec une grille d’une tuile sur des recadrages produits parzoom_sdv.py(z_sdv_center.png,z_sdv_west.png,z_sdv_cc.png), à une tuile près ; distances de Manhattan sans collision, donc des bornes inférieures. Le rapport de 4,1 avec Nénucrique est le calcul de l’auteur (13 200 divisé par 3 200). ↩↩↩↩↩↩↩↩↩ -
VGMaps, Final Fantasy VI (World of Balance), Narshe, un rip de carte réalisé par des fans, https://www.vgmaps.com/Atlas/SuperNES/FinalFantasyVI-WorldOfBalance-Narshe.png, enregistré le 4 octobre 2026 ; le panneau extérieur mesuré par l’auteur par sa bordure d’un pixel à 976 pixels sur 992. ↩↩↩↩
-
VGMaps, Final Fantasy VI (World of Balance), South Figaro, un rip de carte réalisé par des fans, https://www.vgmaps.com/Atlas/SuperNES/FinalFantasyVI-WorldOfBalance-SouthFigaro.png, enregistré le 4 octobre 2026 ; panneau de 880 pixels sur 880, mesuré par l’auteur. ↩↩↩
-
everything8215,
ff6/notes/rom-map.txtau commit813013276c95, enregistré le 4 octobre 2026, https://github.com/everything8215/ff6/blob/main/notes/rom-map.txt (« Map Properties (415 items, 33 bytes each) » deED8F00àEDC47F) ; le dépôt ne contient aucune donnée de carte. ↩↩ -
pret,
pokefirered/data/layouts/layouts.json(LAYOUT_PALLET_TOWN24 sur 20,LAYOUT_VIRIDIAN_CITY48 sur 40, en métatuiles de 16 pixels), commit037335f(26 septembre 2026), lu sur le clone local le 15 octobre 2026, https://github.com/pret/pokefirered/blob/master/data/layouts/layouts.json. ↩ -
Mesure de l’auteur, 4 octobre 2026 :
measure_kiradex.pydans le dossier de preuves des villes, qui lit letown.jsonlivré (note 59) avec l’ensemble de lettres praticables que partagent l’app et le serveur (gtpTBFsEH), le mesure avecmeasure_common.pyet calcule la vue de chaque appareil selon la règle dePlazaRig.fità partir des tailles en points du simulateur à l’échelle 3, avec la caméra sur l’arrivée, bornée à la carte. Sortiekiradex.json: parts, trajets vers les portes et points les plus étroits, largeurs de couloir, 17 extrémités de cul-de-sac sur 695 cellules praticables, le panneau unique, tailles de vue, portes dans la vue et écrans nécessaires pour couvrir la ville. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Figures de l’auteur, 4 octobre 2026, redessinées le 15 octobre 2026 (les premières portes d’après les entrées révisées, et les objectifs du plan ajustés au billet sur les routes) :
figures/make_figures.pydans le dossier de brouillon de ce billet dessinefirst-door.svg,screens-spanned.svgetkiradex-plan.svgà partir degen1.json,gen2.json,gen3.json,kiradex.jsonettown.json, en vérifiant chaque valeur tracée contre les tableaux du dossier ; pour le plan, il liste les 17 extrémités de cul-de-sac et le point d’une cellule, (16,21), sur les chemins les plus courts que prendmeasure_common.path_tovers les portes de Dawn et de Comet. Couleurs tirées d’une palette validée pour les déficiences de la vision des couleurs ; aucun graphisme de jeu. ↩↩↩↩ -
Blake Crosley, « Pixel-Art Worlds on iPhone: What the 16-Bit Masters Knew », blakecrosley.com, 3 octobre 2026, https://blakecrosley.com/blog/pixel-art-world-on-iphone : Bourg Palette comme 10 blocs sur 9, deux écrans de large et deux de haut ; Bourg-en-Vol 20 sur 20, Clémenti-Ville 30 sur 30, Mérouville 40 sur 60, Nénucrique 80 sur 40 ; l’iPhone 18 Pro Max à 10,3 tuiles sur 22,4 et l’iPhone Duo ouvert à 29,7 sur 20,9 ; la tuile de 16 pixels. ↩↩↩↩
-
pret,
pokered/data/maps/objects/(les listeswarp_event,bg_eventet d’objets de chaque ville), dontViridianCity.asm,PalletTown.asmetCeruleanCity.asm, commitd2704a6, lu le 4 octobre 2026, https://github.com/pret/pokered/tree/master/data/maps/objects. ↩↩↩↩↩ -
pret,
pokered/maps/(les cartes de blocs.blkdes villes, dontPalletTown.blk), commitd2704a6, lu le 4 octobre 2026, https://github.com/pret/pokered/tree/master/maps. ↩↩ -
pret,
pokecrystal/maps/(scripts d’événements et cartes.blk, dontGoldenrodCity.asm,GoldenrodCity.blketNewBarkTown.blk), commit5beda23, lu le 4 octobre 2026, https://github.com/pret/pokecrystal/tree/master/maps. ↩↩↩↩↩↩ -
pret,
pokeemerald/data/layouts/*/map.bin, dontLittlerootTown,PetalburgCity,RustboroCity,MauvilleCityetLilycoveCity, commit731ad5b, lu le 4 octobre 2026, https://github.com/pret/pokeemerald/tree/master/data/layouts. ↩↩↩↩↩↩ -
Mesure de l’auteur, 5 octobre 2026, étendue le 15 octobre 2026 :
measure_mauville_south.pydans le dossier de preuves des villes (sortie enregistrée à côté sousmeasure_mauville_south.out), qui construit Lavandia avec le chargeur d’Émeraude et marche depuis chaque tronçon de son bord sud pris isolément. Les cellules praticables du bord sont (9,19), x 12 à 18 et x 27 à 33. Depuis x 12 à 18 seul, le trajet atteint 430 cellules, les sept cellules de l’autre tronçon (la plus proche à 19), la porte de l’Arène à 40 et celle du Casino à 38 ; depuis x 27 à 33 seul, 430 cellules et l’Arène à 39 ; depuis (9,19) seul, 1 cellule, ses trois voisins intérieurs bloqués. La rangée 12 n’est praticable qu’en x 26 à 30 entre x 20 et 35 ; avec ces cinq cellules bloquées, le trajet depuis tout le bord atteint 98 cellules et ni la porte de l’Arène ni celle du Casino. Un chemin le plus court de x 12 à 18 vers l’Arène part de (18,19) et va au nord jusqu’à y 15, à l’est jusqu’à x 26, au nord jusqu’à y 8, puis à l’ouest. Le raccord avec la Route 110 (décalage 0) : la rangée supérieure de la Route 110 est praticable en x 12 à 18 et en (28,0) ; les points de passage sont x 12 à 18 et (28,19), et le trajet sur la Route 110 depuis son raccord avec Poivressel n’atteint que x 12 à 18, qui constitue l’entrée. Lignes droites depuis le départ qu’utilise le trajet le plus court (section 1) : Arène 24 et Casino 16, toutes deux depuis (18,19). ↩ -
Stardew Valley Wiki, « File:Pelican Town.png », informations d’image tirées de l’API MediaWiki (1 920 pixels sur 1 760, téléversée le 2024-10-17T16:54:10Z), enregistré le 4 octobre 2026, https://stardewvalleywiki.com/File:Pelican_Town.png. ↩↩↩↩
-
Stardew Valley Wiki, « Template:Pelican Town Map/styles.css » (le cadre de chaque bâtiment en pourcentage de l’image), enregistré le 4 octobre 2026, https://stardewvalleywiki.com/Template:Pelican_Town_Map/styles.css. ↩↩
-
Stardew Valley Wiki, « Pelican Town », enregistré le 4 octobre 2026, https://stardewvalleywiki.com/Pelican_Town (la phrase citée sur l’entrée nord-ouest ; les zones voisines paraphrasées). Les points d’accès au texte brut du wiki renvoyaient HTTP 403 ; l’API MediaWiki a été utilisée à la place. ↩
-
Nookipedia, « Acre », enregistré le 4 octobre 2026, https://nookipedia.com/wiki/Acre : la taille de l’acre, la ville de cinq sur six de la version GameCube, la gare en A-3, la règle des poissons et des insectes, et le nombre d’acres de Wild World, City Folk, New Leaf et New Horizons. Une source secondaire. ↩↩↩↩↩
-
Dossiers de recherche de l’auteur pour cette série (privés) : les valeurs du dossier sur les structures pour l’écran de Super Nintendo, 16 tuiles de 16 pixels sur 14, et pour les calques de carte de Final Fantasy VI en puissances de deux. ↩↩
-
Code de l’auteur, dépôt Kiradex au commit
b1b78b1,Kiradex/World/TileMap.swift,path(from:to:)(à partir de la ligne 325) : une recherche dans huit directions, diagonales à racine de deux et seulement entre deux tuiles praticables ; chaque pas est admis parisWalkableseul (lignes 346 à 348), qui lit la praticabilité de la tuile elle-même (ligne 229), si bien que les autres collectionneurs ne bloquent pas un chemin. Dépôt privé. ↩↩↩↩ -
Code de l’auteur, dépôt Kiradex au commit
b1b78b1,Kiradex/World/PlazaRig.swift:tilesPerSecond: Float = 4(ligne 101),runPace: Float = 1.6(ligne 122),player.running = steps.count >= 6danswalk(to:)(ligne 614), la progression de chaque imagedt * Self.tilesPerSecond * (walker.running ? Self.runPace : 1) / lengthaveclengthégal à racine de deux sur une diagonale (lignes 659 et 660), la progression remise à 0 quand un pas s’achève (ligne 666),fit(viewSize:displayScale:tilesTall:fitsWhole:)(lignes 402 à 416) etfollow(lignes 733 à 759), la caméra orthographique aux lignes 133 et 417 ; le trajet d’un autre collectionneur est planifié dansmove(other:to:facing:)(à partir de la ligne 526) avecmap.path(from:to:)seul (ligne 528), et celui du joueur danswalk(to:)(ligne 608) avec le même appel ; aucune vérification d’occupation ni d’évitement n’apparaît dans l’un ou l’autre. Lu le 15 octobre 2026 dans les objets stockés du dépôt avec zlib (aucune commande git), enregistré souskiradex_b1b78b1/PlazaRig.swiftdans le dossier de preuves des villes. Dépôt privé. ↩↩↩↩↩↩↩ -
Apple, « iPhone Duo - Technical Specifications », enregistré le 4 octobre 2026, https://www.apple.com/iphone-duo/specs/ (écran intérieur d’une résolution de 1878 pixels sur 2670 à 430 ppp ; extérieur 1398 sur 2034 à 460 ppp). ↩↩
-
Profil d’appareil du simulateur de Xcode 27,
/Library/Developer/CoreSimulator/Profiles/DeviceTypes/iPhone Duo.simdevicetype/Contents/Resources/capabilities.plist, lu le 4 octobre 2026 (enregistré sousduo_capabilities_plist.txtdans le dossier de preuves des villes) : extérieur 1 398 pixels sur 2 034 à l’échelle 3, intérieur 2 007 sur 2 853 à l’échelle 3. ↩↩↩ -
Apple Developer Documentation, « OrthographicCameraComponent » (iOS 18.0 et ultérieur), consulté le 4 octobre 2026, https://developer.apple.com/documentation/realitykit/orthographiccameracomponent. ↩
-
Mesure de l’auteur, 15 octobre 2026 :
measure_kiradex_paths.pydans le dossier de preuves des villes (sortiemeasure_kiradex_paths.out), qui reproduitTileMap.path(from:to:)au commitb1b78b1(Kiradex/World/TileMap.swift, lignes 325 à 365 : huit déplacements, les droits d’abord, une diagonale coûtant racine de deux et permise seulement entre deux tuiles praticables) sur letown.jsonde ce commit, et lit l’allure dePlazaRig.swiftaux lignes de la note 51 : depuis l’arrivée (19,13), la halle 7 pas et 8,24 tuiles, la maison de Moss 8 pas et 10,07, celle de Prism 14 et 16,49, votre maison 16 et 18,07, celle de Dawn 12 et 12,41, la maison de réserve 13 et 13,41, la boutique de Comet 18 et 20,07 ; les sept à six pas ou plus, donc en courant. Il n’affiche aucune seconde. ↩↩ -
Apple Developer Documentation, « GKGridGraph » (iOS 9.0 et ultérieur), consulté le 4 octobre 2026, https://developer.apple.com/documentation/gameplaykit/gkgridgraph. ↩
-
Apple Developer Documentation,
init(fromGridStartingAt:width:height:diagonalsAllowed:)(iOS 9.0 et ultérieur), consulté le 4 octobre 2026, https://developer.apple.com/documentation/gameplaykit/gkgridgraph/init(fromgridstartingat:width:height:diagonalsallowed:). ↩↩ -
Apple Developer Documentation,
findPath(from:to:)surGKGraph(iOS 9.0 et ultérieur), consulté le 4 octobre 2026, https://developer.apple.com/documentation/gameplaykit/gkgraph/findpath(from:to:). ↩↩ -
Données de l’auteur, dépôt Kiradex,
Kiradex/Resources/World/town.json, modifié pour la dernière fois au commit305118e(TestFlight build 35) et inchangé jusqu’àb1b78b1, lu le 4 octobre 2026 : 40 lettres sur 30, l’arrivée en (19,13), sept téléportations, 212 cellulesX, unS; les cellules des objets (votre maison s’étend de x 3 à 10) ; coordonnées telles que les écrit la forge (scripts/forge/town.py). Le fichier tel qu’il était àb1b78b1est enregistré souskiradex_b1b78b1/town.jsondans le dossier de preuves des villes, lu le 15 octobre 2026 dans les objets stockés avec zlib ; l’export au commitfc9d487(15 octobre 2026) a les mêmes rangées, la même arrivée, les mêmes téléportations et les mêmes objets, et trois clés de plus,"id": "plaza","connections": []et"stops": []. Dépôt privé. ↩↩↩↩↩↩↩↩ -
Code de l’auteur, dépôt Kiradex au commit
fc9d487(15 octobre 2026), lu dans les objets stockés avec zlib :Kiradex/World/WorldMap.swift(let connections: [Connection]?à la ligne 53,struct Connectionavecdir,areaetoffsetà partir de la ligne 60),server/app/rooms.py(connectionsà la ligne 40,load_allà partir de la ligne 59, qui refuse une connexion vers une zone qu’il n’a pas, ligne 73) etscripts/forge/town.py("id": "plaza","connections": [],"stops": []aux lignes 658 à 660). Dépôt privé. ↩