← Tous les articles

Rendre hommage aux anciens jeux Pokémon sans rien leur emprunter

Pokémon Version Or, Argent et Cristal font passer chaque pas du joueur par une seule routine, qui rapproche les œufs de l’équipe de l’éclosion tous les 256 pas, augmente le bonheur de l’équipe tous les 512 et blesse un Pokémon empoisonné tous les 4 ; Pokémon Émeraude fait pousser ses baies selon l’horloge en temps réel, en quatre stades, de 4 à 96 heures entre la plantation et le fruit, et laisse une formule de deux mots dériver de 5 points par jour et se propager de sauvegarde en sauvegarde.1234 Ce sont des mécaniques, et les mécaniques sont ce qu’un hommage peut garder. Le dossier dit ce qu’il ne peut pas garder : chaque jeu de fans, chaque boîte à outils et chaque forum de ce dossier mis hors ligne, ou retiré après des avis de retrait, entre 2016 et 2024 reposait sur les noms, les graphismes ou le code de Pokémon, ou renvoyait vers des jeux qui le faisaient,5678 et la seule affaire qui porte sur des mécaniques, la plainte contre Palworld déposée à Tokyo le 18 septembre 2024, s’appuie sur des brevets dont les revendications exigent de viser et de lancer un objet de capture, un indicateur de probabilité de capture, ou de monter sur un personnage chevauchable en plein vol.910111213 J’ai donc lu les quatre décompilations pour les systèmes, lu les revendications et les comptes rendus judiciaires pour la limite, et rédigé pour notre application, Kiradex, un cahier des charges qui garde la marche, l’horloge, la carte, le dénivelé, le hall hebdomadaire et la formule qui se propage, et qui dessine lui-même chaque pixel, chaque mot et chaque nombre.

En bref

  • La marche était la monnaie. Les deux moteurs font passer chaque pas sur la carte du monde par une seule fonction, qu’écoutent les œufs, l’amitié, le poison, les Repousse (Repel), le Parc Safari (Safari Zone) et les revanches ; les cadences sont larges (4, 128, 256 et 512 pas), si bien qu’une récompense arrive comme un événement, et les budgets se dépensent en pas plutôt qu’en secondes : 500 pour une sortie au Parc Safari, 100, 200 et 250 pour les trois Repousse.1214151617
  • L’horloge donnait une forme à la semaine. Cristal découpe la journée à 4 h, 10 h et 18 h, tient son Concours de Capture d’Insectes (Bug-Catching Contest) le mardi, le jeudi et le samedi pendant 20 minutes, tire chaque vendredi un numéro chance (Lucky Number) comparé à chaque Pokémon que vous possédez, et remet 16 indicateurs quotidiens à zéro à minuit ; Émeraude exécute onze mises à jour quand la date change et fait pousser les baies d’après les minutes écoulées à votre retour.18192021223
  • Le statut se montrait à quelqu’un. La Carte Dresseur (Trainer Card) d’Émeraude change de couleur à chacune de ses quatre étoiles, chacune correspondant à une manière de jouer différente ; une boîte contient 30 Pokémon dans une grille de 6 sur 5 ; un défi de la Zone de Combat (Battle Frontier) à la Battle Tower, au Battle Palace, à la Battle Arena ou à la Battle Factory compte 7 combats (un tournoi du Battle Dome en compte 4, une partie de la Battle Pike 14 salles, une ascension de la Battle Pyramid 7 étages), et le Frontier Brain de la Battle Tower est le 35e et le 70e combat d’une série.232425
  • Les mondes des autres arrivaient dans le vôtre. Le record mixing copie 5 188 octets entre sauvegardes : 20 Bases Secrètes (Secret Bases), 25 emplacements d’émissions de télévision (dont 20 réservés à des émissions qui n’arrivent que par ce biais), 5 phrases tendance (trendy phrase) et un record de la Battle Tower ; un joueur sur cinq commence avec le Hipster, qui enseigne un mot caché à chacune de ses venues.262728
  • Droit d’auteur, marque et brevet sont trois limites différentes. Les développeurs d’Uranium ont déclaré en 2016 que personne ne les avait contactés et ont retiré le jeu après des avis de retrait ; Prism a reçu une mise en demeure le 21 décembre 2016 ; Relic Castle a fermé en mars 2024 après un avis DMCA signalé ; Palworld est la seule affaire de brevets, restreinte en novembre 2025 aux anciennes versions du jeu, avec une injonction toujours demandée et aucune décision signalée au 4 octobre 2026.5682930
  • Les jeux hommages ont gardé le genre et laissé tomber le nom. Aucune des descriptions de boutique Steam que j’ai vérifiées, pour six jeux hommages et Palworld, ne dit « Pokémon » ; leurs développeurs le disent librement en interview, comme une influence.3132
  • Ce que cela apporte à Kiradex. Un cahier des charges, pas un build : une plante sur le rebord de fenêtre qui pousse tous les 256 pas sur la place, une caisse du matin selon l’horloge propre à l’application, quatre étoiles sur la carte du collectionneur, un dénivelé à sens unique sur une route (les articles sur l’élévation et les routes en décideront), des rosettes du hall pour chaque série de sept participations au hall hebdomadaire, et une formule de deux mots qui se propage entre les places ; chacun avec ce à quoi il ne doit pas ressembler et une vérification qu’un test peut exécuter, plus une liste de ce que l’application ne doit jamais faire. Quatre brevets lus, aucune recherche de brevets sur les podomètres ou les horloges, et aucun avocat : c’est la lecture d’un développeur, pas un conseil juridique.33

1. De quoi « la sensation » était faite, et comment je l’ai mesurée

Cet article ne parle pas des créatures de Rouge, d’Or ou de Rubis. Il parle des moments qui les entouraient : l’œuf qui éclot sur le chemin du retour, l’émission de radio du vendredi, la carte qui devient dorée, la Base Secrète d’un ami qui apparaît dans votre propre jeu après un après-midi au câble link. Ces moments sont des systèmes, et les systèmes sont le sujet de cet article. Les articles précédents de cette série ont mesuré les tuiles, les personnages et les bâtiments ; celui-ci mesure les boucles qui donnaient l’impression qu’un monde de poche restait vivant pendant que la cartouche était éteinte, puis lit le dossier juridique autour des jeux qui l’ont aimé, puis consigne ce que notre propre ville peut emprunter et ce qu’elle ne doit pas emprunter.343536

Kiradex est un scanner de cartes accompagné d’une ville en pixel art, Kiradex World : une place de tuiles de 16 pixels où des collectionneurs se promènent, prononcent des phrases prédéfinies et montrent leurs cartes.34 Les cartes qu’il scanne sont de vraies cartes Pokémon, et c’est précisément pour cela que cet article doit être prudent. Les règles propres à l’application, écrites avant toute cette recherche, disent déjà « nothing of theirs in the world » (rien d’eux dans le monde) : pas de créatures, pas de dresseurs, pas d’appareils de capture, pas de designs d’arènes ou de badges, pas de musique, pas de noms en « Poké- ».37 La question à laquelle répond cet article est la suivante : que peut emprunter une ville comme la nôtre à des jeux dans lesquels tant de collectionneurs ont grandi, et comment le savons-nous ?

La méthode

La première moitié a été lue dans le code source, pas dans des wikis ; un paragraphe, celui sur le Pokéathlon, fait exception et le dit. Le projet pret maintient des décompilations des jeux Game Boy et Game Boy Advance : du C et de l’assembleur qui reconstruisent chaque jeu, dont le README liste le SHA-1 de chaque ROM reproduite, avec les constantes du jeu nommées et, par endroits, commentées par les personnes qui les ont rétro-conçues. J’ai utilisé des clones superficiels de quatre d’entre elles, chacun à un commit de la branche master : pokered à d2704a6 (commit du 22 septembre 2026), pokecrystal à 5beda23 (29 septembre), pokeemerald à 731ad5b (1er octobre) et pokefirered à 037335f (26 septembre).38 Un script, measure_systems.py, affiche chaque constante citée dans les sections 2 à 6 avec son fichier et sa ligne et en dérive les décomptes (heures par stade sur 43 baies, emplacements de téléphone et de revanche, types d’émissions de télévision, indicateurs quotidiens) ; un second, measure_map_features.py, parcourt chaque carte d’Émeraude, résout les cellules de chaque disposition dans les tables d’attributs de ses jeux de tuiles et compte les cellules de rebord, réservées au vélo et d’herbes hautes ainsi que les arbres coupables, par type de carte.3839 Les nombres issus de ces deux scripts sont mesurés ; les descriptions de ce qui se déclenche et quand sont ma lecture des chemins de code qu’ils désignent. Là où la décompilation porte un commentaire, j’ai aussi lu le code qu’il décrit, car les deux peuvent diverger : dans la routine des pas de Cristal, un commentaire de l’appelant dit que le bonheur monte tous les 256 pas, et la routine appelée n’agit qu’un appel sur deux, donc la section 2 suit le code.2 Rubis et Saphir ne figurent pas parmi les clones ; quand cet article dit quelque chose à leur sujet, c’est lu dans le code d’Émeraude et de Rouge Feu qui interprète une sauvegarde de Rubis ou de Saphir.23

La seconde moitié a été récupérée le 4 octobre 2026 et enregistrée : les communiqués et pages de règles de Nintendo et de The Pokémon Company, les avis de Pocketpair, les trois brevets japonais et un brevet américain depuis Google Patents (les revendications japonaises avec la traduction automatique anglaise de Google, les revendications américaines dans l’anglais du brevet lui-même), les fiches de la boutique Steam de six jeux hommages et de Palworld, et des articles de médias nommés, avec leurs dates. Chaque affirmation des sections 7 à 11 est sourcée par le document ou le média. Quand une page était inaccessible, je le dis. Quand je tire une conclusion, je la signale comme mienne.

Rien dans cet article n’est un conseil juridique. Je suis un développeur qui a lu les documents ; je n’ai consulté aucun avocat sur aucun de ces points, et j’ai lu quatre brevets, pas l’ensemble du portefeuille des entreprises.

La recherche derrière l’article est un dossier dans le dépôt de Kiradex, avec une URL pour chaque fait et une balise [measured] sur chaque nombre produit par un script ; l’article est ce dossier rendu lisible, et la section 14 en est le cahier des charges.33

2. Le podomètre : la marche était la monnaie

Les consoles portables avaient un verbe que le joueur ne cessait jamais de conjuguer. Les deux moteurs le font passer par une seule fonction qu’écoute tout le reste, et lire ces deux fonctions est le moyen le plus rapide de voir quelle part de la vie des anciens jeux se payait en pas.

Or, Argent et Cristal : CountStep

Dans Cristal, chaque pas sur la carte du monde passe par CountStep dans engine/overworld/events.asm. La routine ignore les salles link, laisse d’abord un appel téléphonique spécial en attente ou une Repousse qui s’épuise prendre le pas, puis incrémente un compteur de poison et un compteur de pas d’un octet, et agit selon la valeur de ce dernier. Les commentaires de la décompilation disent ce que fait chaque branche : « Every 256 steps, increase the happiness of all your Pokemon » (tous les 256 pas, augmenter le bonheur de tous vos Pokémon) ; « Every 256 steps, offset from the happiness incrementor by 128 steps, » (tous les 256 pas, décalé de 128 pas par rapport à l’incrément du bonheur) décrémenter les compteurs d’éclosion des œufs (le code compare le compteur à $80, soit 128) ; « Every 4 steps, deal damage to all poisoned Pokemon. » (tous les 4 pas, infliger des dégâts à tous les Pokémon empoisonnés)1 Le premier de ces commentaires décrit l’appel, pas le résultat. StepHappiness, la routine appelée dans engine/events/happiness_egg.asm, s’ouvre sur son propre commentaire, « Raise the party’s happiness by 1 point every other step cycle » (augmenter le bonheur de l’équipe d‘1 point un cycle de pas sur deux) : elle fait basculer un second compteur d’un octet entre 0 et 1 (and 1) et retourne sans rien faire un appel sur deux, si bien que le bonheur de l’équipe monte de 1 tous les 512 pas, œufs exclus.2 Le commentaire sur les œufs se termine par une limite : le décompte s’arrête au premier « one that is ready to hatch » (celui qui est prêt à éclore). DoEggStep, dans engine/pokemon/breeding.asm, parcourt l’équipe dans l’ordre, retire 1 au compteur de chaque œuf et retourne dès qu’un compteur atteint 0 ; CountStep confie alors le pas au script d’éclosion, et tout œuf placé plus loin dans l’équipe attend la cadence suivante.40 À chaque pas, CountStep ajoute aussi 1 point d’expérience à chacun des deux Pokémon laissés à la Pension, et en dernier il compte les pas à vélo.1

Le vélo est la meilleure plaisanterie de la routine. Dans Or, Argent et Cristal, le magasin de vélos vous prête une bicyclette, et le numéro du patron s’ajoute à votre téléphone ; dès que vous avez roulé au moins 1 024 pas dans la zone de couverture, il vous appelle, et le compteur du vélo plafonne à 65 535 au lieu de repartir à zéro.1 Le vélo est une publicité qu’on chevauche, et le jeu compte si l’on vous a vu dessus.

Émeraude : TryStartStepCountScript

Émeraude accroche davantage de choses au pas. Dans src/field_control_avatar.c, TryStartStepCountScript fait avancer, dans l’ordre : le compteur de revanches, un compteur d’amitié, le compteur de Faraway Island, le poison, l’éclosion des œufs, la fin d’une météo anormale, une énigme en braille qui ouvre l’entrée d’une grotte, cinq appels téléphoniques scénarisés, le Parc Safari, le couloir du S.S. Tidal et Match Call. Le poison mord tous les 4 pas (%= 4), mais jamais dans une Base Secrète.14 L’amitié n’est pas garantie. Tous les 128 pas (le compteur est maintenu par %= 128), le jeu appelle AdjustFriendship une fois pour chaque emplacement de l’équipe, et cette fonction, sous le commentaire « 50% chance every 128 steps » (50 % de chances tous les 128 pas), retourne tôt quand Random() & 1 est vrai ; chaque Pokémon de l’équipe, œufs exceptés, a donc son propre tirage à pile ou face et ne gagne de l’amitié que sur les cadences qu’il remporte : en moyenne, une fois tous les 256 pas.1415

Les œufs suivent leur propre horloge. Le compteur de pas de la Pension est un octet qui se déclenche quand il atteint 255 et repart à zéro, si bien que tous les 256 pas chaque œuf de l’équipe, jusqu’à la limite décrite plus bas, perd un cycle d’éclosion, deux quand un membre de l’équipe a Corps Ardent (Flame Body) ou Armumagma (Magma Armor). Émeraude a la même limite sous sa propre forme : la boucle ignore un œuf marqué comme données corrompues (MON_DATA_SANITY_IS_BAD_EGG), et quand elle rencontre un œuf dont le compteur est déjà à 0, elle s’arrête et fait éclore cet œuf, si bien que les œufs placés plus loin dans l’équipe attendent la cadence suivante. La Pension tire aussi au sort un nouvel œuf sur la même cadence de 256 pas, quand l’octet de poids faible du nombre de pas du second parent atteint 0xFF.41

Des budgets, pas des minuteurs

L’autre sorte de pas est un budget, dépensé une fois. Le Parc Safari en est l’exemple le plus clair. Dans Rouge et Bleue, l’entrée coûte 500 ¥, remet 30 Safari Balls et écrit 502 dans le compteur de pas, puis vous fait avancer automatiquement de trois pas dans le parc ; Émeraude règle son compteur sur 500 tout rond.16 Pourquoi Rouge part de 502 plutôt que de 500, le code ne le dit pas, et je n’ai pas lancé le jeu pour compter combien de ces trois pas le compteur décompte. Les Repousse sont aussi des budgets, inchangés de Rouge à Émeraude : 100 pas pour une Repousse, 200 pour une Super Repousse, 250 pour une Max Repousse.17 Les revanches sont devenues un budget à la troisième génération : après cinq badges, le compteur de revanches d’Émeraude se remplit jusqu’à 255 pas, et au chargement de carte suivant un dresseur au hasard sur cette route peut vouloir se battre de nouveau ; le VS Seeker de Rouge Feu et Vert Feuille, l’appareil qui propose des revanches aux dresseurs, ne peut resservir qu’après 100 pas.42

Un diagramme en barres horizontales sur une échelle logarithmique de pas, lu dans les décompilations. Les barres pleines sont des cadences qui se répètent : les partenaires de la Pension gagnent 1 point d'expérience à chaque pas ; les membres empoisonnés de l'équipe subissent des dégâts tous les 4 pas ; en 3e génération, tous les 128 pas, chaque membre de l'équipe a 50 pour cent de chances de gagner de l'amitié ; les œufs de l'équipe perdent un cycle d'éclosion tous les 256 pas, dans l'ordre de l'équipe jusqu'au premier œuf prêt à éclore ; en 2e génération, le bonheur de l'équipe monte tous les 512 pas. Les barres en contour sont des budgets dépensés une fois : le compteur de revanches à 255, le VS Seeker à 100, Repousse 100, Super Repousse 200, Max Repousse 250, le Parc Safari à 500 (502 dans Rouge et Bleue) et l'appel du magasin de vélos à 1 024.

Ce que paie un pas, en pas par événement ; tracé par figures.py à partir de measure_systems.out.txt.43

Pourquoi cela fonctionnait

Trois conséquences de conception découlent du code, et ce sont elles qui méritent d’être gardées.

Tout tourne sur une cadence large. Les œufs avancent tous les 256 pas dans les deux générations ; la 2e génération augmente le bonheur tous les 512, et la 3e donne tous les 128 un tirage d’amitié à chaque Pokémon de l’équipe. Le joueur ne voit jamais un nombre défiler ; il voit un événement occasionnel, un message disant qu’un œuf bouge, un Pokémon soudain plus affectueux. Un compteur d’un octet est l’horloge la moins chère dont dispose une Game Boy, et, selon ma lecture, c’est aussi pour cela que la récompense ressemble à de la météo plutôt qu’à une barre de progression : on ne peut pas la regarder, alors on la remarque. Le tirage d’Émeraude rend la météo littérale : la même promenade peut augmenter l’amitié ou non.121415

Les budgets se dépensent en bougeant, pas en attendant. Les 500 pas du Parc Safari et les 100, 200 ou 250 d’une Repousse ne se dépensent que lorsque vous marchez. Un joueur qui s’arrête pour lire, pour réfléchir ou pour poser la console le temps du dîner ne perd rien.1617 Pour une application de téléphone, dont l’écran est reposé toutes les quelques minutes, c’est un meilleur contrat qu’un compte à rebours.

La marche est un signal social. L’appel du magasin de vélos, c’est le jeu qui remarque que vous êtes sorti sur son vélo, et le compteur de revanches d’Émeraude permet à une route de « se souvenir » que vous êtes parti et revenu.142 Selon ma lecture, le tour le plus profond du podomètre est de faire réagir le monde à la présence du joueur sans rien lui demander d’autre que d’être là.

Rien de tout cela n’a besoin d’une créature : un compteur, une cadence, un budget. Le droit d’auteur ne s’étend pas à une méthode de fonctionnement, et c’est là que vit un compteur ;44 savoir si quelqu’un détient un brevet sur une mécanique pilotée par les pas est une question que je n’ai pas recherchée, et la section 14 le dit. La section 14 dépense le compteur pour une plante.

3. L’horloge et le calendrier : la semaine avait une forme

Or et Argent ont mis une horloge en temps réel dans la cartouche, et les concepteurs l’ont dépensée en rendez-vous. Émeraude a gardé l’horloge et déplacé les rendez-vous sur un calendrier qui avance tout seul. À eux deux, ils forment le meilleur argument que je connaisse en faveur d’un monde qui change pendant votre absence.

Trois moments de la journée

Or, Argent et Cristal découpent la journée en trois : le matin de 04:00 à 09:59, le jour de 10:00 à 17:59, la nuit de 18:00 à 03:59. Les constantes sont MORN_HOUR 4, DAY_HOUR 10 et NITE_HOUR 18, et la table TimesOfDay porte le commentaire « 0400-0959 morn | 1000-1759 day | 1800-0359 nite ». Une table inutilisée, BetaTimesOfDay, avec les valeurs 20, 40 et 60, survit juste à côté dans la décompilation.18

Kiradex mesure déjà le temps, et délibérément pas sur ces heures-là. Sa Daylight.Phase est le matin de 6 à 9, le jour de 9 à 17, le soir de 17 à 20 et la nuit le reste du temps, avec quatre niveaux de lumière qui lui sont propres ; le cahier des charges de la section 14 garde cela tel quel.45

Des rendez-vous à jours fixes

Le Concours de Capture d’Insectes du Parc National a lieu le mardi, le jeudi et le samedi : le script de l’entrée vérifie le jour de la semaine pour ces trois-là et aucun autre. Il dure 20 minutes de temps réel et donne 20 Parc Balls (BUG_CONTEST_MINUTES 20, BUG_CONTEST_BALLS 20), et un indicateur quotidien empêche une seconde participation le même jour.19 Cristal remet à zéro 16 indicateurs quotidiens à minuit, deux octets de huit : la fabrication de Balls de Fargas, le concours, un essaim, les arbres fruitiers, une coupe de poils, la CT du grand magasin, le maître des capacités et d’autres.20

L’émission du numéro chance est hebdomadaire. Un compte à rebours jusqu’au vendredi suivant choisit un nouveau numéro à cinq chiffres ; le jeu le compare à l’ID de dresseur de chaque Pokémon que vous possédez, dans l’équipe et dans les 14 boîtes, en partant du chiffre le plus à droite ; les cinq chiffres donnent le premier prix, trois ou quatre le deuxième, deux le troisième.21 Vingt-quatre dresseurs de votre téléphone ont chacun un jour de la semaine et un moment de la journée où vous pouvez les appeler pour une revanche, répartis à trois ou quatre par jour de la semaine, et la section 6 y revient.46

Deux bandes de 24 heures et une semaine. Or, Argent et Cristal : matin de 04:00 à 09:59, jour de 10:00 à 17:59, nuit de 18:00 à 03:59. Daylight de Kiradex : matin de 06:00 à 08:59, jour de 09:00 à 16:59, soir de 17:00 à 19:59, nuit de 20:00 à 05:59. En dessous, la semaine de Cristal : le Concours de Capture d'Insectes le mardi, le jeudi et le samedi ; le tirage du numéro chance le vendredi ; les fenêtres d'appel pour les revanches par jour de la semaine, 3, 3, 4, 4, 4, 3 et 3 à partir du lundi, 24 en tout ; et 16 indicateurs quotidiens remis à zéro chaque minuit.

La journée et la semaine dans Cristal, et la journée propre à l’application ; tracé par figures.py à partir de measure_systems.out.txt et de Daylight.swift.43

Le calendrier d’Émeraude

Émeraude exécute onze mises à jour « quotidiennes » chaque fois que la date change, dans UpdatePerDay : effacer les indicateurs quotidiens ; faire avancer la phrase tendance ; faire vieillir les émissions de télévision et les apparitions massives ; la météo ; le Pokérus ; le numéro de Mirage Island ; l’état du Professeur Seko ; deux personnages de la Zone de Combat, un appel chacun ; les objets de la Shoal Cave ; et le numéro de la loterie. Le même fichier saute tout cela tant que le joueur se tient dans un Centre Pokémon.22 Émeraude nomme 12 indicateurs quotidiens, et 9 d’entre eux sont une baie offerte par quelqu’un : le hall des concours, trois personnages sur les routes, le Maître des Baies et sa femme, Nénucrique, le fleuriste et Atalanopolis. Les trois autres sont la Base Secrète, le billet de loterie et le départ de l’apprenti (Apprentice).47

Un jardin qui pousse en heures réelles

Un arbre à baies de 3e génération a les stades Planted, Sprouted, Taller, Flowering et Berries (planté, germé, plus haut, en fleurs, baies), plus un stade « sparkling » pour les arbres d’événement, et la sauvegarde garde 128 emplacements d’arbres.48 La croissance suit les minutes de l’horloge en temps réel, pas les pas : UpdatePerMinute transmet les minutes écoulées à BerryTreeTimeUpdate, chaque stade dure stageDuration × 60 minutes, et le stade des baies dure quatre fois plus longtemps ; puis l’arbre se replante au stade Sprouted et les baies non cueillies disparaissent (berryYield = 0), jusqu’à 10 repousses avant qu’il ne soit supprimé.3 Un arbre est aussi supprimé quand les minutes qui lui sont transmises d’un coup atteignent 71 durées de stade, ce qui est ma lecture de minutes >= GetStageDurationByBerryType(tree->berry) * 71 : environ trois jours d’absence pour une baie dont le stade dure une heure.3

Sur les 43 définitions de baies, stageDuration vaut 1 heure pour 5 baies, 3 pour 12, 4 pour 1, 6 pour 11, 12 pour 1, 18 pour 5 et 24 pour 8, si bien qu’entre la plantation et les premières baies il faut 4, 12, 16, 24, 48, 72 ou 96 heures.3 L’arrosage est enregistré une fois par stade, quatre indicateurs, et le rendement est tiré au hasard dans une fourchette qui monte avec le nombre de stades arrosés : aucun donne le minimum de la baie, et chaque stade arrosé déplace la fourchette d’un quart du chemin entre minimum et maximum, le tirage étant arrondi (CalcBerryYieldInternal).3 En énumérant cette fonction sur les fourchettes de rendement des 43 baies : pour les 33 dont le maximum dépasse le minimum de deux au plus, quatre stades arrosés donnent toujours le maximum ; pour les 10 autres, qui rendent de 2 à 6 ou de 3 à 6, quatre stades arrosés donnent le maximum ou un de moins, et une baie qui rend de 2 à 6 donne 2 ou 3 avec un stade arrosé, 3 ou 4 avec deux, 4 ou 5 avec trois et 5 ou 6 avec quatre.49

Un diagramme en barres des 43 baies d'Émeraude selon le nombre d'heures entre la plantation et les premières baies : 4 heures, 5 baies ; 12 heures, 12 ; 16 heures, 1 ; 24 heures, 11 ; 48 heures, 1 ; 72 heures, 5 ; 96 heures, 8.

Le temps que mettent les baies d’Émeraude ; tracé par figures.py à partir des décomptes de stageDuration dans measure_systems.out.txt.43

L’idée a survécu à la Game Boy Advance. Le Pokéathlon d’Or HeartGold et Argent SoulSilver, que je n’ai pas mesuré et que je ne connais que par le guide de Serebii, donne « plus 100 points if you came in first » (100 points de plus si vous avez fini premier) après chaque manche de trois épreuves, et les objets que vend sa boutique « change each day » (changent chaque jour).50

Pourquoi cela fonctionnait

La semaine avait une forme. Or et Argent dépensaient leur horloge en rendez-vous : un concours trois jours par semaine, 24 dresseurs joignables chacun à un moment de la journée un jour de la semaine, un tirage le vendredi, 16 choses qui reviennent à minuit.19462120 Émeraude a transformé les rendez-vous en dérive : la phrase tendance bouge de 5 par jour, une apparition massive dure 2 jours, les nouvelles décomptent 4 jours, les baies prennent de 4 à 96 heures.451273 Selon ma lecture, le résultat est un monde qui changeait pendant que la cartouche était éteinte, ce qui est toute la raison de la rallumer.

Deux détails comptent pour un téléphone. Émeraude refuse d’exécuter les mises à jour du jour dans un Centre Pokémon, il existe donc une pièce sûre où rien ne change sous vos pieds.22 Et la croissance des baies est calculée d’après les minutes écoulées à votre retour, pas par un minuteur qui devrait continuer de tourner, si bien que l’arbre continue de pousser pendant votre absence. Il ne vous attend pas pour autant : une récolte mûre reste sur l’arbre pendant quatre durées de stade puis tombe, quatre heures pour une baie dont le stade dure une heure, et une absence de 71 durées de stade supprime l’arbre.3 C’est ainsi que je veux que notre application fonctionne aussi : calculer l’état du monde à partir de l’horloge à l’arrivée, et ne jamais dépendre d’un minuteur qui devrait continuer de tourner pendant que le téléphone est dans une poche. La section 13 traite du côté API.

4. Ce qu’on montre : la carte, les boîtes, les séries, le tirage

Les anciens jeux donnaient au statut une forme concrète, et chacune de ces formes était quelque chose qu’un autre joueur pouvait voir.

La Carte Dresseur et ses étoiles

La Carte Dresseur d’Émeraude change de couleur selon son nombre d’étoiles : verte sans étoile, puis bronze, cuivre, argent, et or à quatre. La carte de Kanto de Rouge Feu et Vert Feuille passe par le bleu, le vert, le bronze, l’argent et l’or.23 Les quatre étoiles d’Émeraude, dans CountPlayerTrainerStars, sont quatre exploits sans rapport entre eux : entrer au Hall of Fame ; compléter le Pokédex de Hoenn ; avoir les cinq tableaux de rang Master des concours au musée de Nénucrique ; et détenir tous les symboles de la Zone de Combat.23 Quand Émeraude lit une carte venue de Rubis ou de Saphir, il compte les étoiles dans GetRubyTrainerStars à la place : le Hall of Fame, le Pokédex de Hoenn et les tableaux comptent toujours, et plus de 49 victoires consécutives à la Battle Tower (battleTowerStraightWins > 49) remplacent les symboles de la Zone de Combat.23 La carte de Rouge Feu et Vert Feuille, telle qu’elle est construite pour un partenaire link, compte le Hall of Fame, le Pokédex de Kanto, le Pokédex National, et une étoile pour deux mini-jeux sans fil réunis : 200 baies cueillies et 200 sauts d’affilée.52

La carte est aussi un objet social. Elle porte un profil Easy Chat, les victoires et défaites en combat link plafonnées à 9 999, les échanges, les compteurs de concours et de Pokéblocs avec des amis, et l’heure de votre première entrée au Hall of Fame, plafonnée à 999 heures, 59 minutes et 59 secondes.23

Pourquoi cela fonctionnait. Quatre longs exploits de quatre natures différentes, chacun recolorant ce que les autres voient quand vous vous connectez, de sorte que la couleur se lit d’un bout à l’autre d’une pièce. Rouge Feu consacre l’une de ses quatre étoiles au jeu entre amis. Rien sur la carte ne s’achète ; selon ma lecture, c’est ce qui fait qu’une carte dorée vaut la peine d’être montrée.

Les boîtes du PC

Le stockage a grandi à chaque génération. Rouge et Bleue contiennent 12 boîtes de 20, 240 en tout ; Or, Argent et Cristal 14 de 20, 280 (la version japonaise en définit 30 par boîte) ; Rubis, Saphir et Émeraude 14 boîtes de 30, 420, chaque boîte étant une grille de 6 sur 5 avec un nom et un fond d’écran.24 Une boîte de 30 est la même idée qu’une page de classeur : une grille fixe qui récompense l’arrangement, et le fond d’écran en fait autant une pièce qu’une liste.

Rubans et jetons

Émeraude définit 32 identifiants de rubans : un ruban Champion ; 20 rubans de concours, cinq catégories à quatre rangs chacune ; Winning, Victory, Artist et Effort ; et sept rubans offerts. Un ruban qui fait passer un Pokémon au-delà de quatre (le code teste GetRibbonCount(...) > NUM_CUTIES_RIBBONS, et cette constante vaut 4) peut créer une émission de télévision sur son propriétaire, si un emplacement est libre et qu’aucune émission de ce genre n’attend déjà ; l’émission est créée désactivée (active = FALSE, commenté dans le source comme inactive tant qu’elle n’a pas transité par record mixing), si bien qu’elle n’atteint un téléviseur qu’après que le record mixing l’a portée dans un autre jeu.532754 Les jetons du Casino plafonnent à 9 999 (MAX_COINS).55 Les jetons sont le seul système de cet article que la section 14 refuse catégoriquement, pour des raisons qui n’ont rien à voir avec Nintendo : Kiradex est utilisé par des enfants,36 et la recherche sur la collection qui sous-tend son monde exclut déjà les objets payants aléatoires et tout ce qui a la forme d’une machine à sous.33

La Battle Tower et les séries de la Zone de Combat

Un défi à la Battle Tower, au Battle Palace, à la Battle Arena ou à la Battle Factory compte 7 combats ; un tournoi du Battle Dome en compte 4 (DOME_ROUNDS_COUNT 4), une partie de la Battle Pike 14 salles (NUM_PIKE_ROOMS 14), qui ne sont pas toutes des combats, et une ascension de la Battle Pyramid 7 étages. FRONTIER_STAGES_PER_CHALLENGE 7 est une constante partagée, pas une règle que chaque installation suit. Les séries comptent jusqu’à 9 999.25 Le Frontier Brain de chaque installation apparaît à des points fixes d’une série, remettant un symbole d’argent puis un symbole d’or. La table de frontier_util.c ne se lit pas telle quelle : la vérification ajoute à la série en cours un modificateur propre à chaque installation et compare la somme à la table (winStreak + modifier == value). Le modificateur vaut 1 pour la Tower, le Palace, l’Arena, la Factory et la Pike, donc le Brain est le 35e combat, pas le combat qui suit 35 victoires ; il vaut 0 pour le Dome, dont la série compte les tournois gagnés, et pour la Pyramid, dont la série compte les étages franchis.25

Installation La série compte Brain argent Brain or
Battle Tower combats gagnés 35e combat 70e combat
Battle Dome tournois gagnés 5e tournoi 10e tournoi
Battle Palace combats gagnés 21e combat 42e combat
Battle Arena combats gagnés 28e combat 56e combat
Battle Factory combats gagnés 21e combat 42e combat
Battle Pike salles franchies 28e salle 140e salle
Battle Pyramid étages franchis après 21 étages après 70 étages

Source : frontier_util.c (la table et la vérification), les scripts des installations pour ce que compte chaque série, lus par measure_systems.py et à la main.25

Les jalons de la Tower ont la forme la plus nette : des séries de sept, et le boss comme dernier combat de la cinquième série puis de la dixième. La série est le contenu ; le boss est la ponctuation.

Le tirage qui récompense la taille de la collection

Le Coin Loterie d’Émeraude tire un nouveau numéro chaque jour et le compare à l’ID de dresseur de chaque Pokémon que vous possédez, équipe et boîtes, en partant du chiffre le plus à droite ; le code dit « do not calculate ticket values for eggs » (ne pas calculer de valeur de billet pour les œufs). Deux, trois, quatre ou cinq chiffres concordants rapportent un PP Plus, un Multi Exp, un Rappel Max ou une Master Ball, et un indicateur quotidien autorise un billet par jour (FLAG_DAILY_PICKED_LOTO_TICKET).56 Le numéro chance hebdomadaire de Cristal paie trois niveaux de la même façon : deux chiffres identiques, trois ou quatre, et les cinq.21

Pourquoi cela fonctionnait. Le tirage transforme les boîtes en billets. Chaque Pokémon que vous possédez compte, y compris ceux obtenus par échange qui portent l’ID d’autres dresseurs, si bien qu’une collection grande, variée et nourrie d’échanges a littéralement plus de chance. C’est aussi un tirage, et un tirage rend la récompense aléatoire, ce que refuse la règle de cette série pour les cosmétiques, « never random, never on a countdown » (jamais aléatoire, jamais sur un compte à rebours) ; la section 14 le laisse de côté.36

5. Un sol qui se souvient : rebords, arbres coupés et deux vélos

Les routes entre les villes avaient leur propre vocabulaire de bords à sens unique et de verrous qu’on voyait avant de pouvoir les ouvrir. Je les ai comptés dans Émeraude avec measure_map_features.py, qui lit la disposition de chaque carte cellule par cellule et cherche le comportement de chaque cellule dans les tables d’attributs de ses jeux de tuiles. Les décomptes sont des cellules, pas des éléments : un long rebord représente de nombreuses cellules, et une disposition partagée par plusieurs cartes n’est comptée qu’une fois.39

Les rebords sont un outil de route

Sur les 41 dispositions de routes d’Émeraude, 87 787 cellules en tout, on trouve 726 cellules de rebord à sens unique (les comportements MB_JUMP_*) et 2 777 cellules d’herbes hautes ; 21 des 41 routes ont des rebords. Les quatre premières routes ont 13, 17, 24 et 13 cellules de rebord. Les rebords apparaissent aussi dans les 9 dispositions de villes (34 cellules), en souterrain (215) et en intérieur (48), et dans aucune des 7 dispositions de bourgs.39

Un diagramme en barres des cellules de rebord à sens unique par type de carte sur les dispositions uniques d'Émeraude : routes 726 sur 87 787 cellules (0,83 pour cent) ; souterrain 215 sur 64 302 ; intérieur 48 sur 44 186 ; villes 34 sur 20 500 ; routes maritimes, Bases Secrètes, bourgs et cartes sous-marines aucune.

Cellules de rebord par type de carte dans Émeraude ; tracé par figures.py à partir de la sortie de measure_map_features.py.4339

Un rebord laisse le joueur descendre vite et force le retour à emprunter un autre chemin, si bien qu’une route courte contient une boucle. Le bourg, où vivent les gens et où arrive le joueur, n’en a jamais.

Des verrous vus tôt : arbres coupés et les deux vélos

Émeraude place 33 arbres coupables, 22 sur les routes et 11 en intérieur, surtout dans les énigmes d’arène.39 Les deux vélos verrouillent des sols différents. Les cellules réservées au Vélo Course (Mach Bike), pentes boueuses et sols fissurés, sont au nombre de 52 sur les routes et 150 en souterrain ; les cellules réservées au Vélo Cross (Acro Bike), rails et pentes bosselées, sont 85, toutes sur les routes.39 Le Vélo Course accélère sur trois vitesses (sMachBikeSpeeds = {NORMAL, FAST, FASTEST}) ; le Vélo Cross interprète B maintenu avec une direction comme des figures, un wheelie et un bunny hop.57

Pourquoi cela fonctionnait

Les verrous qu’on voit avant de pouvoir les ouvrir sont des promesses. Les arbres coupables et le sol réservé aux vélos montrent un raccourci au joueur lors du premier passage et le paient lors d’un passage ultérieur, et les deux vélos d’Émeraude, avec deux sortes de sol verrouillé, font du choix du vélo le choix de la moitié des raccourcis qu’on verra lors de cette sortie.3957 Les rebords font le même travail pour la direction : descendre est rapide et gratuit, monter passe par une autre route.

Les rebords sont aussi le seul endroit de cet article où une décision antérieure de notre part résiste. La recherche sur les structures a refusé les rebords, au motif qu’une hauteur gratuite se lit mal en vue de dessus, et l’article sur les structures cite « a one-way ledge » (un rebord à sens unique) parmi ce que la ville n’a pas.3533 Un dénivelé à sens unique d’une cellule n’est pas une hauteur gratuite : il n’a pas d’axe z, seulement une arête à sens unique dans le graphe de déplacement. Le cahier des charges propose donc une forme restreinte et laisse la décision là où elle doit être, aux articles sur l’élévation et les routes qui restent à venir.

6. Les mondes des autres : record mixing, la phrase tendance, le téléphone

Les systèmes de cette section sont ceux que je veux le plus pour une place, parce qu’ils concernent les autres joueurs sans exiger que ces autres joueurs soient en ligne au même moment.

Les Bases Secrètes et le record mixing

Une Base Secrète d’Émeraude contient jusqu’à 16 décorations ; la chambre du joueur en contient 12 ; et une sauvegarde garde 20 bases, la vôtre plus celles reçues d’autres joueurs.58 Reçues d’où ? Du record mixing : quand deux joueurs se connectent et mélangent leurs données, les jeux copient un enregistrement de 0x1444 octets, soit 5 188, entre les sauvegardes. Ses champs sont, dans l’ordre, les 20 Bases Secrètes, 25 emplacements d’émissions de télévision, les nouvelles, le vieil homme de Lavandia (Mauville Old Man), 5 phrases tendance, le courrier de la Pension, un record de la Battle Tower, un objet offert, la dame de Nénucrique, deux apprentis et les records du hall de classement de la Zone de Combat.26

Après un après-midi au câble link, la base de votre ami est donc dans votre jeu, et vous pouvez y entrer. Ses émissions passent sur votre téléviseur. Son record de la Battle Tower vient aussi. Selon ma lecture, l’essentiel de ce qui semblait vivant dans Émeraude venait de quelqu’un d’autre.

La télévision

La télévision d’Émeraude a 25 emplacements d’émissions : 5 pour des émissions sur votre propre partie, 20 pour des émissions qui n’arrivent que par record mixing. Il existe 11 types d’émissions « normales » et 19 types qui n’existent que par record mixing (Trend Watcher, Secret Base Visit, Lotto Winner, Spot the Cuties et d’autres), plus le reportage sur une apparition massive ; les événements d’actualité décomptent 4 jours avant leur diffusion.27 Une fois le jeu terminé, chaque combat que vous achevez, que vous ayez capturé quelque chose ou non, a 1 chance sur 200 (rbernoulli(1, 200)) de programmer un reportage sur une apparition massive, sauf s’il s’agissait d’un combat link, Safari, de la Zone de Combat ou d’un autre combat spécial, ou si un reportage de ce type occupe déjà l’un des 24 premiers des 25 emplacements de la télévision (la vérification s’arrête un emplacement avant le dernier), et seulement si l’un des 5 emplacements de vos propres émissions est vide. Le reportage attend un jour avant de pouvoir passer (daysBeforeOutbreak = 1, décompté par la mise à jour quotidienne), et l’apparition massive elle-même ne commence que lorsque vous regardez le reportage sur un téléviseur, ce qui appelle StartMassOutbreak ; à partir de là, elle dure 2 jours et fait de l’espèce annoncée la moitié des rencontres sur une route (probability = 50).51 Les émissions d’apparition massive voyagent par record mixing comme n’importe quelle autre émission, si bien que l’apparition massive d’un ami peut arriver sur votre téléviseur.5126

La phrase tendance : une formule avec une demi-vie

La « Dewford Trend » est faite de deux mots Easy Chat que les gens du hall de Myokara répètent. Le bloc de commentaires en tête de dewford_trend.c est un document de conception. Chaque phrase a un niveau de tendance « Initialized as a random value between 30-127 inclusive » (initialisé à une valeur aléatoire entre 30 et 127 inclus) ; « If a submitted phrase is less trendy than the current one it won’t be accepted » (si une phrase soumise est moins tendance que l’actuelle, elle n’est pas acceptée) ; et une phrase « boring » (lassante) va « lose trendiness over time until it reaches 0, » (perdre de sa tendance avec le temps jusqu’à atteindre 0) puis remonter jusqu’à son maximum, où elle redevient lassante.4 Le code prévoit deux exceptions à cette règle d’acceptation. La toute première phrase qu’une sauvegarde soumet, si cette sauvegarde n’a jamais mélangé ses données, remplace les mots actuels sans aucune comparaison ; et quand une nouvelle phrase égale l’actuelle en tendance, le maximum le plus élevé l’emporte, et si les maximums sont égaux aussi, un pile ou face (Random() & 1) tranche.4 La mise à jour quotidienne fait bouger chaque phrase de 5 points par jour écoulé (clockRand = days * 5).4 Cinq phrases sont conservées, triées par tendance ; quand vous mélangez vos données, vos phrases sont remplacées par celles de votre partenaire, « unless the phrase is the same, in which case the version with a higher trendiness value is used. » (sauf si la phrase est la même, auquel cas la version à la valeur de tendance la plus élevée est utilisée)4

Le Hipster et les mots cachés

Les Trendy Sayings sont autre chose : un groupe Easy Chat caché de 33 mots.28 Le commentaire de la décompilation dit comment on les obtient : ils sont « normally inaccessible, » (normalement inaccessibles) et « The Hipster can unlock one word each time he is received via record mixing (and once if he is the player’s default Old Man). » (le Hipster peut débloquer un mot chaque fois qu’il est reçu par record mixing, et une fois s’il est le vieil homme par défaut du joueur)28 Le vieil homme de Lavandia existe en cinq variantes (Bard, Hipster, Trader, Storyteller, Giddy), et celle avec laquelle votre jeu commence est fixée par le dernier chiffre de votre ID de dresseur, (trainerId % 10) / 2. Le Hipster n’est donc la variante par défaut que lorsque ce chiffre vaut 2 ou 3 : un joueur sur cinq. Tous les autres doivent mélanger leurs données avec l’un de ces joueurs pour le rencontrer.28

Revanches et appels par téléphone

Le téléphone de Cristal contient 10 contacts (CONTACT_LIST_SIZE 10). Vingt-quatre dresseurs peuvent être prêts pour une revanche, avec un indicateur quotidien chacun ; 10 peuvent appeler pour dire qu’ils ont un objet pour vous ; et chacun des 24 a un jour de la semaine et un moment de la journée où vous pouvez l’appeler, 9 le matin, 7 le jour (la deuxième tranche de Cristal, de 10 h à 18 h) et 8 la nuit, trois ou quatre par jour de la semaine.46 Les appels entrants sont rationnés : un minuteur (ReceiveCallDelays) de 20 minutes après chaque appel reçu, raccourci à 10, 5 puis 3 chaque fois qu’il expire sans appel, conditionne un tirage que le source commente comme « 50% chance for a call » (50 % de chances d’un appel) ; l’appelant est tiré parmi les contacts disponibles à ce moment de la journée, et aucun appel n’arrive tant que vous vous tenez sur une entrée ou hors de la zone de couverture.59

Pourquoi cela fonctionnait

Les mondes des autres arrivaient dans le vôtre. Cinq kilo-octets transportaient 20 bases, 20 emplacements de la télévision des autres et 5 formules.2627 Rien de tout cela n’exigeait que l’autre joueur soit là quand vous jouiez ; il fallait seulement l’avoir rencontré une fois.

La phrase tendance est une contagion avec une demi-vie. Après la première phrase d’une sauvegarde, une nouvelle ne s’empare d’une ville que si elle bat l’actuelle, s’estompe en devenant lassante et se propage par contact ; quand deux sauvegardes se rencontrent, la copie la plus tendance d’une phrase commune l’emporte.4 C’est une mécanique sociale complète en une poignée de nombres : un score, une dérive, une règle de contact.

Le Hipster est rare par conception. Un joueur sur cinq l’a ; les autres le rencontrent par quelqu’un qui l’a, et chaque rencontre peut enseigner l’un des 33 mots cachés.28 Le vocabulaire lui-même devient un objet de collection qui voyage de personne en personne.

Les interruptions sont rationnées. Un appel est conditionné par un minuteur et un pile ou face, et n’arrive jamais pendant que vous vous tenez dans une porte ; juste après un appel, l’attente est la plus longue, 20 minutes.59 Selon ma lecture, un monde qui vous parle n’est charmant que tant qu’il le fait rarement.

7. Trois limites différentes : droit d’auteur, marque, brevet

Tout ce qui suit jusqu’à la section 11 est le dossier : ce contre quoi Nintendo et The Pokémon Company ont agi, sur quel fondement, et ce qu’ils ont laissé faire. Il importe de séparer les trois formes de protection, parce que ceux qui parlent de copier Pokémon en visent généralement une et reçoivent une réponse sur une autre.

Le droit d’auteur protège l’expression. La Circular 33 du U.S. Copyright Office place hors du droit d’auteur les idées, procédures, processus, systèmes et méthodes de fonctionnement ; les tuiles, sprites, musiques, textes et personnages concrets sont une expression protégée.4434 Le premier article de cette série le dit dans sa FAQ, corrigée le 4 octobre pour nommer le droit d’auteur : le style, la méthode et le système ne sont pas protégés par le droit d’auteur ; l’expression concrète l’est.34 Tout ce qui figure dans les sections 2 à 6 est, selon ma lecture, de la méthode : un podomètre, une horloge, une carte à étoiles, une formule avec un score.

La marque protège des signes. Le site japonais de The Pokémon Company indique que « ポケットモンスター・ポケモン・Pokémon » sont des marques de Nintendo, Creatures et GAME FREAK.60 Un nom utilisé pour vendre un produit relève du droit des marques ; le même nom utilisé pour décrire ce qu’est une chose, comme doit le faire une application qui scanne des cartes Pokémon, est un usage nominatif (nominative use), que notre propre document sur le monde décrit comme la façon dont procèdent toutes les autres applications de cartes, et c’est la limite que les règles de Kiradex tracent déjà.37

Un brevet protège une méthode revendiquée, étape par étape. Le Japon et les États-Unis ont accordé à Nintendo et à The Pokémon Company des brevets dont les revendications sont des programmes de jeu, décrits par ce que le programme fait faire à l’ordinateur.1161 Une revendication de brevet est une liste d’étapes ; selon ma lecture, qui n’est pas un conseil juridique, une revendication ne couvre un jeu que si le jeu accomplit chacune de ses étapes, chaque étape étant lue comme le tribunal l’interprète, ou un équivalent de celle-ci, ce que reconnaissent les tribunaux des deux pays. La Cour suprême des États-Unis applique cette doctrine des équivalents étape par étape, « to each of the individual elements of a claim, » (à chacun des éléments individuels d’une revendication) et la Cour suprême du Japon a fixé en 1998 les conditions auxquelles un produit qui diffère d’une revendication sur un point en relève néanmoins.6263 Modifier ou supprimer une étape est donc un argument pour soutenir qu’un jeu modifié sort d’une revendication, pas un résultat : la réponse dépend de cette interprétation et de l’équivalence, et dans la seule affaire concernée ici, aucun tribunal n’a statué. La section 9 lit les quatre revendications qui comptent ici.

Le dossier ci-dessous classe chaque affaire selon celle des trois qui en a été le terrain. Une seule était une affaire de brevets.

Une frise chronologique verticale de 2016 à 2026, chaque événement étant marqué selon son fondement ; pour Uranium et Prism, le fondement du droit d'auteur est ma lecture, puisque les articles n'en nomment aucun, et les dates sont celles des documents ou des articles, novembre 2025, pour lequel les articles ne donnent pas de jour, étant placé en milieu de mois. Droit d'auteur : 13 août 2016, les développeurs d'Uranium retirent les téléchargements après des avis de retrait ; 21 décembre 2016, une mise en demeure adressée à Prism ; 29 août 2018, retrait de la boîte à outils Essentials signalé ; 22 mars 2024, Relic Castle hors ligne après un avis DMCA signalé ; 21 février 2025, la transaction de 107 millions de RMB en Chine. Brevet : 18 septembre 2024, la plainte contre Pocketpair ; 8 novembre 2024, les trois brevets nommés ; 30 novembre 2024, Palworld supprime l'invocation par lancer ; 8 mai 2025, le vol plané passe à un planeur ; 2 septembre 2025, US 12,403,397 délivré ; 4 novembre 2025, réexamen ordonné ; novembre 2025, les demandes à Tokyo restreintes aux anciennes versions ; 25 mars 2026, toutes les revendications réexaminées rejetées dans une première Office Action ; 22 juillet 2026, maintien signalé du rejet d'une demande divisionnaire liée ; aucun des événements liés aux brevets n'est une décision sur la contrefaçon. Ni l'un ni l'autre : la sortie de Palworld, la déclaration de The Pokémon Company, la sortie de Palworld de l'accès anticipé, et les audiences programmées des 1er octobre et 9 novembre 2026.

Le dossier par date et par fondement ; tracé par figures.py à partir des pages datées citées dans les sections 8 et 9.43

8. Jeux de fans, une boîte à outils et un forum : ce qui a provoqué une action

Pokémon Uranium, août 2016 : des avis de retrait, et aucune lettre aux développeurs, selon leurs propres dires

Uranium est souvent décrit comme un jeu qui a reçu une mise en demeure ; un dossier sur les jeux de fans publié par Aftermath le 1er octobre 2026 dit qu’il « was reportedly issued cease and desists from the legal teams at Nintendo and The Pokémon Company. » (aurait reçu des mises en demeure des services juridiques de Nintendo et de The Pokémon Company)64 Ses développeurs disaient autre chose à l’époque. Kotaku, le 13 août 2016, rapportait qu’après neuf ans de travail les fans qui l’avaient créé avaient supprimé tous les liens de téléchargement, et publiait leur déclaration en entier : « After receiving more than 1,500,000 downloads of our game, we have been notified of multiple takedown notices from lawyers representing Nintendo of America. » (Après plus de 1 500 000 téléchargements de notre jeu, nous avons été informés de plusieurs avis de retrait émanant d’avocats représentant Nintendo of America.) Et : « While we have not personally been contacted, it’s clear what their wishes are, and we respect those wishes deeply. » (Bien que nous n’ayons pas été contactés personnellement, leurs souhaits sont clairs, et nous les respectons profondément.) Kotaku ajoutait que, selon les développeurs, ils « haven’t received any cease & desist letters from Nintendo’s lawyers yet. » (n’avaient encore reçu aucune lettre de mise en demeure des avocats de Nintendo)5 Notre propre document sur le monde parlait d’une mise en demeure ; la phrase exacte est qu’Uranium a été retiré après des avis de retrait, et que le nom figurait dans son titre.375

Pokémon Prism, décembre 2016 : une mise en demeure quatre jours avant la sortie

Prism était d’une autre nature : non pas un nouveau jeu dans le style de Pokémon, mais un ROM hack de Cristal lui-même, en chantier depuis huit ans, dont la sortie était prévue le jour de Noël. Kotaku, 29 décembre 2016 : « Nintendo hit them with a cease and desist four days before release, » (Nintendo leur a envoyé une mise en demeure quatre jours avant la sortie) et tout « seemed ready for an official release until December 21st, when representatives of Nintendo sent a cease and desist to the project. » (semblait prêt pour une sortie officielle jusqu’au 21 décembre, quand des représentants de Nintendo ont adressé une mise en demeure au projet) Le créateur a ensuite fermé son site, qui hébergeait aussi deux autres ROM hacks, Pokémon Brown et Rijon Adventures.6 Nintendo Life, le lendemain, donne la même date et la sortie prévue le 25 décembre.65 Un scan caviardé de la lettre est publié sur l’Internet Archive par un tiers qui dit qu’un contributeur de Prism le lui a envoyé ; la description de l’auteur de l’envoi est polémique, et je n’ai pas lu le scan, c’est donc une piste vers le document plutôt qu’une source pour cet article.66

Pokémon Essentials, août 2018 : une boîte à outils

Essentials était une boîte à outils gratuite pour créer des jeux à la manière de Pokémon dans RPG Maker. TechSpot, 29 août 2018, à la suite d’un article d’Ars Technica : Nintendo a envoyé un avis de retrait DMCA, Fandom, qui hébergeait le wiki de la boîte à outils, s’y est conformé, et les téléchargements ont été retirés de la section jeux de fans de PokéCommunity. La lecture de TechSpot était que « the assets Pokemon Essentials uses appear to be identical to the ones in Pokemon games. » (les ressources qu’utilise Pokemon Essentials semblent identiques à celles des jeux Pokémon)7

Relic Castle, mars 2024 : un forum, et un expéditeur jamais confirmé

Notre propre brief de recherche classait Relic Castle avec Essentials comme un retrait de 2018.33 C’était en mars 2024. GamesRadar+, 22 mars 2024 : le forum de fans, actif depuis 2014, a fermé ; sa déclaration disait « the Relic Castle website has been taken down following a DMCA takedown notice. » (le site de Relic Castle a été retiré à la suite d’un avis de retrait DMCA) Le site « didn’t host these games directly, » (n’hébergeait pas ces jeux directement) notait GamesRadar+, mais autorisait les liens vers eux, et l’expéditeur de l’avis n’a pas été confirmé.8

Comment les projets de fans se font remarquer, selon l’avocat qui les remarquait

Don McGowan était directeur juridique de The Pokémon Company. En mars 2024, Aftermath lui a demandé comment l’entreprise gérait les mises en demeure visant des projets de fans, et il a répondu : « Short answer: thanks to you folks. » (Réponse courte : grâce à vous.) La pire chose au monde, dit-il à ses étudiants en droit, c’est quand un projet de fans « gets press, because now I know about you. » (a de la presse, parce que maintenant je sais que vous existez) Et la seconde moitié : « You don’t send a takedown right away. You wait to see if they get funded (for a Kickstarter or similar); if they get funded then that’s when you engage. No one likes suing fans. » (On n’envoie pas d’avis de retrait tout de suite. On attend de voir s’ils obtiennent un financement (un Kickstarter ou équivalent) ; s’ils sont financés, c’est là qu’on intervient. Personne n’aime poursuivre des fans.)67 Video Games Chronicle a repris les mêmes citations le lendemain.68

Chine, 2025 : une copie du jeu entier

Le montant le plus élevé du dossier provient d’une affaire de droit d’auteur et de concurrence déloyale, pas d’un jeu de fans. The National Law Review rapporte que le 21 février 2025, la Cour populaire supérieure du Guangdong a annoncé une transaction de 107 millions de RMB en faveur de The Pokémon Company au sujet du jeu « Pokémon: Remastered », assigné en décembre 2021 ; l’entreprise avait demandé 500 millions de RMB et en avait obtenu 107 millions en première instance à Shenzhen.69 Le raisonnement du tribunal de première instance, tel que l’article le résume, mérite une lecture attentive par quiconque écrit un hommage : les personnages, protagonistes et cartes du jeu incriminé correspondaient aux originaux « one-to-one » (un pour un), ses systèmes étaient « highly similar or even completely consistent, and many numerical system designs are the same. » (très similaires, voire entièrement identiques, et de nombreux systèmes numériques sont les mêmes)69 Selon ma lecture, les nombres n’étaient qu’un fil parmi d’autres dans une conclusion portant sur un jeu qui copiait aussi tout le reste ; mais c’est une raison pour laquelle la section 14 prend une poignée de nombres ronds comme points de départ, fixe ses propres fourchettes quand celles d’un jeu n’étaient pas rondes, et n’importe jamais les tables d’un jeu.

Ce que montre le dossier

Trois des quatre affaires de fans utilisaient l’expression propre de Pokémon, et la quatrième, Relic Castle, hébergeait des liens vers des jeux qui le faisaient. Uranium portait le nom dans son titre et avait été téléchargé 1,5 million de fois selon ses développeurs ; Prism était un ROM hack de Cristal, construit sur le code et les graphismes du jeu ; Essentials fournissait des ressources qu’un journaliste qualifiait d’identiques à celles des jeux ; Relic Castle renvoyait vers de tels jeux.5678 Selon ma lecture, le fondement de chacune était le droit d’auteur : deux étaient des avis DMCA signalés, qui sont des avis de droit d’auteur, bien que l’expéditeur de celui de Relic Castle n’ait pas été confirmé, et les articles sur les deux autres ne donnent pas de fondement, mais les deux jeux étaient construits sur l’expression des originaux, et Uranium portait le nom, ce qui relève aussi du droit des marques. Aucune n’était une action en brevet. L’ancien directeur juridique ajoute le déclencheur : la presse, puis l’argent.67

Ma lecture : le dossier montre des actions contre l’expression de Pokémon, et contre la visibilité doublée d’un financement, pas contre un jeu parce qu’il appartient au genre. Chaque jeu hommage de la section 11 appartient au genre, se vend, et n’a pas été signalé comme la cible d’une action. Cette lecture porte sur ce qui s’est passé, pas sur une promesse de ce qui se passera.

9. Palworld : la seule affaire qui porte sur des mécaniques

Palworld est l’affaire qui change la lecture, parce que c’est la seule du dossier qui se joue sur des brevets. Elle est aussi toujours en cours.

La déclaration, janvier 2024

Pocketpair a sorti Palworld le 19 janvier 2024.10 Le 25 janvier, The Pokémon Company a publié sur son site institutionnel un avis intitulé 他社ゲームに関するお問い合わせについて, que je traduis par Au sujet des questions concernant les jeux d’autres sociétés, en japonais avec un texte anglais en dessous. Le texte anglais : « We have not granted any permission for the use of Pokémon intellectual property or assets in that game. We intend to investigate and take appropriate measures to address any acts that infringe on intellectual property rights related to the Pokémon. » (Nous n’avons accordé aucune autorisation d’utiliser la propriété intellectuelle ou les ressources de Pokémon dans ce jeu. Nous entendons enquêter et prendre les mesures appropriées contre tout acte portant atteinte aux droits de propriété intellectuelle liés à Pokémon.) Le jeu n’est pas nommé.70 Le texte japonais au-dessus dit une chose de plus que l’anglais omet : parmi les questions figuraient des avis selon lesquels le jeu ressemble à Pokémon (ポケモンに類似しているというご意見).70 L’article de Nintendo Life du même jour nommait le jeu.71

La plainte, septembre 2024

Nintendo et The Pokémon Company ont annoncé le 19 septembre 2024 avoir déposé une plainte en contrefaçon de brevets contre Pocketpair devant le tribunal de district de Tokyo « on September 18, 2024, » (le 18 septembre 2024) demandant « an injunction against infringement and compensation for damages » (une injonction contre la contrefaçon et des dommages et intérêts) au motif que Palworld « infringes multiple patent rights. » (porte atteinte à plusieurs droits de brevet)9 Le rapport de Pocketpair du 8 novembre 2024 nommait les brevets et les demandes :10

Brevet Déposé Enregistré
JP 7545191 30 juillet 2024 27 août 2024
JP 7493117 26 février 2024 22 mai 2024
JP 7528390 5 mars 2024 26 juillet 2024

Les demandeurs réclament une injonction contre Palworld et 5 millions de yens plus des intérêts de retard pour chacun d’eux, « compensation for a portion of the damages incurred between the date of registration of the patents and the date of filing of this lawsuit. » (en réparation d’une partie du préjudice subi entre la date d’enregistrement des brevets et la date d’introduction de la présente action)10 Google Patents indique Nintendo et The Pokémon Company comme titulaires des trois.111213 Les trois ont été déposés après la sortie de Palworld, mais pas à partir de rien. GamesRadar+, citant le conseil en brevets japonais Kiyoshi Kurihara, rapporte que les trois sont des brevets divisionnaires d’un brevet parent qu’il décrit comme enregistré en décembre 2021.72 Les tableaux de famille de Google Patents présentent les choses autrement : chacun des trois indique une date de priorité au 22 décembre 2021 et descend, par division, d’une demande déposée ce jour-là, JP 2021-208275 pour 7493117 et 7545191 et JP 2021-208276 pour 7528390 ; ces deux demandes ont ensuite été publiées sous les numéros JP 7398425 B2 (14 décembre 2023) et JP 7349486 B2 (22 septembre 2023). Décembre 2021 est la date de dépôt ; je n’ai trouvé de date d’enregistrement pour aucune des deux dans les pages enregistrées.111213

Ce que disent les trois revendications

Voici la revendication 1 de chacun, d’après la traduction automatique du japonais par Google Patents ; le texte japonais fait foi, et les revendications peuvent être corrigées en cours de procédure sans que la page Google le montre.7333 Je résume, avec les mots mêmes de la traduction entre guillemets.

JP 7493117, l’indicateur. Dans « the first mode » (le premier mode), le programme détermine « a direction of aim in the virtual space based on a first operation input which is a directional input » (une direction de visée dans l’espace virtuel à partir d’une première entrée qui est une entrée directionnelle) ; sur une deuxième entrée, il oriente la visée vers un personnage du terrain et « a first indicator is displayed » (un premier indicateur s’affiche) ; sur une troisième, il fait lâcher par le personnage joueur « a capture item for capturing the field character in the aiming direction » (un objet de capture destiné à capturer le personnage du terrain dans la direction visée) ; en cas d’impact, il procède à « a capture success determination » (une détermination du succès de la capture) ; et l’indicateur est une « information indicating the ease of making a positive judgment of the successful capture judgment. » (information indiquant la facilité avec laquelle la détermination de capture aboutit à un résultat positif)11

JP 7545191, le lancer. Appuyer sur un bouton prépare une posture pour lâcher soit un objet de capture, d’un premier groupe de catégories, soit un personnage de combat, d’un second ; une entrée directionnelle fixe la visée ; une entrée « using an operation button different from the operation button » (au moyen d’un bouton différent de ce bouton) sélectionne quel objet de capture ou quel personnage de combat ; relâcher le premier bouton lance l’élément choisi ; un objet de capture qui touche lance la détermination de capture ; et un personnage de combat lâché là où il peut se battre provoque « a battle between the combat character and the field character on the field to commence. » (le début d’un combat entre le personnage de combat et le personnage du terrain sur le terrain)12

JP 7528390, la monture. Le personnage joueur est contrôlé par des entrées ; il chevauche l’un des « a plurality of types of rideable characters » (plusieurs types de personnages chevauchables) qu’il possède, et « when a first operation input is performed while the player character is in the air, » (quand une première entrée est effectuée alors que le personnage joueur est en l’air) il monte sur « an airborne rideable character » (un personnage chevauchable volant) et se déplace dans les airs.13

GamesRadar+ donne la même correspondance, d’après Kurihara et le cabinet de conseils en brevets Siarasia via Automaton : 7545191 la capture par visée et lancer, 7493117 l’indicateur de probabilité de capture, 7528390 la montée et la chevauchée.72

Ce que le jeu a changé

L’avis de Pocketpair du 8 mai 2025 dit ce qu’il a fait. Le patch v0.3.11, sorti le 30 novembre 2024, « removed the ability to summon Pals by throwing Pal Spheres and instead changed it to a static summon next to the player » (a supprimé la possibilité d’invoquer des Pals en lançant des Pal Spheres et l’a remplacée par une invocation statique à côté du joueur) ; à partir de la v0.5.5, « gliding will be performed using a glider rather than with Pals. » (le vol plané se fera avec un planeur plutôt qu’avec des Pals) Il dit clairement que « these changes were indeed a result of the ongoing litigation, » (ces changements étaient bien une conséquence du litige en cours) et que Pocketpair continue « to dispute these claims and assert the invalidity of the patents in question. » (de contester ces demandes et de soutenir l’invalidité des brevets en cause)74 Selon ma lecture, chaque changement touche une étape d’une revendication : le premier, le lâcher par lancer d’un personnage de combat dans la revendication 1 de JP 7545191, le second, la monture volante de JP 7528390. Savoir si le jeu modifié échappe désormais à l’une ou l’autre revendication dépend de la manière dont le tribunal interprète ces étapes ; l’avis de Pocketpair rapporte ce qu’il a changé, pas une conclusion, et aucun tribunal n’a statué.

La restriction, novembre 2025

Automaton a rapporté le 12 juin 2026, à partir de pièces du tribunal de district de Tokyo consultées par sa rédaction japonaise et de Games Fray, que les demandeurs « revised the scope of their claims in November 2025 so that they now apply only to older versions of Palworld. » (ont révisé en novembre 2025 la portée de leurs demandes pour qu’elles ne visent plus que les anciennes versions de Palworld) Le même article : « While the plaintiffs are still seeking an injunction against Palworld, limiting the lawsuit to older versions of the game appears to reduce the likelihood that the current version will be directly affected. » (Si les demandeurs réclament toujours une injonction contre Palworld, limiter la procédure aux anciennes versions du jeu semble réduire la probabilité que la version actuelle soit directement touchée.) Les pièces montraient une séance d’explications techniques prévue le 1er octobre 2026 et l’avis préliminaire du tribunal prévu le 9 novembre 2026.29

Au 4 octobre 2026, la liste des avis importants de Pocketpair ne contient rien sur la plainte après le 8 mai 2025, et je n’ai trouvé aucun média nommé rapportant ce qui s’est passé lors de la séance du 1er octobre. Aucun jugement, aucune transaction ni aucune injonction n’ont été signalés.30 Palworld est sorti de l’accès anticipé en juillet 2026 : Steam indique la sortie au « 9 Jul, 2026 », et Automaton a rapporté la date annoncée du 10 juillet.7529

Un jeu de fans comme art antérieur

Le dossier contient une ironie qui mérite son propre paragraphe. Automaton a rapporté le 22 juillet 2026 que l’Office japonais des brevets avait maintenu son rejet de la demande divisionnaire n° 2026-019762 de Nintendo et The Pokémon Company, qui décrit un « in-game monster-capturing system » (système de capture de monstres en jeu). L’un des motifs clés était une vidéo YouTube de 2013 d’un jeu de fans, Pokémon Generations. Le camp de Nintendo soutenait que le jeu de fans portait atteinte à ses droits d’auteur ; l’examinateur a répondu, selon le résumé d’Automaton, que « whether an invention infringes on copyright or not has no bearing on determining inventive step. » (qu’une invention porte atteinte ou non au droit d’auteur n’a aucune incidence sur l’appréciation de l’activité inventive) Le rejet concerne cette demande divisionnaire, pas les brevets invoqués à Tokyo, et Nintendo disposait de trois mois pour former un recours contre lui.76 Un jeu de fans, le genre de projet dont traitaient les affaires de la section 8, est devenu une preuve au sujet de la mécanique.

Le côté américain : un brevet, en réexamen

Aucune action américaine contre Pocketpair n’a été signalée, à ma connaissance. Il existe un brevet américain. US 12,403,397, cédé à Nintendo et à The Pokémon Company, a été déposé le 1er mars 2023 et délivré le 2 septembre 2025.61 Sa revendication 1 déplace un personnage joueur sur un terrain et invoque « a sub character » (un personnage secondaire) par une entrée ; si un ennemi se trouve là où apparaît le personnage secondaire, le combat se déroule dans « a first mode in which the battle proceeds based on an operation input, » (un premier mode où le combat avance selon une entrée) et sinon, le personnage secondaire se met à se déplacer automatiquement ; une seconde entrée l’envoie dans une direction, et un ennemi qui s’y trouve déclenche « a second mode in which the battle automatically proceeds. » (un second mode où le combat se déroule automatiquement)61

Engadget a rapporté le 4 novembre 2025 que le directeur de l’USPTO avait personnellement ordonné un réexamen du brevet, en citant comme art antérieur une demande de Konami de 2002 et une publication antérieure de Nintendo.7778 Le cabinet MBHB a écrit le 3 avril 2026 que le réexamen, n° 90/020,162, avait abouti à une première Office Action, expédiée le 25 mars 2026, rejetant toutes les revendications du brevet pour évidence au titre du 35 U.S.C. § 103, avec une réponse attendue au 25 juin 2026, ou au 25 septembre 2026 avec prolongations.79 Je n’ai trouvé aucun compte rendu de la réponse de Nintendo ni d’aucune étape ultérieure.

Une matrice de douze étapes choisies dans la revendication 1 de chaque brevet, face à cinq colonnes : JP 7493117, JP 7545191, JP 7528390, US 12,403,397 et Kiradex ; les étapes sont des résumés, pas les revendications complètes, et la note juridique est ma lecture. Un personnage joueur contrôlé ou déplacé par des entrées est une étape de JP 7528390 et de US 12,403,397, et Kiradex le fait : les collectionneurs marchent sur la place. JP 7493117 revendique la visée par entrée directionnelle, un indicateur de probabilité de capture, le lancer d'un objet de capture et une détermination de capture ; JP 7545191 revendique la visée, le lancer d'un objet de capture, la détermination de capture, la préparation d'un objet de capture ou d'un personnage de combat en maintenant un bouton et le lancer au relâchement, le choix avec un autre bouton, et un personnage de combat lâché qui déclenche un combat ; JP 7528390 revendique la chevauchée de l'un de plusieurs personnages chevauchables possédés et la montée sur une monture volante par une entrée en plein vol ; US 12,403,397 revendique un personnage secondaire invoqué qui combat sous contrôle, et qui combat automatiquement quand il est envoyé dans une direction. Kiradex n'accomplit aucune des étapes de capture, de combat ou de monture.

Étapes de capture, de combat et de monture choisies dans la revendication 1 des quatre brevets lus, avec l’étape de déplacement que deux d’entre eux partagent, et l’application ; tracé par figures.py à partir de measure_patent_claims.out.txt et de la revendication américaine.4373

Ce que cela signifie pour un hommage

Ma lecture, pas un conseil juridique. Une revendication ne couvre un produit que si le produit accomplit chacune de ses étapes, telle que le tribunal interprète chaque étape, ou un équivalent de celle-ci, ce que reconnaissent les tribunaux des deux pays (section 7). Pocketpair a modifié l’invocation par lancer et le vol plané et dit qu’il conteste toujours la contrefaçon et la validité des brevets ; Automaton rapporte que ces changements ont pu contribuer à la restriction des demandes aux anciennes versions, alors qu’une injonction est toujours demandée.7429 Ni l’un ni l’autre ne constitue une conclusion selon laquelle le jeu actuel échappe aux revendications, et aucun tribunal n’a statué. Kiradex accomplit bien une étape revendiquée : un collectionneur se déplace sur un terrain par des entrées, la première étape de la revendication américaine et une partie de celle de JP 7528390, et une étape que partagent la plupart des jeux. Il n’a ni capture, ni objet lancé, ni créature, ni combat, ni monture, et chacune des quatre revendications exige aussi des étapes de capture, de combat ou de monture, donc, selon ma lecture, aucune ne décrit Kiradex. C’est une lecture de quatre brevets, pas une recherche de liberté d’exploitation. Nintendo et The Pokémon Company détiennent d’autres brevets que je n’ai pas lus, et je n’ai pas cherché de brevets sur les podomètres, les événements pilotés par l’horloge ou les formules qui se propagent. La liste des interdits de la section 14 tient l’application à l’écart des étapes de capture, de combat et de monture lues ici, et de rien de plus.

10. Ce que publient les entreprises

Je n’ai trouvé aucune politique publiée sur les jeux de fans de la part de l’une ou l’autre entreprise. Ce qu’elles publient est plus étroit, et les deux documents vont dans le même sens.

Les règles du site de The Pokémon Company, au Japon

La page de règles du site officiel japonais contient un paragraphe sur les œuvres dérivées, et c’est une licence à sens unique. Quiconque crée ou utilise une œuvre dérivée fondée sur ポケモン財産, la propriété Pokémon, que la page définit comme le matériel protégé par le droit d’auteur, les marques, les brevets, le secret des affaires, la vie privée et le droit à l’image, accorde au groupe The Pokémon Company, à Nintendo, à Creatures, à GAME FREAK et à leurs mandataires une licence non exclusive, pouvant faire l’objet de sous-licences, gratuite, perpétuelle, irrévocable et mondiale de l’utiliser à toute fin. La phrase suivante, dans ma traduction de 個人的な利用を超えた…利用を許諾するものではありません, dit qu’aucun usage que les entreprises font de votre œuvre ne vous autorise à utiliser la propriété Pokémon ou votre œuvre dérivée au-delà d’un usage personnel. Le droit japonais s’applique, et le tribunal de district de Tokyo est exclusivement compétent en première instance.60 La même page indique que l’entreprise n’accepte aucune proposition ni idée non sollicitée de personnages ou de produits (企画・アイデア…一切公募をしておりません), et que les noms ポケットモンスター, ポケモン et Pokémon sont des marques de Nintendo, Creatures et GAME FREAK.60

La page d’informations juridiques américaine de pokemon.com, où des sources secondaires situent une clause anglaise sur les créations de fans, a renvoyé une vérification anti-robots à mon outil de récupération le 4 octobre 2026, et sa copie archivée a renvoyé le même blocage. Je n’ai pas tenté de la contourner, son texte n’est donc pas vérifié ici et cet article ne la cite pas.80

Les règles de Nintendo sur le contenu de jeu

Les règles de Nintendo sur le partage de vidéos et d’images autorisent les séquences de jeu et les captures d’écran « for which Nintendo owns the copyright » (dont Nintendo détient le droit d’auteur) dans les contenus que vous créez pour les sites de partage de vidéos et d’images, et disent « We encourage you to create videos that include your creative input and commentary. » (Nous vous encourageons à créer des vidéos qui intègrent votre apport créatif et vos commentaires.) La monétisation n’est autorisée que par les moyens que Nintendo énumère, et « you may not sell any videos, music, or images that you created using Nintendo Game Content. » (vous ne pouvez vendre aucune vidéo, musique ou image créée avec du contenu de jeu Nintendo) La question 6 est celle qui compte pour quiconque fabrique autre chose : les créations de fans, la musique et les contenus autres que les séquences de jeu et les captures d’écran sortent du cadre des règles, et « Any other use of Nintendo’s intellectual property and creation of content outside of this scope is subject to the relevant laws of the applicable jurisdiction. » (Tout autre usage de la propriété intellectuelle de Nintendo et toute création de contenu hors de ce cadre relèvent des lois applicables de la juridiction concernée.)81

Ce que cela donne au total

Ma lecture : il n’existe pas de refuge pour un jeu de fans. Les règles de Nintendo couvrent les séquences de jeu et les captures d’écran et renvoient tout le reste au droit commun ; les règles de The Pokémon Company concèdent l’œuvre dérivée en retour à l’entreprise et ne concèdent rien à son auteur au-delà d’un usage personnel.8160 Ce qui existe à la place, c’est une marge d’appréciation dans l’application, et le dossier de la section 8 montre à quoi cette marge a ressemblé. Pour Kiradex, les conséquences pratiques tiennent en deux lignes de la liste des interdits du cahier des charges : ne rien fabriquer qui soit une œuvre dérivée de la propriété Pokémon, et ne rien envoyer aux canaux de fans ou d’idées de l’une ou l’autre entreprise.

11. Les jeux hommages, dans leurs propres mots

Coromon, Nexomon: Extinction, Cassette Beasts, Temtem, Monster Sanctuary et Moonstone Island proposent tous des boucles de capture et d’élevage dans des mondes en pixel art ou en low poly, se vendent tous, et aucun n’a été signalé, à ma connaissance, comme la cible d’une action. La manière dont ils se décrivent est le guide le plus concret de cet article, parce que c’est ce que font réellement des studios en activité.

Les pages de boutique ne nomment personne

J’ai compté le mot sur les fiches de la boutique Steam de sept jeux, ces six et Palworld, récupérées via l’API app details de Steam le 4 octobre 2026. Dans leurs descriptions courtes et longues, aucun des sept ne dit « Pokémon ». Ils disent « monster-taming RPG » (Coromon), « a return to classic monster catching games » (Nexomon: Extinction), « Collect awesome monsters » avec un « Fusion System » (Cassette Beasts), « an online creature-collection adventure » (Temtem), « Monster taming meets metroidvania » (Monster Sanctuary), « a creature-collecting life-sim » avec des « card-based encounters » (Moonstone Island), et « Fight, farm, build and work alongside mysterious creatures » (Palworld).31 Une fiche contient bien le mot : le champ des citations de presse de Temtem porte une ligne de Rock Paper Shotgun qui le qualifie de « A Pokemon-like that listens to what fans want. » (un jeu à la Pokémon qui écoute ce que veulent les fans)31 Dans ces sept fiches, les mots des studios eux-mêmes n’utilisent jamais le nom pour vendre.

Les interviews le nomment librement

En interview, les mêmes développeurs parlent ouvertement de Pokémon, comme d’une influence dont ils sont partis puis dont ils se sont éloignés. Nintendo Life en a interrogé plusieurs pour les 30 ans de la série, dans un dossier publié le 2 mars 2026. Guillermo Andrades, de Crema : « In the early days of developing Temtem, we wanted to create almost a 1:1 homage to Pokémon, » (Au début du développement de Temtem, nous voulions créer un hommage presque 1:1 à Pokémon) avant que l’équipe ne trouve davantage de place pour des « different approaches and unique twists. » (des approches différentes et des variations originales) Le développeur principal de Nexomon, JVemon : « Strong inspirations needed to be drawn if we were to tap into the same player base. » (Il fallait s’inspirer fortement si nous voulions toucher le même public.) Jochem Pouwels, de Coromon, a qualifié les herbes hautes de « a little slot machine of possibility. » (petite machine à sous des possibles) Sandy Spink, de Moonstone Island : « I got an atomic purple Game Boy Color and Pokémon Blue for my sixth birthday. » (J’ai reçu une Game Boy Color violet translucide et Pokémon Bleu pour mes six ans.) Et Tom Coxon, de Bytten Studio : « I’ve never felt like Pokémon was the only thing a monster-collecting RPG could be. » (Je n’ai jamais eu l’impression que Pokémon était la seule forme possible d’un RPG de collection de monstres.)32

Cassette Beasts est la déclaration d’intention la plus claire. Sa question fondatrice, comme le rapportait Nintendo Life en avril 2023, était « How can two people make a monster-collecting game that does stuff that Pokémon doesn’t do? » (Comment deux personnes peuvent-elles faire un jeu de collection de monstres qui fait des choses que Pokémon ne fait pas ?) Jay Baylis : « We love Pokémon, sure, but we’re not making a game meant to be a tribute or derivative. » (Nous aimons Pokémon, bien sûr, mais nous ne faisons pas un jeu destiné à être un hommage ou un dérivé.)82 L’annonce de Temtem en avril 2018 a été rapportée par Gematsu comme « a massively multiplayer creature collection adventure game inspired by Pokemon, » (un jeu d’aventure massivement multijoueur de collection de créatures inspiré de Pokémon) selon les mots du média.83

Pourquoi cela fonctionne

Ma lecture : la norme en usage chez ces studios est celle-là même vers laquelle pointent le droit et les règles. Nommer Pokémon dans la conversation pour dire d’où l’on vient ; ne jamais s’en servir pour vendre ; tout dessiner soi-même ; et modifier la boucle suffisamment pour qu’elle vous appartienne (la fusion dans Cassette Beasts, les cartes au lieu des combats dans Moonstone Island). Kiradex est plus éloigné du genre qu’aucun d’eux, sans créatures, sans capture et sans combats, et il emprunte moins : une marche, une horloge, une carte, une formule.

12. Le savoir-faire, en règles chiffrées

Voici les règles à partir desquelles le cahier des charges est construit. Chacune énonce une mécanique en termes généraux et nomme le fait mesuré sur lequel elle repose. Les nombres sont ceux des anciens jeux, conservés comme points de départ pour nos propres réglages, jamais comme tables à importer ; l’affaire chinoise de la section 8 est la raison de cette distinction.69

Élément Règle Source
Cadence des pas Faire avancer ce qui dépend des pas sur une cadence large, de 128 à 512 pas, jamais à chaque pas, pour que la récompense arrive comme un événement, pas comme une jauge 2e génération : œufs tous les 256 pas, bonheur tous les 512 ; 3e génération : un tirage d’amitié à 50 pour cent par membre de l’équipe tous les 128, œufs tous les 256
Budget de pas Dépenser en pas, pas en secondes, ce qui est limité par la marche ; une protection courte, moyenne et longue de 100, 200 et 250 pas ; une sortie de 500 Les Repousse, inchangées de la 1re à la 3e génération ; le Parc Safari d’Émeraude
Moments de la journée Découper la journée en quelques moments nommés selon l’horloge de l’appareil ; les nôtres sont 6, 9, 17 et 20, pas les 4, 10 et 18 des jeux TimesOfDay de Cristal ; Daylight.Phase de Kiradex
Rendez-vous Un événement récurrent à jours fixes, un tirage hebdomadaire un jour fixe, au plus une fenêtre par jour de la semaine et par contact Concours de Capture d’Insectes trois jours pendant 20 minutes ; numéro chance le vendredi ; 24 fenêtres de revanche
Croissance Quatre stades, le dernier quatre fois plus long que chacun des trois premiers (256, 256, 256 et 1 024 pas sur la place dans le cahier des charges) ; calculé à partir du temps écoulé au retour ; une récolte mûre attend quatre durées de stade puis tombe, et seule une très longue absence supprime la plante Baies d’Émeraude : de 4 à 96 heures, baies non cueillies perdues à la fin du stade des baies, arbre supprimé après 71 durées de stade d’absence
Pièce sûre Un lieu où les changements du jour ne se déclenchent jamais tant qu’on s’y tient Émeraude saute les mises à jour du jour dans un Centre Pokémon
Étoiles Quatre étoiles, quatre manières de jouer, chacune recolorant la carte ; jamais deux pour une même activité, jamais une qui s’achète Les quatre étoiles et les cinq couleurs de carte d’Émeraude
Grille Une boîte est une page de 30, 6 sur 5 Boîtes de 3e génération, passées de 20 par boîte
Rebords Sur les routes, jamais dans les bourgs ; de 10 à 25 cellules de rebord sur une première route Émeraude : 726 cellules de rebord sur les routes, 0 dans 7 bourgs ; de 13 à 24 sur les routes 101 à 104
Séries Des séries de sept, avec des jalons à 5 et 10 séries Les défis de 7 de la Tower ; son Brain comme 35e et 70e combat
Formule qui se propage Un score qui démarre au hasard dans une fourchette fixée, dérive de 5 par jour, devient éventé à son sommet et frais de nouveau à 0 ; une nouvelle formule ne remplace l’ancienne que si son score est plus haut ; quand deux lieux se rencontrent, la copie la plus haute d’une formule commune l’emporte ; en garder 5 La phrase tendance d’Émeraude, dont le score démarre entre 30 et 127 ; Émeraude laisse aussi entrer sans opposition la première phrase d’une sauvegarde et tranche une égalité complète à pile ou face, ce que le cahier des charges abandonne, et le cahier des charges fixe sa propre fourchette
Maître rare Un maître difficile à trouver (le nôtre se tient dans une seule pièce à la fois et change chaque semaine), rencontré par contact ; chaque rencontre, une par jour au plus, enseigne le mot suivant d’une liste cachée dans un ordre fixe Le Hipster : un joueur sur cinq, 33 mots cachés
Tirage sur la collection Étudié, pas construit : un tirage comparé à tout ce que possède le joueur récompense une grande collection, mais son prix est aléatoire, et les cosmétiques de cette série ne sont jamais aléatoires Le Coin Loterie d’Émeraude ; le numéro chance hebdomadaire de Cristal ; la règle des cosmétiques de l’article sur les personnages
Interruptions Conditionner toute interruption non sollicitée à un minuteur qui repart à sa durée la plus longue après chacune, et à un pile ou face, et jamais sur un seuil de porte Le minuteur d’appels de Cristal : 20 minutes après un appel, puis 10, 5 et 3 tant qu’aucun ne vient, et son tirage à 50 pour cent
Plafonds Objets dans un lieu aménagé 16, dans une chambre 12, lieux d’autres joueurs conservés 20 Plafonds de la Base Secrète, de la chambre et des bases d’Émeraude
Mondes des autres Laisser les lieux, les nouvelles et les formules des autres joueurs arriver dans le vôtre, sans qu’ils aient besoin d’être en ligne au même moment L’enregistrement mélangé de 5 188 octets d’Émeraude
Expression Des mécaniques plus votre propre expression ; aucun nom, graphisme, musique, texte ou code des jeux Le dossier de 2016 à 2024 ; Circular 33
Étapes revendiquées Écarter les étapes de capture, de combat et de monture des revendications lues : pas d’objet de capture visé et lancé, pas d’indicateur de capture, pas de compagnon de combat lâché, pas de monture volante, pas d’assistant invoqué qui combat selon deux modes JP 7493117, 7545191, 7528390 ; US 12,403,397

Sources du tableau : le podomètre ;121415411716 l’horloge ;1845192146223 la carte et les boîtes ;2324 les rebords ;39 les séries ;25 le record mixing ;4285826 le tirage ;5636 les appels ;59 le dossier et les revendications.4411121361

Deux règles méritent une phrase chacune. La pièce sûre est celle à laquelle je n’aurais pas pensé sans lire le code : un monde qui change tout seul a besoin d’un endroit où il ne change pas, et pour Kiradex, c’est la chambre même du collectionneur. Et la règle de l’expression résume à elle seule toute la moitié juridique, c’est pourquoi elle figure dans un tableau de conception et non dans un avertissement : c’est une règle que la forge suit, pixel par pixel, comme elle suit la palette.

13. La manière Apple : des pas dans le monde, une journée tirée du calendrier

Rien dans le cahier des charges n’exige un nouveau framework. Il exige deux décisions bien prises : d’où vient un pas, et ce qu’est une journée.

Un pas est un pas sur la place, pas dans la rue

iOS offre deux façons de compter les vrais pas d’une personne. CMPedometer de Core Motion, disponible depuis iOS 8.0, est « An object for fetching the system-generated live walking data, » (un objet permettant de récupérer les données de marche en direct générées par le système) et son utilisation exige dans l’Info.plist de l’application une description d’usage que le système affiche dans sa demande d’autorisation ; le type de quantité stepCount de HealthKit, également iOS 8.0, est « A quantity sample type that measures the number of steps the user has taken. » (un type d’échantillon de quantité qui mesure le nombre de pas effectués par l’utilisateur)8485

Le cahier des charges n’utilise ni l’un ni l’autre. Les pas qui font pousser la plante de la section 14 sont des pas sur la place. Le serveur rejette déjà tout déplacement vers une tuile non praticable et limite la fréquence à laquelle un collectionneur peut se déplacer ; il ne vérifie pas encore qu’un déplacement mène à une tuile voisine, donc compter un pas reviendra à compter un déplacement accepté d’une tuile, ce que fixe le test d’acceptation du cahier des charges.86 Ma lecture : demander à une application pour enfants des autorisations de mouvement ou de santé pour faire pousser une décoration en pixel art n’est pas proportionné, cela introduirait une autorisation de santé dans une application de collection sans aucune finalité de collection, et cela ferait de la plante un traqueur d’activité, ce qui est un autre produit. Les anciens jeux comptaient eux aussi les pas dans le monde.

Une journée est le jour calendaire du collectionneur

Kiradex lit déjà l’heure sur l’horloge de l’appareil : Daylight.Phase(hour:) associe 6 à 9 au matin, 9 à 17 au jour, 17 à 20 au soir et le reste à la nuit, et un argument de lancement -plazaHour fixe l’heure pour les tests d’interface.45 Un événement quotidien demande une idée de plus : une clé de jour. Le Calendar de Foundation la fournit directement. startOfDay(for:) renvoie « the first moment of a given Date, » (le premier instant d’une Date donnée) et isDate(_:inSameDayAs:) indique si deux dates tombent le même jour, tous deux disponibles depuis iOS 8.0 ; avec Calendar.current, ils répondent dans le calendrier propre au collectionneur.8788 Voici une esquisse de la vérification pour la caisse du matin, pas encore dans l’application. La caisse arrive à 06:00, le début du matin de Daylight, et attend d’être ouverte, si bien que la vérification demande seulement si la caisse du jour est arrivée et si elle a été ouverte. Elle lit l’heure comme le fait déjà la scène de la place, depuis Daylight.forcedHour quand un test lance l’application avec -plazaHour, et depuis l’horloge du collectionneur sinon, pour que le test d’interface du cahier des charges puisse la piloter :

/// Whether a crate is waiting for this collector now: today's crate has
/// arrived (it comes at 06:00, the start of Daylight's morning) and they
/// have not opened one today. It does not leave at 09:00.
func crateIsWaiting(lastOpened: Date?, now: Date = .now,
                    calendar: Calendar = .current) -> Bool {
    let hour = Daylight.forcedHour ?? calendar.component(.hour, from: now)
    guard hour >= 6 else { return false }
    guard let lastOpened else { return true }
    return !calendar.isDate(lastOpened, inSameDayAs: now)
}

C’est, dans sa forme, le UpdatePerDay d’Émeraude : l’état du jour est calculé à l’arrivée à partir de la date, et rien n’a besoin de continuer à tourner pour qu’il soit juste.22 Pour une application restée ouverte au passage de minuit, deux notifications la réarment. NSCalendarDayChanged est, selon la documentation, « posted whenever the calendar day of the system changes, as determined by the system calendar, locale, and time zone, » (publiée chaque fois que le jour calendaire du système change, selon le calendrier, la région et le fuseau horaire du système) depuis iOS 8.0 ; la significantTimeChangeNotification d’UIKit est publiée lors d’« a change to a new day (midnight), a carrier time update, or a change to, or from, daylight savings time. » (un passage à un nouveau jour (minuit), une mise à jour de l’heure par l’opérateur, ou un passage à l’heure d’été ou à l’heure d’hiver)8990

Ce dont le serveur a besoin

Le serveur de la place ne gère aujourd’hui que la présence : il relaie les positions et les phrases prédéfinies et ne stocke rien.8633 Deux éléments du cahier des charges changent cela, et ils sont de nature différente. La formule qui se propage a besoin d’un petit enregistrement persistant par pièce de la place : deux indices de mots, un score, un sommet, un sens de dérive et la date serveur à laquelle la dérive a été appliquée pour la dernière fois, sans rien sur qui a proposé ou porté la formule. Cet enregistrement appartient à une pièce, pas à une personne. Les rosettes du hall hebdomadaire ont besoin d’un nombre de participations par collectionneur, et celui-là appartient bien à une personne : c’est un historique de participation, stocké sous l’identifiant par lequel le serveur repère un collectionneur. Aujourd’hui, cet identifiant est un identifiant que l’application génère elle-même : un UUID créé sur l’appareil la première fois que le collectionneur rejoint la place, conservé dans le stockage de l’application et envoyé à chaque connexion, où le serveur le lit comme un UUID.86 Le document sur le monde de l’application prévoit de repérer plutôt le serveur par l’identifiant de joueur Game Center, et en dit : « That is a persistent identifier, which COPPA counts as personal information when combined with other data, » (C’est un identifiant persistant, que la COPPA considère comme une information personnelle lorsqu’il est combiné à d’autres données) si bien que la conception s’accompagne d’une politique de confidentialité, d’aucune analyse ni publicité tierce, d’une « deletion on request, » (suppression sur demande) et est pensée « to collect as little as possible from anyone. » (pour collecter le moins possible auprès de quiconque)37 Selon ma lecture, l’UUID propre à l’application est lui aussi un identifiant persistant, puisqu’il est créé une fois et conservé, donc ces règles s’appliquent au nombre de participations quel que soit celui des deux identifiants sous lequel il est stocké (l’élément 5 du cahier des charges dit comment). Ma lecture : tout ce qui est partagé entre collectionneurs, comme la dérive quotidienne de la formule, devrait suivre la date du serveur plutôt que celle d’un téléphone, parce que l’horloge d’un téléphone peut être avancée ; tout ce qui est privé et cosmétique, comme la caisse, peut faire confiance au téléphone, parce qu’avancer sa propre horloge pour ouvrir un autocollant plus tôt ne lèse personne.

Ce que cela coûte

Rien de tout cela n’a été construit, donc rien n’a été chronométré. Une clé de jour est un appel au calendrier et un podomètre un entier par collectionneur ; je ne m’attends à voir ni l’un ni l’autre dans un profil, et je ne l’affirmerai pas comme un fait tant qu’un build n’aura pas été mesuré sur un téléphone.

14. Le cahier des charges : ce que Kiradex construit et les vérifications qu’il doit passer

Cette section est ma synthèse, écrite pour l’application. Chaque élément garde une mécanique des sections 2 à 6 et remplace toute l’expression par celle de Kiradex : sa palette, ses tuiles dessinées par la forge, ses phrases prédéfinies, son étoile kira. Chacun nomme ce à quoi il ne doit pas ressembler et une vérification qu’un test, une capture ou un script peut exécuter. Les notes juridiques sont des lectures, pas des conseils.

Ce qui existe déjà et sur quoi l’on construit : la place de tuiles de 16 pixels, avec des phrases prédéfinies conservées sur le serveur et un serveur qui ne gère que la présence et ne stocke rien ; Daylight.swift avec ses propres phases (matin de 6 à 9, jour de 9 à 17, soir de 17 à 20, nuit), qui ne sont déjà pas les 4, 10 et 18 de Cristal et le resteront ; le hall hebdomadaire et son thème ; la carte du collectionneur avec son niveau de mécène, ses pins et ses niveaux issus de vrais scans ; et la chambre de chaque collectionneur.86453533

1. La plante sur le rebord de fenêtre : un podomètre qui fait pousser quelque chose dans la chambre

  • Mécanique. La chambre de chaque collectionneur a une plante en pot près de la fenêtre. Les pas sur la place et sur les routes la nourrissent : un stade de croissance tous les 256 pas, quatre stades (plateau de semis, pousse, feuillue, en fleur) ; le dernier stade dure quatre fois plus longtemps puis laisse tomber une fleur séchée, une décoration de chambre dans la rampe suivante parmi les 14 rampes de palette de la ville, dans un ordre fixe, jamais au hasard, et la plante repart au stade de pousse. Les pas faits à l’intérieur des pièces ne comptent jamais : la chambre est le lieu sûr, comme Émeraude suspend le poison dans une Base Secrète et les mises à jour du jour dans un Centre Pokémon. (Règles : cadence des pas, croissance, pièce sûre.)1142234
  • Pourquoi. La marche est le seul verbe constant de la place ; une cadence large fait de la fleur un événement ; et la fleur est quelque chose à placer, qui nourrit la chambre.
  • Les pas sont des pas sur la place, pas des données de santé. Ni Core Motion, ni HealthKit (section 13).
  • Ne doit pas ressembler à. Un œuf, une couveuse, quoi que ce soit qui éclot, un arbre à baies, des noms ou des sprites de baies, une mécanique d’arrosage liée à des paliers de rendement, une Pension. Rien qui se transforme en créature. Pas de « berry », « egg » ni « hatch » dans aucune chaîne de caractères.
  • Acceptation. Un test serveur fait marcher un bot sur 2 048 pas d’une tuile et vérifie des changements de stade à 256, 512 et 768, une fleur séchée et la plante revenue au stade de pousse à 1 792 (le stade de floraison dure 1 024 pas), le changement suivant à 2 048, et aucun pour les pas faits sur une carte de pièce ni pour un déplacement accepté de plus d’une tuile ; une capture de la chambre à chaque stade montre la plante dessinée par la forge, et une vérification de palette trouve chaque pixel dans la palette de la forge.

2. La caisse du matin : une horloge quotidienne avec un événement matinal

  • Mécanique. Au début du matin propre à Kiradex, 06:00 à l’horloge du collectionneur (Daylight.Phase.morning commence à 6), une caisse de livraison arrive devant la boutique de cartes, et elle y reste jusqu’à ce qu’on l’ouvre. L’ouvrir donne l’élément suivant d’une liste fixe : un autocollant, une couleur de cadre ou un mot pour la formule (élément 6). Une caisse par jour, et elles ne s’accumulent jamais. L’état du jour est calculé à l’arrivée à partir de la date locale, jamais par un minuteur en marche. (Règles : moments de la journée, rendez-vous, croissance.)4522
  • Pas de compte à rebours, pas de hasard. La règle de cette série pour les cosmétiques est « never random, never on a countdown. » (jamais aléatoire, jamais sur un compte à rebours)36 La caisse n’a donc pas d’échéance : elle ne repart pas à 09:00, et comme son contenu vient dans l’ordre d’une seule liste, un jour sauté ne fait que retarder l’autocollant suivant et n’en fait jamais perdre un. Le matin est le moment où elle arrive, pas une fenêtre à ne pas manquer.
  • La forme de la semaine. Donner à la semaine des jours nommés comme le faisait Cristal, mais avec au plus un rendez-vous par jour : le jour de jugement du hall reste hebdomadaire, comme prévu, et un soir de semaine le commerçant réarrange la vitrine.1921
  • Ne doit pas ressembler à. Un Concours de Capture d’Insectes (une capture chronométrée le mardi, le jeudi et le samedi), la fabrication de Balls de Fargas, une émission de loterie à la radio, un Pokématos ou un téléphone. Pas d’appels téléphoniques dans le jeu.
  • Acceptation. Un test d’interface lancé avec -plazaHour 7 montre une caisse non ouverte, de même qu’un test lancé avec -plazaHour 21 ; un test lancé avec -plazaHour 5 n’en montre encore aucune. Un test unitaire sur la clé de jour montre qu’une caisse ouverte deux fois à une même date locale ne donne qu’une fois, et qu’avancer la date d’un jour la réarme ; un test qui saute trois jours puis ouvre une caisse obtient l’élément suivant de la liste, pas celui situé trois places plus loin.

3. La carte du collectionneur, avec des étoiles

  • Mécanique. La carte qui s’ouvre quand quelqu’un vous touche gagne jusqu’à quatre étoiles, chacune pour une manière de jouer différente, et sa bordure change à chaque étoile selon la séquence propre à Kiradex : unie sans étoile, puis mate, liserée de foil, bordure holo, et kira intégral à quatre. Étoiles proposées, chacune issue de la vraie collection ou du jeu sur la place : une vraie série complétée par des scans ; 100 chambres différentes visitées ; un classement au hall hebdomadaire ; et des scans sur 30 jours différents. Le niveau de mécène reste une ligne distincte sur la carte, jamais une étoile. (Règle : étoiles.)23
  • Pourquoi pas une série de 30 jours. Le dossier proposait une série de 30 jours de scans. Je l’ai changée en 30 jours différents, qui n’expirent jamais, parce qu’une série qui se brise punit un enfant pour une semaine d’absence, et parce que PEGI prend en compte dans ses classifications les séries de connexion qui expirent depuis juin 2026, comme le consigne l’article de cette série sur les personnages.3336
  • Ne doit pas ressembler à. Le nom « Trainer Card » ; la mise en page de la Carte Dresseur (portrait à droite, rangée de badges en bas, numéro d’ID et argent) ; des palettes de carte verte, bronze, cuivre, argent et or ; des formes de badges ; des références aux arènes ; une durée de Hall of Fame. Les étoiles ne sont dessinées que comme l’étoile kira de Kiradex.
  • Acceptation. Un test d’instantané rend la carte de 0 à 4 étoiles et trouve les cinq bordures dans cet ordre ; un test unitaire prouve qu’aucun parcours d’achat n’attribue d’étoile (les transactions StoreKit ne touchent jamais les champs d’étoiles) ; une recherche de « Trainer » dans le catalogue de chaînes ne trouve rien.

4. Un dénivelé à sens unique sur une route

  • Mécanique. Sur la route au-delà de la place, des dénivelés à sens unique d’une cellule de haut : on en descend pour tomber d’une rangée, on ne remonte jamais. Chaque série de dénivelés fait du chemin du retour un autre chemin, si bien qu’une route courte contient une boucle. De dix à 25 cellules de dénivelé sur une première route, contre 13 à 24 sur les routes 101 à 104 ; aucune dans la ville. (Règle : rebords.)39
  • Qui décide. La recherche sur les structures a refusé les rebords parce qu’une hauteur gratuite se lit mal en vue de dessus ; un dénivelé à sens unique d’une cellule n’a pas de hauteur, seulement une arête orientée dans le graphe de déplacement. Ce cahier des charges restreint le refus au lieu de l’annuler, et ce sont les articles de cette série sur l’élévation et les routes qui ont la décision.3533
  • Ne doit pas ressembler à. La tuile de rebord de Pokémon (une lèvre d’herbe avec un bord supérieur clair et une ligne d’ombre sombre), son animation de saut ou son bruitage. La dessiner dans la forge comme une bordure de pierre ou une marche de haie dans la palette de Kiradex, avec ses propres images de chute.
  • Acceptation. La validation des déplacements du serveur a des arêtes orientées aux cellules de dénivelé ; un test vérifie que le pas inverse est refusé ; un script de parcours en largeur signale un chemin de retour différent du chemin aller.

5. Le hall hebdomadaire, par séries de sept

  • Mécanique. Garder le jugement hebdomadaire que le hall prévoit déjà. Appliquer la forme de la Zone de Combat à la participation, pas à la victoire : chaque série de sept participations vaut une rosette du hall sur la carte du collectionneur, et à 35 et 70 participations, cinq et dix séries, le gardien du hall sort voir sa vitrine. Les participations comptent quel que soit le moment où elles ont lieu, jamais seulement sur des semaines consécutives, pour la raison donnée à l’élément 3. Les rosettes viennent de la participation et du classement, jamais d’un achat. (Règle : séries.)25
  • Données. Le nombre de participations est un historique de participation lié à l’identifiant d’un collectionneur, c’est donc une information personnelle selon les règles propres à l’application : il est stocké sous le seul identifiant par lequel le serveur repère un collectionneur, quel qu’il soit à ce moment-là, et sous aucun autre (aujourd’hui l’UUID que l’application génère pour la place ; l’identifiant de joueur Game Center une fois que le serveur sera repéré par lui, comme le prévoit le document sur le monde ; l’un comme l’autre est un identifiant persistant), couvert par la politique de confidentialité, jamais envoyé à des outils d’analyse ni de publicité, et effacé avec le reste de l’enregistrement du collectionneur sur demande de suppression. C’est un compteur cumulé unique, sans journal des participations individuelles. Le document sur le monde ne fixe aucune durée de conservation ; cela relève de l’examen par un avocat qu’il prévoit déjà.3786
  • Ne doit pas ressembler à. Les catégories de concours (Cool, Beauty, Cute, Smart, Tough), les noms de rangs (Normal, Super, Hyper, Master), la scène du Hall des Concours, les manches de prestation, une Battle Tower, les symboles de la Zone de Combat, les designs de rubans de Pokémon. Les rosettes de Kiradex sont les siennes, dans sa propre palette.
  • Acceptation. Un test serveur fait passer un participant simulé par 70 participations et vérifie les rosettes à 7, 14 et ainsi de suite, et la visite du gardien à 35 et 70 ; un test avec un mécène du niveau le plus élevé ne montre aucune différence de score ; un test de suppression retire un collectionneur et ne trouve plus aucun nombre de participations sous son identifiant.

6. La formule de la semaine : une phrase qui se propage entre les places

  • Mécanique. Chaque pièce de la place détient une formule : deux mots tirés du vocabulaire prédéfini propre à Kiradex, un sentiment et un mot de collection (« lucky binder », « quiet holo »). Quand une paire est proposée, le serveur lui attribue un sommet entre 25 et 100, la fourchette propre à Kiradex (celle d’Émeraude va de 30 à 127, sous le plafond d’un champ de 7 bits), et un score de départ entre 25 et ce sommet. Le score monte de 5 par jour jusqu’au sommet, où la formule devient éventée, puis descend de 5 par jour jusqu’à un plancher de 0, où elle redevient fraîche et remonte ; le mouvement d’un jour qui dépasserait le sommet ou le plancher s’y arrête. Un collectionneur peut proposer une nouvelle paire au tableau d’affichage ; elle ne s’empare de la pièce que si son score est strictement plus élevé, et en cas d’égalité la pièce garde la sienne. C’est la simplification de Kiradex : Émeraude laisse entrer sans comparaison la première phrase d’une sauvegarde et tranche une égalité complète à pile ou face. Quand un collectionneur passe d’une pièce à l’autre, la formule voyage avec lui, et là où les formules de deux pièces se rencontrent, le score le plus élevé l’emporte. Les collectionneurs de la ville répètent la formule du moment. L’un d’eux, le collectionneur de mots, se tient dans une seule pièce à la fois et change chaque semaine ; lui parler débloque le mot prédéfini suivant d’une liste cachée, dans un ordre fixe, jamais au hasard, et au plus un mot par jour. (Règles : formule qui se propage, maître rare.)428
  • Serveur. Un petit enregistrement persistant par pièce : deux indices de mots, un score, un sommet, un sens de dérive et la date serveur de la dernière application de la dérive. À la lecture, le serveur applique 5 points pour chaque jour écoulé depuis cette date, un jour à la fois, puis enregistre la date du jour, si bien qu’un jour n’est appliqué qu’une fois, quel que soit le nombre de lectures de la pièce ou de redémarrages du serveur. Le UpdatePerDay d’Émeraude fait la même chose avec un numéro de jour enregistré : il le compare à celui du jour, transmet la différence à la tendance, puis enregistre celui du jour.22 L’enregistrement appartient à la pièce : rien n’y indique qui a proposé ou porté la formule (section 13).
  • Sécurité des enfants. Uniquement des mots prédéfinis, tirés de listes que le serveur détient et peut retirer, comme le sont déjà les phrases prédéfinies de la place. Pas de texte libre et pas de mots inventés par les utilisateurs.86
  • Ne doit pas ressembler à. Les groupes de mots et les mots d’Easy Chat (y compris les 33 Trendy Sayings), le hall de Myokara, le vieil homme de Lavandia, l’apparence du Hipster, le record mixing en tant que fonctionnalité nommée, une émission de télévision sur la tendance.
  • Acceptation. Un test serveur : la formule de la pièce A à 90 rencontre celle de la pièce B à 60 quand un collectionneur passe de A à B, et celle de B devient celle de A ; une nouvelle paire de même score que celle de la pièce ne s’en empare pas. Un test de dérive démarre une formule à 45, en hausse, avec un sommet de 60 : trois lectures à la date serveur suivante la laissent à 50, pas à 60 ; après un redémarrage du serveur, elle se lit toujours 50 à cette date ; puis dix jours sans lecture, et la première lecture applique les dix d’un coup, jusqu’à 60, éventée, puis jusqu’à 20, comme une lecture quotidienne ; une formule éventée à 10 se lit 5 trois jours plus tard, en hausse après avoir touché 0.91 Un script compare le vocabulaire prédéfini aux listes de mots Easy Chat de pokeemerald et ne trouve aucune entrée commune de plusieurs mots (des mots isolés courants comme « hello » sont inévitables et sans problème). Un test du collectionneur de mots : la n-ième conversation d’un collectionneur avec lui, chacune un jour différent, débloque le n-ième mot de la liste cachée, et une répétition le même jour ne débloque rien.

Jamais

  1. Aucune expression de Pokémon nulle part dans le monde : pas de créature, pas de silhouette de créature ni de créature originale qui en rappelle une, pas de dresseur, d’objet, de nom de lieu, de musique, d’effet sonore, de tuile, de sprite, de palette ni de mise en page d’écran repris, décalqué ou redessiné d’un jeu Pokémon.37
  2. Aucun vocabulaire de la franchise comme nom de fonctionnalité : Pokédex, Poké Ball, Poké-quoi-que-ce-soit, Trainer Card, Gym, Badge, Elite Four, Hall of Fame, Safari Zone, Repel, Secret Base, Record Mixing, Easy Chat, Trendy Saying, Contest, PokéNav, Pokégear, Match Call, VS Seeker, Battle Tower, Frontier. Je n’ai pas vérifié lesquels sont des marques déposées ; ensemble, ils marqueraient un produit comme dérivé, et les descriptions de boutique des jeux hommages se passent même du nom de la série.31
  3. Aucune des étapes revendiquées de capture, de combat ou de monture : rien de visé et lancé pour capturer quoi que ce soit ; aucun indicateur de probabilité de capture ; aucun compagnon lâché pour se battre ; aucune monture volante ou planante ; aucun assistant invoqué qui combat selon deux modes.11121361
  4. Aucun code ni aucune donnée issus des décompilations dans l’application ou dans la forge. Elles servent à l’étude et à la mesure ; leur code et leurs ressources dérivent des jeux.
  5. Pas de « Pokémon » dans le marketing au-delà de la seule ligne de description nominative que permettent les règles propres à l’application : le nom sur l’App Store, le sous-titre, l’icône, les captures d’écran, les publicités et les bandes-annonces restent vierges.3731
  6. Pas de financement participatif ni d’argumentaire de presse fondé sur la nostalgie de Pokémon. La presse puis le financement, c’est le déclencheur décrit par l’ancien directeur juridique de The Pokémon Company.67
  7. Aucune forme de jeu d’argent, et aucun hasard dans les cosmétiques : pas de machines à sous, pas de Casino, pas de tirages, pas d’objets aléatoires, payants ou gratuits.3336
  8. Aucune idée ni création de fan envoyée à The Pokémon Company ou à Nintendo, et aucun recours à leurs canaux de fans ou d’idées : leurs règles leur concèdent ce type d’œuvre en retour et disent qu’ils n’acceptent pas d’idées non sollicitées.60
  9. Aucune image de carte au-delà de l’identification : jamais regroupée, jamais dans les visuels marketing, jamais sur des produits dérivés.37
  10. Aucune donnée de santé ou de mouvement pour les récompenses de jeu (section 13).

Hors de ce cahier des charges

Les jetons et le Casino (refusés plus haut) ; le tirage quotidien (une version comparée aux numéros de collection des cartes scannées a été rédigée puis abandonnée, parce que son prix est aléatoire) ; les appels téléphoniques et la télévision (les phrases prédéfinies de la place parlent déjà, et un monde qui appelle le téléphone d’un enfant n’est pas celui que je veux construire) ; les apparitions massives et les essaims (il n’y a pas de créatures pour essaimer) ; les boîtes du PC (la manière d’arranger une collection sur une page relève de l’article sur les chambres) ; les vélos et les arbres coupables (ils relèvent des routes) ; les plafonds des Bases Secrètes (l’article sur les chambres gère les plafonds des chambres) ; et tout ce qui vient du Pokéathlon.

Les limites honnêtes

Quatre brevets lus, trois japonais et un américain, depuis Google Patents, les revendications japonaises en traduction automatique ; aucune recherche de brevets sur les podomètres, les horloges ou les formules qui se propagent ; aucun avocat consulté. L’affaire Palworld était toujours en cours le 4 octobre 2026 : une séance d’explications techniques était prévue le 1er octobre et aucune issue n’a été signalée, et l’avis préliminaire du tribunal est prévu le 9 novembre. L’étape suivante du réexamen américain n’a pas été signalée. La page juridique américaine de The Pokémon Company était inaccessible. Chaque élément ci-dessus est une mécanique que je crois libre d’utilisation en tant qu’expression qui nous est propre, et chacune de ces convictions est une lecture.297980

Points clés à retenir

Si vous dessinez les graphismes

  • Dessinez chaque pixel vous-même, à partir de votre propre palette et de vos propres règles. Chaque projet de fans du dossier qui a provoqué une action utilisait les noms, les graphismes ou le code des jeux, ou renvoyait vers des jeux qui le faisaient.5678
  • L’apparence d’une mécanique est de l’expression, même quand la mécanique n’en est pas : un rebord peut être une bordure de pierre, une étoile peut être votre propre étoile, les couleurs d’une carte peuvent suivre votre propre séquence. Nommez ce à quoi chaque élément ne doit pas ressembler avant de le dessiner.
  • Gardez un vocabulaire à vous. Trainer Card, Safari Zone, Secret Base et les autres marquent un produit comme dérivé ; les descriptions de boutique des jeux hommages se passent même du nom de la série.31

Si vous construisez le moteur

  • Comptez les pas dans le monde, pas sur la personne : un déplacement d’une tuile validé par le serveur, jamais Core Motion ni HealthKit pour une décoration.8684
  • Calculez la journée à l’arrivée à partir d’une clé de jour (startOfDay(for:), isDate(_:inSameDayAs:)), réarmez sur NSCalendarDayChanged, et ne laissez rien tourner en arrière-plan ; c’est le UpdatePerDay d’Émeraude en Swift.87888922
  • Faites tourner tout ce qui est partagé sur l’horloge du serveur et tout ce qui est privé et cosmétique sur celle du téléphone.
  • Ne livrez jamais de code ni de données issus d’une décompilation ; lisez-la, mesurez-la, citez-la.

Si vous concevez la boucle

  • Payez la marche sur une cadence large (de 128 à 512 pas), dépensez les budgets en pas et non en secondes, et faites qu’une absence coûte peu : les baies mûres d’Émeraude attendent quatre durées de stade avant de tomber, et seule une très longue absence supprime l’arbre.1214153
  • Donnez à la semaine des jours nommés avec au plus un rendez-vous chacun, et gardez une pièce sûre où rien ne change.192122
  • Quatre étoiles, quatre manières de jouer, aucune à vendre ; comptez les participations, pas les séries ininterrompues, quand vos joueurs sont des enfants ; et aucun cosmétique au hasard ni contre la montre.2336
  • Laissez les mondes des autres arriver dans le vôtre : une formule dotée d’un score, d’une dérive et d’une règle de contact voyage quand les joueurs se rencontrent, sans rien à annoncer.426
  • Lisez étape par étape les revendications de brevets de votre genre, notez quelles étapes votre conception accomplit (déplacer un personnage par des entrées en est une ici), et écartez les étapes qui font de chaque revendication ce qu’elle est ; puis dites clairement quels brevets vous avez lus. C’est ma lecture, pas un conseil juridique.11121361

Questions fréquentes

Peut-on faire un jeu inspiré de Pokémon sans être poursuivi ?

Personne ne peut le promettre, et ceci n’est pas un conseil juridique. Le dossier est toutefois cohérent : les projets de fans de ce dossier qui ont fait l’objet de retraits entre 2016 et 2024 utilisaient les noms, les graphismes ou le code de Pokémon, ou renvoyaient vers des jeux qui le faisaient, et la seule affaire qui porte sur des mécaniques, Palworld, s’appuie sur des brevets dont les revendications exigent des étapes précises, comme viser et lancer un objet de capture.567810 Le droit d’auteur ne protège pas les systèmes ni les méthodes de fonctionnement, mais la marque protège les noms et un brevet peut revendiquer une méthode de jeu.4411 Des jeux hommages comme Coromon, Temtem et Cassette Beasts proposent le genre avec leurs propres graphismes, et les descriptions courtes et longues de leurs pages Steam, les champs rédigés par les développeurs que j’ai comptés, n’utilisent jamais le nom ; la page de Temtem le porte une fois, dans une citation de presse.31

Pokémon Uranium a-t-il reçu une mise en demeure ?

Pas selon ses développeurs. Leur déclaration, rapportée par Kotaku le 13 août 2016, dit qu’après plus de 1 500 000 téléchargements ils avaient « been notified of multiple takedown notices from lawyers representing Nintendo of America » (été informés de plusieurs avis de retrait émanant d’avocats représentant Nintendo of America), et que « we have not personally been contacted » (nous n’avons pas été contactés personnellement) ; ils ont retiré eux-mêmes les liens de téléchargement.5 Pokémon Prism, lui, en a bien reçu une, le 21 décembre 2016, quatre jours avant sa sortie prévue.665

Sur quels brevets Nintendo et The Pokémon Company poursuivent-ils Palworld ?

Trois brevets japonais, nommés dans le rapport de Pocketpair du 8 novembre 2024 : le n° 7545191 (viser et lancer un objet de capture, ou un personnage de combat, depuis une posture préparée, l’objet ou le personnage étant choisi avec un second bouton), le n° 7493117 (un indicateur de la probabilité de réussite d’une capture) et le n° 7528390 (chevaucher des personnages possédés, y compris monter sur un personnage volant en plein vol). Les trois ont été déposés en 2024, après la sortie de Palworld, comme demandes divisionnaires dont la priorité remonte à des demandes déposées le 22 décembre 2021.1072111213 Un brevet américain, 12,403,397, portant sur un personnage secondaire invoqué qui combat selon deux modes, est en réexamen, et aucune action américaine contre Pocketpair n’a été signalée.6179

Le procès Palworld est-il terminé ?

Pas au 4 octobre 2026. Automaton a rapporté en juin 2026, à partir de pièces du tribunal de district de Tokyo, que les demandeurs avaient restreint leurs demandes en novembre 2025 aux anciennes versions de Palworld tout en réclamant toujours une injonction, avec une séance d’explications techniques prévue le 1er octobre 2026 et l’avis préliminaire du tribunal le 9 novembre 2026. Aucun jugement, aucune transaction ni aucune injonction n’ont été signalés, et Pocketpair n’a rien publié sur la plainte depuis le 8 mai 2025.2930

Nintendo autorise-t-il les jeux de fans ?

Je n’ai trouvé aucune règle publiée par Nintendo ou Pokémon qui couvre les jeux de fans. Les règles de Nintendo sur le contenu de jeu couvrent les séquences de jeu et les captures d’écran et disent que tout autre usage de sa propriété intellectuelle « is subject to the relevant laws of the applicable jurisdiction » (relève des lois applicables de la juridiction concernée) ; les règles du site japonais de The Pokémon Company concèdent les œuvres dérivées en retour à l’entreprise et ne concèdent rien à leurs auteurs au-delà d’un usage personnel.8160 Selon ma lecture, il n’existe aucun refuge, seulement une marge d’appréciation dans l’application ; l’ancien directeur juridique de l’entreprise a dit que le déclencheur était la presse, puis le financement.67

Comment fonctionnait le podomètre dans les anciens jeux Pokémon ?

Chaque pas sur la carte du monde passe par une routine. Dans Or, Argent et Cristal, elle rapproche les œufs de l’équipe de l’éclosion tous les 256 pas, augmente le bonheur de l’équipe tous les 512 (sa routine de bonheur est appelée tous les 256 pas et n’agit qu’un appel sur deux), blesse un Pokémon empoisonné tous les 4, et fait appeler le patron du magasin de vélos après 1 024 pas à vélo ; dans Émeraude, tous les 128 pas, chaque Pokémon de l’équipe a 50 pour cent de chances de gagner de l’amitié, et les œufs perdent un cycle tous les 256, dans l’ordre de l’équipe jusqu’au premier œuf prêt à éclore. Le Parc Safari (500 pas) et les Repousse (100, 200 et 250) sont des budgets qui se dépensent en marchant.121415411617

Qu’a changé l’horloge en temps réel d’Or et Argent ?

La journée a trois moments, le matin à partir de 4 h, le jour à partir de 10 h et la nuit à partir de 18 h ; le Concours de Capture d’Insectes a lieu le mardi, le jeudi et le samedi pendant 20 minutes ; le tirage du numéro chance est hebdomadaire, le vendredi ; 24 dresseurs peuvent chacun être appelés pour une revanche à un moment de la journée un jour de la semaine ; et 16 indicateurs quotidiens sont remis à zéro à minuit.1819214620 Émeraude a ajouté un calendrier par-dessus : des baies qui mettent de 4 à 96 heures à donner des fruits, et une phrase tendance qui dérive de 5 points par jour.34

À lire aussi sur ce site : Des mondes en pixel art sur iPhone est le premier guide de cette série, avec les systèmes de tuiles, la palette et la recette RealityKit avec laquelle la ville est dessinée, et sa FAQ juridique est la version courte des sections 7 à 10 ici ; Les structures en pixel art a construit les maisons de la ville, le hall et les chambres où se tiendrait la plante, et range le rebord à sens unique parmi ce que la ville n’a pas encore ; Les personnages en pixel art est le collectionneur qui parcourrait les 256 pas, avec les règles sur les cosmétiques et les enfants sur lesquelles repose le passage, à l’élément 3, d’une série à des jours différents.

Sources


  1. pret, pokecrystal/engine/overworld/events.asm au commit 5beda23 (CountStep à partir de la ligne 877 : DoRepelStep, wStepCount, les commentaires « Every 256 steps, increase the happiness of all your Pokemon, » « Every 256 steps, offset from the happiness incrementor by 128 steps » avec cp $80, « Every 4 steps, deal damage to all poisoned Pokemon » ; le pas d’expérience de la Pension ; DoBikeStep à partir de la ligne 1279 avec cp HIGH(1024) et le plafond de 65 535), https://github.com/pret/pokecrystal/blob/master/engine/overworld/events.asm. Constantes et lignes affichées par measure_systems.py dans le dossier de preuves de l’auteur pour cet article (sortie measure_systems.out.txt), exécuté le 4 octobre 2026 ; les descriptions de comportement sont la lecture du code par l’auteur. ↩↩↩↩↩↩↩↩↩↩↩

  2. pret, pokecrystal/engine/events/happiness_egg.asm au commit 5beda23 (StepHappiness à la ligne 107 ; son commentaire « Raise the party’s happiness by 1 point every other step cycle » à la ligne 108 ; ld hl, wHappinessStepCount, inc a, and 1, ld [hl], a, ret nz aux lignes 110 à 115 ; œufs ignorés avec cp EGG), https://github.com/pret/pokecrystal/blob/master/engine/events/happiness_egg.asm, appelé par CountStep dans engine/overworld/events.asm chaque fois que le wStepCount d’un octet repart à zéro. Lignes affichées par measure_systems.py, sortie measure_systems.out.txt, réexécuté le 4 octobre 2026 ; que le bonheur monte tous les 512 pas est la lecture de cette bascule par l’auteur. ↩↩↩↩↩↩↩↩

  3. pret, pokeemerald/src/berry.c au commit 731ad5b (BerryTreeTimeUpdate, le test de suppression * 71 à la ligne 1089, minutesUntilNextStage *= 4 aux lignes 1109 et 1127, la remise à zéro après 10 repousses à la ligne 1071, GetStageDurationByBerryType renvoyant stageDuration * 60 à la ligne 1252, CalcBerryYieldInternal ; BerryTreeGrow aux lignes 1064 à 1072, où la fin du stade des baies fixe berryYield = 0 et ramène le stade à BERRY_STAGE_SPROUTED ; les valeurs de stageDuration des 43 baies) et pokeemerald/src/clock.c (UpdatePerMinute), https://github.com/pret/pokeemerald/blob/master/src/berry.c. Les décomptes par durée de stade (1 heure : 5, 3 : 12, 4 : 1, 6 : 11, 12 : 1, 18 : 5, 24 : 8) et les heures jusqu’aux premières baies sont dérivés par measure_systems.py, sortie measure_systems.out.txt, 4 octobre 2026. ↩↩↩↩↩↩↩↩↩↩↩

  4. pret, pokeemerald/src/dewford_trend.c au commit 731ad5b (le commentaire d’en-tête du fichier : tendance « Initialized as a random value between 30-127 inclusive, » les règles d’acceptation et de « boring », SAVED_TRENDS_COUNT (5), la règle du record mixing ; UpdateDewfordTrendPerDay avec clockRand = days * 5 à la ligne 96 ; SeedTrendRng, lignes 369 à 383, qui tire Random() % 98 et ajoute 30 ; TrySetTrendyPhrase à partir de la ligne 151, dont la branche de première soumission, lignes 158 à 169, fixe les mots sans comparaison quand la sauvegarde n’a jamais changé la tendance ni mélangé ses données, et dont la comparaison à la ligne 181 utilise CompareTrends en SORT_MODE_NORMAL, lignes 332 à 337 et 366 : la tendance, puis la tendance maximale, puis Random() & 1 en cas d’égalité complète), https://github.com/pret/pokeemerald/blob/master/src/dewford_trend.c, et include/global.h au même commit (trendiness:7 et maxTrendiness:7 aux lignes 643 et 644, si bien que le score ne peut dépasser 127). Lignes affichées par measure_systems.py. ↩↩↩↩↩↩↩↩↩↩↩

  5. Jason Schreier, « Pokémon Uranium Creators Pull Game After A Reported 1.5 Million Downloads », Kotaku, 13 août 2016 (la date de la page ; 20 h 34 heure de l’Est, soit le 14 août en UTC), avec la déclaration complète des développeurs, consulté le 4 octobre 2026, https://kotaku.com/pokemon-uranium-creators-pull-game-after-1-5-million-do-1785258831. ↩↩↩↩↩↩↩↩

  6. Heather Alexandra, « Pirates Leak Pokémon Prism After Nintendo Shuts It Down », Kotaku, 29 décembre 2016 (la mise en demeure du 21 décembre, la sortie prévue à Noël, Pokémon Brown et Rijon Adventures retirés), consulté le 4 octobre 2026, https://kotaku.com/pirates-leak-pokemon-prism-after-nintendo-shuts-it-down-1790598623. ↩↩↩↩↩↩↩

  7. Cohen Coberly, « Nintendo slaps fan game creation tool ‘Pokemon Essentials’ with DMCA takedown », TechSpot, 29 août 2018, à la suite d’Ars Technica (la conformité de Fandom, les téléchargements retirés de PokéCommunity, la citation sur les ressources), consulté le 4 octobre 2026, https://www.techspot.com/news/76202-nintendo-slaps-fan-game-creation-tool-pokemon-essentials.html. ↩↩↩↩↩

  8. Catherine Lewis, GamesRadar+, « After almost 10 years, unofficial Pokemon website known for sharing fan-made games shuts down after reportedly receiving a DMCA takedown notice », 22 mars 2024 (la déclaration de Relic Castle ; des liens plutôt qu’un hébergement ; l’expéditeur non confirmé), consulté le 4 octobre 2026, https://www.gamesradar.com/after-almost-10-years-unofficial-pokemon-website-known-for-sharing-fan-made-games-shuts-down-after-reportedly-receiving-a-dmca-takedown-notice/. ↩↩↩↩↩↩

  9. Nintendo Co., Ltd. et The Pokémon Company, « Filing Lawsuit for Infringement of Patent Rights against Pocketpair, Inc. », communiqué conjoint, 19 septembre 2024 (déposée devant le tribunal de district de Tokyo le 18 septembre 2024 ; injonction et dommages et intérêts), consulté le 4 octobre 2026, https://www.nintendo.co.jp/corporate/release/en/2024/240919.html. ↩↩

  10. Pocketpair, « Report on Patent Infringement Lawsuit », avis important, 8 novembre 2024 (la sortie de Palworld le 19 janvier 2024 ; les brevets n° 7545191, 7493117 et 7528390 avec leurs dates de dépôt et d’enregistrement ; l’injonction et 5 millions de yens plus des intérêts de retard pour chaque demandeur), consulté le 4 octobre 2026, https://www.pocketpair.jp/en/news/report-on-patent-infringement-lawsuit/. ↩↩↩↩↩↩

  11. Google Patents, JP7493117B2, « Game program, game system, game device, and game processing method » (titulaires Nintendo Co., Ltd. et The Pokémon Company ; demande datée du 26 février 2024 ; le tableau des priorités donne une date de priorité au 22 décembre 2021, le tableau des demandes revendiquant la priorité indique que JP2021208275A, déposée ce jour-là, est devenue JP7398425B2, et la liste des publications indique JP7398425B2 publiée le 14 décembre 2023), revendication 1 dans la traduction automatique du japonais par Google, enregistrée le 4 octobre 2026 et extraite par measure_patent_claims.py (sortie measure_patent_claims.out.txt) dans le dossier de preuves de l’auteur pour cet article, https://patents.google.com/patent/JP7493117B2/en. Le texte japonais fait foi. ↩↩↩↩↩↩↩↩↩↩

  12. Google Patents, JP7545191B1, « Game program, game system, game device, and game processing method » (titulaires Nintendo Co., Ltd. et The Pokémon Company ; demande datée du 30 juillet 2024 ; date de priorité au 22 décembre 2021, par sa demande parente JP2024031879A, une division de la même famille que JP2021208275A, déposée le 22 décembre 2021 et publiée sous JP7398425B2 le 14 décembre 2023), revendication 1 dans la traduction automatique de Google, enregistrée le 4 octobre 2026 et extraite par measure_patent_claims.py, https://patents.google.com/patent/JP7545191B1/en. Le texte japonais fait foi. ↩↩↩↩↩↩↩↩

  13. Google Patents, JP7528390B2, « Game program, game system, information processing device, and information processing method » (titulaires Nintendo Co., Ltd. et The Pokémon Company ; demande datée du 5 mars 2024 ; date de priorité au 22 décembre 2021, dans la famille de JP2021208276A, déposée ce jour-là et publiée sous JP7349486B2 le 22 septembre 2023), revendication 1 dans la traduction automatique de Google, enregistrée le 4 octobre 2026 et extraite par measure_patent_claims.py, https://patents.google.com/patent/JP7528390B2/en. Le texte japonais fait foi. ↩↩↩↩↩↩↩↩

  14. pret, pokeemerald/src/field_control_avatar.c au commit 731ad5b (TryStartStepCountScript, lignes 543 à 604, y compris ShouldDoBrailleRegicePuzzle à la ligne 565 avec IslandCave_EventScript_OpenRegiEntrance et les cinq vérifications ShouldDo...Call aux lignes 570 à 590 ; (*ptr) %= 128 à la ligne 620 pour l’amitié ; (*ptr) %= 4 à la ligne 645 pour le poison, ignoré dans les Bases Secrètes), https://github.com/pret/pokeemerald/blob/master/src/field_control_avatar.c. Lignes affichées par measure_systems.py. ↩↩↩↩↩↩↩↩

  15. pret, pokeemerald/src/pokemon.c au commit 731ad5b (AdjustFriendship à partir de la ligne 5914 ; œufs exclus par species != SPECIES_EGG ; pour FRIENDSHIP_EVENT_WALKING, le commentaire « 50% chance every 128 steps » et if (Random() & 1) return; aux lignes 5950 à 5952 ; le modificateur de marche { 1, 1, 1} à la ligne 2100), https://github.com/pret/pokeemerald/blob/master/src/pokemon.c, et src/field_control_avatar.c (UpdateFriendshipStepCounter, qui appelle AdjustFriendship(mon, FRIENDSHIP_EVENT_WALKING) pour chaque emplacement de l’équipe aux lignes 624 à 626). Lignes affichées par measure_systems.py, réexécuté le 4 octobre 2026 ; la moyenne d’une fois tous les 256 pas est dérivée du tirage à 50 pour cent sur une cadence de 128 pas. ↩↩↩↩↩↩

  16. pret, pokered/scripts/SafariZoneGate.asm au commit d2704a6 (30 Balls à la ligne 186, HIGH(502)/LOW(502) aux lignes 188 et 190, le texte de 500 ¥ à la ligne 214, puis ld a, PAD_UP, ld c, 3 et call SafariZoneEntranceAutoWalk aux lignes 192 à 194 et SetEvent EVENT_IN_SAFARI_ZONE à la ligne 195 ; le compteur de pas lui-même est décrémenté dans engine/events/hidden_events/safari_game.asm, non émulé ici), https://github.com/pret/pokered/blob/master/scripts/SafariZoneGate.asm, et pokeemerald/src/safari_zone.c à 731ad5b (sSafariZoneStepCounter = 500 à la ligne 61), https://github.com/pret/pokeemerald/blob/master/src/safari_zone.c. Lignes affichées par measure_systems.py. ↩↩↩↩↩

  17. pret, pokered/engine/items/item_effects.asm à d2704a6 (ItemUseRepel ld b, 100, ItemUseSuperRepel ld b, 200, ItemUseMaxRepel ld b, 250), https://github.com/pret/pokered/blob/master/engine/items/item_effects.asm, et pokeemerald/src/data/items.h à 731ad5b (holdEffectParam 100, 200, 250), https://github.com/pret/pokeemerald/blob/master/src/data/items.h. Lignes affichées par measure_systems.py. ↩↩↩↩↩

  18. pret, pokecrystal/constants/misc_constants.asm à 5beda23 (MORN_HOUR 4, DAY_HOUR 10, NITE_HOUR 18, lignes 36 à 38) et pokecrystal/engine/rtc/rtc.asm (la table TimesOfDay et son commentaire à la ligne 50 ; la table inutilisée BetaTimesOfDay), https://github.com/pret/pokecrystal/blob/master/constants/misc_constants.asm et https://github.com/pret/pokecrystal/blob/master/engine/rtc/rtc.asm. Lignes affichées par measure_systems.py. ↩↩↩↩

  19. pret, pokecrystal/maps/Route35NationalParkGate.asm à 5beda23 (les vérifications du mardi, du jeudi et du samedi, lignes 38 à 40) et pokecrystal/constants/script_constants.asm (BUG_CONTEST_BALLS 20, BUG_CONTEST_MINUTES 20, lignes 293 et 294), https://github.com/pret/pokecrystal/blob/master/maps/Route35NationalParkGate.asm. Lignes affichées par measure_systems.py. ↩↩↩↩↩↩↩

  20. pret, pokecrystal/constants/engine_flags.asm à 5beda23 (wDailyFlags1 et wDailyFlags2, 8 indicateurs chacun), https://github.com/pret/pokecrystal/blob/master/constants/engine_flags.asm. Comptés par measure_systems.py. ↩↩↩↩

  21. pret, pokecrystal/engine/overworld/time.asm à 5beda23 (.GetDaysUntilNextFriday, ligne 241) et pokecrystal/engine/events/lucky_number.asm (la comparaison avec l’ID de chaque Pokémon possédé et les trois niveaux de prix), https://github.com/pret/pokecrystal/blob/master/engine/events/lucky_number.asm. Lignes affichées par measure_systems.py ; les niveaux sont la lecture de la routine par l’auteur. ↩↩↩↩↩↩↩↩

  22. pret, pokeemerald/src/clock.c à 731ad5b (UpdatePerDay, qui lit le numéro de jour enregistré VAR_DAYS à la ligne 38, le compare à celui du jour à la ligne 41, calcule daysSince à la ligne 43, effectue onze appels avec lui aux lignes 44 à 54 et enregistre le jour courant à la ligne 55 ; deux d’entre eux sont UpdateFrontierManiac et UpdateFrontierGambler, et la garde !InPokemonCenter() à la ligne 28 précède les mises à jour quotidiennes et par minute), https://github.com/pret/pokeemerald/blob/master/src/clock.c. Lignes affichées par measure_systems.py. ↩↩↩↩↩↩↩↩↩↩

  23. pret, pokeemerald/src/trainer_card.c à 731ad5b (les palettes des cartes de Hoenn et de Kanto selon le nombre d’étoiles, lignes 267 à 280 ; CountPlayerTrainerStars, lignes 663 à 677 ; GetRubyTrainerStars, lignes 679 à 692, pour une carte de Rubis ou de Saphir : l’heure de la première entrée au Hall of Fame, caughtAllHoenn, battleTowerStraightWins > 49 à la ligne 687 et hasAllPaintings ; les plafonds de 9 999 et 999 aux lignes 711 à 743), https://github.com/pret/pokeemerald/blob/master/src/trainer_card.c. Lignes affichées par measure_systems.py ; Rubis et Saphir ne figurent pas parmi les clones, leur règle est donc lue dans ce code qui interprète leurs cartes. ↩↩↩↩↩↩↩↩↩

  24. pret, pokered/constants/pokemon_data_constants.asm (MONS_PER_BOX 20, NUM_BOXES 12), pokecrystal/constants/pokemon_data_constants.asm (MONS_PER_BOX 20, MONS_PER_BOX_JP 30, NUM_BOXES 14) et pokeemerald/include/pokemon_storage_system.h (TOTAL_BOXES_COUNT 14, IN_BOX_ROWS 5, IN_BOX_COLUMNS 6, noms et fonds des boîtes), https://github.com/pret/pokeemerald/blob/master/include/pokemon_storage_system.h. Lignes affichées par measure_systems.py. ↩↩↩

  25. pret, pokeemerald/include/constants/battle_frontier.h à 731ad5b (MAX_STREAK 9999, FRONTIER_STAGES_PER_CHALLENGE 7) et pokeemerald/src/frontier_util.c (la table des séries des Frontier Brains, lignes 88 à 94, dont la quatrième colonne est le modificateur ; GetFrontierBrainStatus, lignes 1656 à 1693, avec winStreakNoModifier + sFrontierBrainStreakAppearances[facility][3] à la ligne 1662 et la comparaison à la ligne 1674 ; IncrementWinStreak à partir de la ligne 2111). Ce que compte chaque série est lu dans les scripts des installations au même commit : les salles de combat de la Tower, du Palace, de l’Arena et de la Factory appellent BattleFrontier_EventScript_IncrementWinStreak après chaque adversaire vaincu et terminent le défi quand le nombre de combats atteint 7 (case 7 dans le scripts.inc de chaque salle : Tower ligne 51, Palace ligne 70, Arena ligne 107, Factory ligne 104) ; la Pyramid l’appelle dans BattlePyramid_WarpToNextFloor (data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc, ligne 88), qui envoie le joueur au sommet après l’étage 7 (ligne 93) ; le Dome l’appelle une fois par tournoi gagné, dans BattleFrontier_BattleDomeLobby_EventScript_WonChallenge (data/maps/BattleFrontier_BattleDomeLobby/scripts.inc, lignes 44 et 45), et IncrementWinStreak (src/frontier_util.c, lignes 2130 à 2134) augmente à la fois domeWinStreaks et domeTotalChampionships ; un tournoi compte DOME_ROUNDS_COUNT 4 manches (include/constants/battle_dome.h, ligne 8). (IncrementDomeStreaks dans src/battle_dome.c ferait la même chose, mais sa macro, dome_incrementstreaks, n’est utilisée nulle part dans data/.) include/constants/battle_pike.h fixe NUM_PIKE_ROOMS 14 à la ligne 4 et liste neuf types de salles, dont des soins complets et partiels, une salle de statut et une salle avec un personnage non joueur, et src/battle_pike.c divise la série de la Pike par NUM_PIKE_ROOMS à la ligne 1401, https://github.com/pret/pokeemerald/blob/master/src/frontier_util.c. Lignes affichées par measure_systems.py. ↩↩↩↩↩↩

  26. pret, pokeemerald/src/record_mixing.c à 731ad5b (la structure de l’enregistrement mélangé, lignes 67 à 78, se terminant au décalage 0x1434 plus 16 octets de remplissage, 0x1444 octets en tout), https://github.com/pret/pokeemerald/blob/master/src/record_mixing.c. Lignes affichées par measure_systems.py. ↩↩↩↩↩↩

  27. pret, pokeemerald/include/constants/tv.h à 731ad5b (POKENEWS_COUNTDOWN 4, NUM_NORMAL_TVSHOW_SLOTS 5, TV_SHOWS_COUNT de 5 plus 20 ; les types d’émissions, comptés par measure_systems.py comme 11 normales, 19 réservées au record mixing et 1 d’apparition massive ; NUM_CUTIES_RIBBONS 4 à la ligne 84, la constante à laquelle se comparent les appelants de Spot the Cuties), https://github.com/pret/pokeemerald/blob/master/include/constants/tv.h. ↩↩↩↩↩

  28. pret, pokeemerald/src/easy_chat.c à 731ad5b (le commentaire sur les Trendy Sayings aux lignes 5429 à 5436), pokeemerald/include/constants/easy_chat.h (NUM_TRENDY_SAYINGS 33), pokeemerald/src/mauville_old_man.c ((trainerId % 10) / 2, ligne 120) et pokeemerald/include/constants/mauville_old_man.h (les cinq variantes), https://github.com/pret/pokeemerald/blob/master/src/easy_chat.c et https://github.com/pret/pokeemerald/blob/master/src/mauville_old_man.c. Lignes affichées par measure_systems.py. ↩↩↩↩↩↩↩

  29. Automaton West, « Nintendo and The Pokémon Company have reportedly narrowed Palworld lawsuit to older versions of the game only, likely thanks to ‘preventive’ updates by Pocketpair », 12 juin 2026 (pièces du tribunal de district de Tokyo consultées par la rédaction japonaise d’Automaton, et Games Fray ; la modification de novembre 2025 ; l’injonction toujours demandée ; les dates du 1er octobre et du 9 novembre 2026 ; le lancement annoncé du 10 juillet), consulté le 4 octobre 2026, https://automaton-media.com/en/news/nintendo-and-the-pokemon-company-have-reportedly-narrowed-palworld-lawsuit-to-older-versions-of-the-game-only-likely-thanks-to-preventive-updates-by-pocketpair/. ↩↩↩↩↩↩

  30. Pocketpair, liste des avis importants, consultée le 4 octobre 2026 (le dernier avis daté du 12 janvier 2026, sur un jeu de cartes ; le dernier sur la plainte daté du 8 mai 2025), https://www.pocketpair.jp/en/news/category/important-en/. L’absence de compte rendu est ce que l’auteur a pu trouver, pas une preuve. ↩↩↩

  31. Décompte de l’auteur, 4 octobre 2026 : figures/steam_names.py à côté du brouillon, sur les sept fiches app details de Steam enregistrées dans le dossier de preuves de l’auteur pour cet article (steam_*.html ; Coromon 1218210, Nexomon: Extinction 1196630, Cassette Beasts 1321440, Temtem 745920, Monster Sanctuary 814370, Moonstone Island 1658150, Palworld 1623730), en comptant « Pokémon » ou « Pokemon » champ par champ : zéro dans chaque description courte et longue ; un dans le champ reviews de Temtem, une citation de Rock Paper Shotgun. Sortie figures/steam_names.out.txt. ↩↩↩↩↩↩↩

  32. Nintendo Life, « ‘The Single Best Game Concept Ever’ - Pokémon-Inspired Devs Talk The Series That Started It All », 2 mars 2026 (Andrades, JVemon, Pouwels, Spink, Coxon), consulté le 4 octobre 2026, https://www.nintendolife.com/features/the-single-best-game-concept-ever-pokemon-inspired-devs-talk-the-series-that-started-it-all. ↩↩

  33. Dossier de recherche de l’auteur, « Homage without borrowing », 4 octobre 2026, docs/research/homage/01-homage.md dans le dépôt de Kiradex : le cahier des charges dont est tirée la section 14 de cet article, le refus des rebords par la recherche sur les structures (sa section 8.8), les lignes de la recherche sur la collection concernant les objets payants aléatoires et les machines à sous, et la conception du serveur de la place, limité à la présence. Dépôt privé. ↩↩↩↩↩↩↩↩↩↩↩

  34. Blake Crosley, « Pixel-Art Worlds on iPhone: What the 16-Bit Masters Knew », blakecrosley.com, 3 octobre 2026, mis à jour le 4 octobre 2026 (les 58 couleurs de la forge en quatorze rampes ; la FAQ juridique, corrigée le 4 octobre pour nommer le droit d’auteur et ajouter les brevets de Palworld), https://blakecrosley.com/blog/pixel-art-world-on-iphone. ↩↩↩↩↩

  35. Blake Crosley, « Pixel-Art Structures: Houses, Halls and Interiors on iPhone », blakecrosley.com, 3 octobre 2026 (les chambres, le hall, et « a one-way ledge » parmi ce que la ville n’a pas), https://blakecrosley.com/blog/pixel-art-structures-on-iphone. ↩↩↩↩

  36. Blake Crosley, « Pixel-Art People: Characters and a Creator on iPhone », blakecrosley.com, 3 octobre 2026 (les classifications de PEGI pour les objets aléatoires payants et les séries de connexion qui expirent depuis juin 2026 ; sa règle selon laquelle chaque cosmétique est « purely visual, never random, never on a countdown »), https://blakecrosley.com/blog/pixel-art-characters-on-iphone. ↩↩↩↩↩↩↩↩

  37. Application de l’auteur, dépôt de Kiradex au commit b1b78b1 (4 octobre 2026), docs/WORLD.md section 1, « Can this exist without being sued » (les règles de Kiradex World, la ligne de description nominative, les images de cartes réservées à l’identification, et l’ancienne formulation sur Uranium que cet article corrige), section 2 (la conception pensée pour collecter le moins possible, lignes 146 à 149) et le paragraphe sur les données de la section 3 (le serveur repéré par l’identifiant de joueur Game Center, un identifiant persistant que la COPPA considère comme une information personnelle lorsqu’il est combiné à d’autres données, une politique de confidentialité, aucune analyse ni publicité tierce, la suppression sur demande, lignes 199 à 206). Dépôt privé. ↩↩↩↩↩↩↩↩

  38. Mesure de l’auteur, 4 octobre 2026, étendue le 5 octobre 2026 pour afficher chaque ligne citée par les notes : measure_systems.py dans le dossier de preuves de l’auteur pour cet article, exécuté sur des clones superficiels de pokered (d2704a6), pokecrystal (5beda23), pokeemerald (731ad5b) et pokefirered (037335f) de pret, des commits de la branche master datés respectivement du 22 septembre, du 29 septembre, du 1er octobre et du 26 septembre 2026 (git show -s dans chaque clone) ; il affiche chaque constante avec son fichier et sa ligne et dérive les décomptes, sortie measure_systems.out.txt. Les README des dépôts listent le SHA-1 de chaque ROM qu’ils construisent, par exemple https://github.com/pret/pokeemerald/blob/master/README.md. ↩↩

  39. Mesure de l’auteur, 4 octobre 2026 : measure_map_features.py dans le dossier de preuves de l’auteur pour cet article, sur chaque data/maps/*/map.json du pokeemerald de pret à 731ad5b, résolvant le map.bin de chaque disposition unique dans ses metatile_attributes.bin primaire et secondaire (rebords MB_JUMP_* ; réservés au Vélo Course MB_MUDDY_SLOPE et MB_CRACKED_FLOOR ; réservés au Vélo Cross, rails et MB_BUMPY_SLOPE ; MB_TALL_GRASS) et comptant les objets OBJ_EVENT_GFX_CUTTABLE_TREE sur toutes les cartes ; réexécuté pour cet article, sortie enregistrée sous figures/measure_map_features.out.txt à côté du brouillon. Des cellules, pas des éléments ; dispositions partagées comptées une fois. ↩↩↩↩↩↩↩↩↩

  40. pret, pokecrystal/engine/overworld/events.asm au commit 5beda23 (les lignes de commentaire « decrease the hatch counter of all your eggs until you reach the first » et « one that is ready to hatch » aux lignes 892 et 893 ; farcall DoEggStep et jr nz, .hatch aux lignes 898 et 899 ; .hatch charge PLAYEREVENT_HATCH à la ligne 928, qui exécute HatchEggScript, l’étiquette de la ligne 999 avec son callasm OverworldHatchEgg à la ligne 1000) et pokecrystal/engine/pokemon/breeding.asm au même commit (DoEggStep à partir de la ligne 174 : il parcourt wPartySpecies dans l’ordre, ignore tout ce qui n’est pas un EGG, et sur un œuf exécute dec [hl] à la ligne 185 et retourne avec un résultat non nul à la ligne 189 quand le compteur atteint 0), https://github.com/pret/pokecrystal/blob/master/engine/pokemon/breeding.asm. Que les œufs suivants attendent la cadence suivante est la lecture de ce retour anticipé par l’auteur. ↩

  41. pret, pokeemerald/src/daycare.c à 731ad5b ((daycare->mons[1].steps & 0xFF) == 0xFF à la ligne 890 ; ++daycare->stepCounter == 255 à la ligne 898 ; GetEggCyclesToSubtract ; la boucle sur l’équipe à partir de la ligne 903, qui ignore MON_DATA_SANITY_IS_BAD_EGG à la ligne 907, ne soustrait que lorsque eggCycles != 0 à la ligne 911 et sinon fixe gSpecialVar_0x8004 = i à la ligne 922 et retourne à la ligne 923, si bien que la boucle s’arrête à cet œuf ; ShouldEggHatch lance ensuite EventScript_EggHatch dans src/field_control_avatar.c aux lignes 554 à 557), https://github.com/pret/pokeemerald/blob/master/src/daycare.c. Lignes affichées par measure_systems.py. ↩↩↩

  42. pret, pokeemerald/src/battle_setup.c à 731ad5b (STEP_COUNTER_MAX 255 à la ligne 1792, HasAtLeastFiveBadges() à la ligne 1796), https://github.com/pret/pokeemerald/blob/master/src/battle_setup.c, et pokefirered/src/vs_seeker.c à 037335f (vsSeekerChargeSteps == 100 à la ligne 855), https://github.com/pret/pokefirered/blob/master/src/vs_seeker.c. Lignes affichées par measure_systems.py. ↩↩

  43. Figures de l’auteur, tracées le 4 octobre 2026 (la note juridique de la matrice des revendications retracée le 5 octobre 2026) par figures/figures.py à côté du brouillon à partir de measure_systems.out.txt, measure_map_features.out.txt, measure_patent_claims.out.txt, la page du brevet américain enregistrée, les pages datées du dossier citées dans les sections 8 et 9, et Kiradex/World/Daylight.swift ; le script relit et vérifie les valeurs sources avant de tracer. Aucun graphisme de jeu, aucun logo. ↩↩↩↩↩↩

  44. U.S. Copyright Office, Circular 33: Works Not Protected by Copyright, https://www.copyright.gov/circs/circ33.pdf, tel que cité dans le premier article de cette série (sa note 19, consultée le 2 octobre 2026). ↩↩↩↩

  45. Application de l’auteur, dépôt de Kiradex au commit b1b78b1 : Kiradex/World/Daylight.swift (Phase.init(hour:) : case 6..<9: self = .morning, 9..<17 jour, 17..<20 soir, sinon nuit ; Daylight.forcedHour, qui lit l’argument de lancement -plazaHour, aux lignes 100 à 105), Kiradex/World/PlazaStage.swift (daylight(at:), qui utilise Daylight.forcedHour quand il est défini, à la ligne 58) et KiradexUITests/KiradexUITests.swift (une marche lancée avec -plazaHour 21). Dépôt privé. ↩↩↩↩↩

  46. pret, pokecrystal/constants/phone_constants.asm à 5beda23 (CONTACT_LIST_SIZE 10) et pokecrystal/constants/engine_flags.asm (wDailyRematchFlags 24, wDailyPhoneItemFlags 10, wDailyPhoneTimeOfDayFlags 24 ; les fenêtres d’appel par jour de la semaine, lundi 3, mardi 3, mercredi 4, jeudi 4, vendredi 4, samedi 3, dimanche 3, et par moment de la journée, matin 9, après-midi 7, nuit 8, comptées par measure_systems.py), https://github.com/pret/pokecrystal/blob/master/constants/phone_constants.asm. ↩↩↩↩↩

  47. pret, pokeemerald/include/constants/flags.h à 731ad5b (les 12 indicateurs nommés FLAG_DAILY_*, dont 9 sont des baies offertes), https://github.com/pret/pokeemerald/blob/master/include/constants/flags.h. Listés par measure_systems.py. ↩

  48. pret, pokeemerald/include/constants/berry.h à 731ad5b (les constantes de stade aux lignes 20 à 26, BERRY_TREES_COUNT 128 à la ligne 130), https://github.com/pret/pokeemerald/blob/master/include/constants/berry.h. Lignes affichées par measure_systems.py. ↩

  49. Énumération de l’auteur, 5 octobre 2026 : enumerate_berry_yield.py dans le dossier de preuves de l’auteur pour cet article, qui affiche CalcBerryYieldInternal depuis src/berry.c de pokeemerald à 731ad5b (lignes 1210 à 1234 : return min quand rien n’a été arrosé ; sinon randMin + Random() % (randMax - randMin + 1) entre (max - min) * (water - 1) et (max - min) * water, divisé par NUM_WATER_STAGES (4) et arrondi au demi supérieur), lit les minYield et maxYield des 43 baies (de 1 à 2 pour 14 baies, de 2 à 3 pour 14, de 2 à 4 pour 5, de 2 à 6 pour 5, de 3 à 6 pour 5) et liste chaque rendement que peut donner chaque nombre de stades arrosés ; sortie enumerate_berry_yield.out.txt. ↩

  50. Serebii.net, « Pokéathlon » (Or HeartGold et Argent SoulSilver ; la manche de trois épreuves, le bonus de la première place, la boutique quotidienne et l’intitulé « Daily & Weekly Events »), consulté le 4 octobre 2026, https://www.serebii.net/heartgoldsoulsilver/pokeathlon.shtml. Source secondaire ; non mesuré. ↩

  51. pret, pokeemerald/src/tv.c à 731ad5b (TryStartRandomMassOutbreak, appelé depuis TryPutPokemonTodayOnAir à la ligne 1115, l’indicateur de fin de jeu à la ligne 1652 et la boucle sur les apparitions massives existantes aux lignes 1654 à 1657, qui tourne tant que i < LAST_TVSHOW_IDX, LAST_TVSHOW_IDX étant défini à la ligne 49 comme TV_SHOWS_COUNT - 1, si bien qu’elle vérifie les emplacements 0 à 23 sur 25 ; StartMassOutbreak à partir de la ligne 1563, qui fixe outbreakDaysLeft = 2 à la ligne 1578 et est appelé à la ligne 4906 par DoTVShowPokemonNewsMassOutbreak, le reportage sur l’apparition massive tel qu’il passe à la télévision ; UpdateTimeBeforeMassOutbreak, lignes 1716 à 1737, décompte daysBeforeOutbreak chaque jour, et GetRandomActiveShowIdx ne propose un reportage d’apparition massive au téléviseur que lorsqu’il atteint 0, ligne 800 ; rbernoulli(1, 200) à la ligne 1659, la vérification d’emplacement vide aux lignes 1661 et 1662, où FindFirstEmptyNormalTVShowSlot, à partir de la ligne 3118, ne cherche que dans les NUM_NORMAL_TVSHOW_SLOTS (5) premiers emplacements un emplacement qui n’est plus à l’antenne, probability = 50 à la ligne 1680, daysBeforeOutbreak = 1 à la ligne 1682), https://github.com/pret/pokeemerald/blob/master/src/tv.c, et src/battle_main.c (HandleEndTurn_FinishBattle à partir de la ligne 5098, qui ignore les combats link, link enregistrés, le premier combat, les combats Safari, e-Reader, le tutoriel de Timmy (Wally) et ceux de la Zone de Combat aux lignes 5102 à 5108 et appelle TryPutPokemonTodayOnAir à la ligne 5126). Lignes affichées par measure_systems.py. ↩↩↩

  52. pret, pokefirered/src/trainer_card.c à 037335f (les étoiles de la carte link : HasAllKantoMons() à la ligne 850, berriesPicked >= 200 && jumpsInRow >= 200 à la ligne 886), https://github.com/pret/pokefirered/blob/master/src/trainer_card.c. Lignes affichées par measure_systems.py. ↩

  53. pret, pokeemerald/include/constants/pokemon.h à 731ad5b (les identifiants de rubans à partir de CHAMPION_RIBBON à la ligne 100), https://github.com/pret/pokeemerald/blob/master/include/constants/pokemon.h. ↩

  54. pret, pokeemerald/src/field_specials.c à 731ad5b (if (GetRibbonCount(leadMon) > NUM_CUTIES_RIBBONS) à la ligne 1386, l’un des appelants ; les appelants liés aux concours, à la Battle Tower et à l’après-combat dans contest_util.c, battle_tower.c et post_battle_event_funcs.c utilisent le même test >) et src/tv.c (TryPutSpotTheCutiesOnAir à partir de la ligne 2253 : il lui faut un emplacement de record mixing vide et aucune émission Spot the Cuties déjà créée, ligne 2258, et il fixe show->cuties.active = FALSE avec le commentaire « NOTE: Show is not active until passed via Record Mix. » à la ligne 2262), https://github.com/pret/pokeemerald/blob/master/src/tv.c. ↩

  55. pret, pokeemerald/include/constants/coins.h à 731ad5b (MAX_COINS 9999), https://github.com/pret/pokeemerald/blob/master/include/constants/coins.h. ↩

  56. pret, pokeemerald/src/lottery_corner.c à 731ad5b (les quatre prix aux lignes 16 à 19 ; le commentaire « do not calculate ticket values for eggs » à la ligne 64 ; la règle de plus d’un chiffre aux lignes 70 et 94), https://github.com/pret/pokeemerald/blob/master/src/lottery_corner.c, avec FLAG_DAILY_PICKED_LOTO_TICKET dans include/constants/flags.h et SetRandomLotteryNumber dans src/clock.c. Lignes affichées par measure_systems.py. ↩↩

  57. pret, pokeemerald/src/bike.c à 731ad5b (sMachBikeSpeeds, la gestion des figures du Vélo Cross), https://github.com/pret/pokeemerald/blob/master/src/bike.c. ↩↩

  58. pret, pokeemerald/include/constants/global.h à 731ad5b (SECRET_BASES_COUNT 20, DECOR_MAX_SECRET_BASE 16, DECOR_MAX_PLAYERS_HOUSE 12), https://github.com/pret/pokeemerald/blob/master/include/constants/global.h. ↩↩

  59. pret, pokecrystal/engine/overworld/time.asm à 5beda23 (ReceiveCallDelays : db 20, 10, 5, 3 à la ligne 45, indexé par wTimeCyclesSinceLastCall, que CheckReceiveCallTimer augmente d’une unité, jusqu’à 3, chaque fois que le minuteur expire, lignes 47 à 59, et que InitCallReceiveDelay, lignes 12 à 14, remet à 0 ; Script_ReceivePhoneCall l’appelle après chaque appel, engine/phone/phone.asm ligne 431) et pokecrystal/engine/phone/phone.asm (le commentaire « 50% chance for a call » à la ligne 119 ; les vérifications du moment de la journée et de la couverture), https://github.com/pret/pokecrystal/blob/master/engine/phone/phone.asm. Lignes affichées par measure_systems.py. ↩↩↩

  60. The Pokémon Company, ポケットモンスターオフィシャルサイト, ご利用について (règles du site), le paragraphe sur les œuvres dérivées, le paragraphe sur les idées non sollicitées et la ligne sur les marques, consulté le 4 octobre 2026, https://www.pokemon.co.jp/rules/. Les traductions dans le texte sont de l’auteur. ↩↩↩↩↩↩

  61. Google Patents, US12403397B2, « Storage medium, information processing system, information processing apparatus, and game processing method » (titulaires Nintendo Co., Ltd. et The Pokémon Company ; déposé le 1er mars 2023 ; délivré le 2 septembre 2025), revendication 1, enregistrée le 4 octobre 2026, https://patents.google.com/patent/US12403397B2/en. ↩↩↩↩↩↩↩

  62. Warner-Jenkinson Co. v. Hilton Davis Chemical Co., 520 U.S. 17 (1997), le résumé (syllabus) du Reporter of Decisions publié par le Legal Information Institute de la Cornell Law School, enregistré le 5 octobre 2026 (la Cour « adheres to the doctrine of equivalents, » (s’en tient à la doctrine des équivalents) selon laquelle un produit ou un procédé qui ne contrefait pas littéralement « may nonetheless be found to infringe if there is ‘equivalence’ » (peut néanmoins être jugé contrefaisant s’il y a « équivalence ») entre ses éléments et les éléments revendiqués, et la doctrine s’applique « to each of the individual elements of a claim, rather than to the accused product or process as a whole » (à chacun des éléments individuels d’une revendication, plutôt qu’au produit ou au procédé incriminé pris dans son ensemble) ; le résumé est une synthèse, il ne fait pas partie de l’arrêt), https://www.law.cornell.edu/supct/html/95-728.ZS.html. ↩

  63. Cour suprême du Japon, troisième petite chambre, arrêt du 24 février 1998, affaire 1994 (O) No. 1083, l’affaire Ball Spline Bearing Device, dans la traduction anglaise que publie la Haute Cour de propriété intellectuelle dans sa liste de décisions importantes sur la doctrine des équivalents, enregistrée le 5 octobre 2026 (quand un produit diffère de la revendication sur un point, il est « regarded as identical with the construction as indicated in the scope of the patent claim » (considéré comme identique à la construction indiquée dans la revendication) si cinq conditions sont réunies, la première étant que « this part is not the essential part of the patented invention » (cette partie n’est pas la partie essentielle de l’invention brevetée) et la dernière qu’il n’existe pas de circonstances particulières, « such as the fact that the products had been intentionally excluded from the scope of the patent claim in the patent application process » (comme le fait que les produits aient été intentionnellement exclus de la portée de la revendication au cours de la procédure de demande)), https://www.courts.go.jp/ip/eng/assets/ip/eng/chizai_en/chizai_en-pdf-1640.pdf, en lien depuis https://www.courts.go.jp/ip/eng/hanrei/Important_IP_Judgment_by_Category/Patent/Doctrine_of_Equivalents/index.html. L’arrêt japonais fait foi. ↩

  64. Ana Diaz, « Pokémon Fangames Evolve Beyond Their Origins », Aftermath, 1er octobre 2026 (publié d’abord le 30 septembre 2026 par Fansplaining), consulté le 4 octobre 2026, https://aftermath.site/pokemon-fangames-fansplaining/. C’est la source dont le document sur le monde de l’application avait tiré sa phrase sur Uranium. ↩

  65. Nintendo Life, « Fan-Made Pokémon Prism Game Leaks Online After Nintendo Shutdown Notice », 30 décembre 2016 (la lettre du 21 décembre ; la sortie prévue le 25 décembre), consulté le 4 octobre 2026, https://www.nintendolife.com/news/2016/12/fan-made_pokemon_prism_game_leaks_online_after_nintendo_shutdown_notice. ↩↩

  66. Internet Archive, « Nintendo’s Cease and Desist to Pokémon Prism », mis en ligne par un tiers qui dit qu’un contributeur de Prism lui a envoyé le scan caviardé ; la description de l’auteur de l’envoi est partisane, et le scan n’a pas été lu pour cet article, https://archive.org/details/pokemon-prism-cease-desist. ↩

  67. Luke Plunkett, « Pokémon’s Former Chief Lawyer On Shutting Down Fan Games & Honeymoon Business Deals », Aftermath, 13 mars 2024 (un entretien « What I Do » avec Don McGowan), consulté le 4 octobre 2026, https://aftermath.site/pokemon-lawyer-cease-desist-fan-project-pikachu-movie/. ↩↩↩↩

  68. Chris Scullion, « Former Pokémon lawyer says fundraising and press coverage lead to fan project takedowns », Video Games Chronicle, 14 mars 2024, consulté le 4 octobre 2026, https://www.videogameschronicle.com/news/former-pokemon-lawyer-says-fundraising-and-press-coverage-lead-to-fan-project-takedowns/. ↩

  69. The National Law Review, « Guangdong Higher People’s Court: 107 Million RMB Settlement in Pokémon Copyright and Unfair Competition Case », 23 février 2025 (l’annonce du 21 février ; assignation en décembre 2021 ; 500 millions de RMB demandés ; le raisonnement de première instance), consulté le 4 octobre 2026, https://natlawreview.com/article/guangdong-higher-peoples-court-107-million-rmb-settlement-pokemon-copyright-and. ↩↩↩

  70. The Pokémon Company, 他社ゲームに関するお問い合わせについて, actualités de l’entreprise, 25 janvier 2024 (texte japonais avec la déclaration anglaise en dessous), consulté le 4 octobre 2026, https://corporate.pokemon.co.jp/media/news/detail/335.html. ↩↩

  71. Nintendo Life, « The Pokémon Company Releases Official Statement About Palworld », 25 janvier 2024, consulté le 4 octobre 2026, https://www.nintendolife.com/news/2024/01/the-pokemon-company-releases-official-statement-about-palworld. ↩

  72. GamesRadar+, « Palworld developer reveals the exact patents it’s alleged to have infringed upon in the Nintendo lawsuit, and they all have application dates after the survival game’s release », 8 novembre 2024 (la correspondance des trois brevets, via Automaton, Kiyoshi Kurihara et la Patent Attorney Corporation Siarasia ; le parent de décembre 2021), consulté le 4 octobre 2026, https://www.gamesradar.com/games/survival/palworld-developer-reveals-the-exact-patents-its-alleged-to-have-infringed-upon-in-the-nintendo-lawsuit-and-they-all-have-application-dates-after-the-survival-games-release/. ↩↩↩

  73. Extraction de l’auteur, 4 octobre 2026, réécrite le 5 octobre 2026 : measure_patent_claims.py dans le dossier de preuves de l’auteur pour cet article lit les pages Google Patents enregistrées pour le titre, les titulaires et les dates, et prend la revendication 1 en entier dans le conteneur de revendications de la page elle-même (<claim num="1"> sur les pages japonaises, CLM-00001 sur la page américaine), en affichant séparément l’original japonais et la traduction automatique anglaise de Google pour les trois brevets japonais, et l’original anglais pour le brevet américain, sans troncature ; sortie measure_patent_claims.out.txt. La première version aplatissait la section des revendications et la coupait à 3 000 caractères, et sa « revendication 1 » de JP 7545191 empiétait sur la revendication 2 ; elle est conservée à côté de la nouvelle. ↩↩

  74. Pocketpair, « Regarding the lawsuit, changes to Palworld and the future », avis important, 8 mai 2025 (le patch v0.3.11 du 30 novembre 2024 ; le patch v0.5.5 ; les changements « a result of the ongoing litigation »), consulté le 4 octobre 2026, https://www.pocketpair.jp/en/news/regarding-the-lawsuit-changes-to-palworld-and-the-future/. ↩↩

  75. Steam, app details de Palworld (app 1623730), date de sortie « 9 Jul, 2026 », récupérée via l’API de la boutique le 4 octobre 2026, https://store.steampowered.com/app/1623730/Palworld/. ↩

  76. Automaton West, « Nintendo patent tied to Palworld lawsuit stays rejected as JPO shuts down objections in unusually sharp-tongued notice », 22 juillet 2026 (la demande divisionnaire n° 2026-019762 ; la vidéo de Pokémon Generations de 2013 ; le raisonnement de l’examinateur sur l’activité inventive ; le délai de trois mois), consulté le 4 octobre 2026, https://automaton-media.com/en/news/nintendo-patent-central-to-palworld-lawsuit-stays-rejected-as-jpo-shuts-down-objections-in-unusually-sharp-tongued-notice/. ↩

  77. Engadget, « Nintendo’s patent on summoning fighting NPCs is being reexamined », 4 novembre 2025 (l’ordre du directeur ; la demande de Konami de 2002 et la publication de Nintendo citées comme art antérieur), consulté le 4 octobre 2026, https://www.engadget.com/gaming/nintendo/nintendos-patent-on-summoning-fighting-npcs-is-being-reexamined-180949135.html. ↩

  78. Claire Jackson, « US Patent Office Reexamining Controversial Pokemon Patent », Kotaku, 4 novembre 2025, consulté le 4 octobre 2026, https://kotaku.com/pokemon-patent-summoning-nintendo-palworld-monsters-2000641133. ↩

  79. Andrew H. Velzen, « Pokémon Reexam Receives First Action from USPTO », MBHB, 3 avril 2026 (le réexamen n° 90/020,162 ; la première Office Action expédiée le 25 mars 2026, rejetant toutes les revendications au titre du 35 U.S.C. § 103 ; les dates de réponse du 25 juin et du 25 septembre 2026 ; la revendication 1 citée), consulté le 4 octobre 2026, https://www.mbhb.com/intelligence/snippets/pokemon-reexam-receives-first-action-from-uspto/. ↩↩↩

  80. The Pokémon Company International, page d’informations juridiques, https://www.pokemon.com/us/legal/information : a renvoyé une vérification anti-robots à l’outil de récupération de l’auteur le 4 octobre 2026, et sa copie de la Wayback Machine a renvoyé le même blocage ; non vérifié. ↩↩

  81. Nintendo, « Nintendo Game Content Guidelines for Online Video & Image Sharing Platforms », avec sa FAQ (R5 sur la vente ; Q6 et R6 sur les autres contenus), consulté le 4 octobre 2026, https://www.nintendo.co.jp/networkservice_guideline/en/index.html. ↩↩↩

  82. Nintendo Life, « Cassette Beasts Dev On Doing What Pokémon Doesn’t In A Zelda-Inspired Overworld », 26 avril 2023, consulté le 4 octobre 2026, https://www.nintendolife.com/features/cassette-beasts-dev-on-doing-what-pokemon-doesnt-in-a-zelda-inspired-overworld. ↩

  83. Gematsu, « Crema Games announces Pokemon-inspired multiplayer creature collection game Temtem », 30 avril 2018, consulté le 4 octobre 2026, https://www.gematsu.com/2018/04/crema-games-announces-pokemon-inspired-multiplayer-creature-collection-game-temtem. ↩

  84. Documentation Apple pour les développeurs, « CMPedometer » (iOS 8.0 ; « An object for fetching the system-generated live walking data » ; l’obligation de description d’usage), récupérée en JSON le 4 octobre 2026, https://developer.apple.com/documentation/coremotion/cmpedometer. ↩↩

  85. Documentation Apple pour les développeurs, « stepCount » (HKQuantityTypeIdentifier ; iOS 8.0), récupérée en JSON le 4 octobre 2026, https://developer.apple.com/documentation/healthkit/hkquantitytypeidentifier/stepcount. ↩

  86. Application de l’auteur, dépôt de Kiradex au commit b1b78b1 : server/app/rooms.py (WALKABLE, is_walkable, may_move), server/app/main.py (_player à partir de la ligne 156, qui lit l’id de joueur de chaque connexion comme un UUID à la ligne 160, avec un pseudonyme et la carte qu’il montre ; _tile, qui rejette un déplacement vers une tuile non praticable ; et le gestionnaire de déplacement à partir de la ligne 217, qui fixe la tuile du joueur à la ligne 222), server/app/lines.py (« The preset lines: everything anyone can say in the plaza. Nothing is typed »), Kiradex/World/PlazaStage.swift (la propriété @AppStorage("plaza.id") à la ligne 333, sous un commentaire de documentation indiquant que l’identifiant est créé une seule fois et jamais saisi ni affiché, et join(), qui le fixe à UUID().uuidString aux lignes 576 et 577 quand il est vide) et Kiradex/World/PlazaClient.swift (le message hello, qui envoie cet identifiant à la ligne 135). Dépôt privé. ↩↩↩↩↩↩↩

  87. Documentation Apple pour les développeurs, « startOfDay(for:) » (Calendar ; iOS 8.0), récupérée en JSON le 4 octobre 2026, https://developer.apple.com/documentation/foundation/calendar/startofday(for:). ↩↩

  88. Documentation Apple pour les développeurs, « isDate(:inSameDayAs:) » (Calendar ; iOS 8.0), récupérée en JSON le 4 octobre 2026, https://developer.apple.com/documentation/foundation/calendar/isdate(:insamedayas:). ↩↩

  89. Documentation Apple pour les développeurs, « NSCalendarDayChanged » (NSNotification.Name ; iOS 8.0), récupérée en JSON le 4 octobre 2026, https://developer.apple.com/documentation/foundation/nsnotification/name-swift.struct/nscalendardaychanged. ↩↩

  90. Documentation Apple pour les développeurs, « significantTimeChangeNotification » (UIApplication ; les exemples de la discussion), récupérée en JSON le 4 octobre 2026, https://developer.apple.com/documentation/uikit/uiapplication/significanttimechangenotification. ↩

  91. Vérification de l’auteur, 5 octobre 2026 : figures/saying_drift.py à côté du brouillon, qui exécute la règle de dérive proposée par le cahier des charges sur les nombres du test d’acceptation et vérifie que dix jours appliqués d’un coup équivalent à dix lectures quotidiennes ; sortie figures/saying_drift.out.txt (50 après trois lectures à une même date et après un redémarrage ; 20, éventée, après dix jours ; 5, en hausse, pour une formule éventée à 10 trois jours plus tard). ↩

Articles connexes

Pixel-Art Structures: Houses, Halls and Interiors on iPhone

How Pokémon, the SNES RPGs and Stardew build houses, interiors and floors, measured from source, and how Kiradex's town …

80 min de lecture

Pixel-Art Rooms: Furniture Grids, Caps and Scoring

How Emerald, Animal Crossing, Habbo, Stardew and FFXIV cap, grid and score a decorated room, measured from source, and a…

100 min de lecture

Préparer votre app pour l'iPhone Duo : un exemple complet

Préparer et soumettre une app pour l'iPhone Duo : le tampon de SDK qui active la mise en page, une vraie app dans chaque…

75 min de lecture