Puyo Puyo Tsu/Reverse Engineering
Les mécanismes précis du jeu Puyo Puyo Tsu sont en train d'être déterminés par la rétro-ingénierie de ses versions Megadrive et Arcade (qui sont identiques en matière de gameplay).
Cette page rassemble les divers aspects du jeu qui ont été analysés ou sont en cours d'analyse, ainsi que diverses informations techniques sur la console et le processus de rétro-ingénierie.
Des messages postés sur le forum Puyo Nexus (US) sont donnés en référence, étant donnés qu'ils sont ce qui a démarré cet effort. Il est possible qu'ils ne soient plus aussi précis ou à jour que les pages de ce wiki.
Sommaire
Introduction
Les personnes intéressées par l'analyse du code du jeu et sa rétro-ingénierie peuvent trouver des pistes intéressantes dans les pages suivantes :
- (anglais) Puyo Puyo Tsu/Plateformes Matérielles
- (anglais) Puyo Puyo Tsu/Outils de déboggage et de rétroingénierie
- (anglais) Puyo Puyo Tsu/Méthode de rétroingénierie
- (anglais) Puyo Puyo Tsu/Architecture logicielle
Et sur les forums Puyo Nexus :
Mémoire RAM du jeu
Ces pages expliquent des détails relatifs à la gestion de la mémoire, les structures de données et positions intéressantes :
- (anglais) Puyo Puyo Tsu/Positions en mémoire
- (anglais) Puyo Puyo Tsu/Structures en mémoire (comprend la définition des valeurs, comme les codes couleur)
- (anglais) Puyo Puyo Tsu/Allocateur de mémoire
- (anglais) Puyo Puyo Tsu/Variables des options du jeu
Sur les forums Puyo Nexus :
Tableaux de frame data
Les tableaux récapitulatifs des données de timings sont disponibles sur une page dédiée :
Pour un accès direct aux différentes sous-sections, cliquez sur les liens ci-dessous :
- Gamepad Input Repeat
- Rotation
- Drop speed
- Control lockout grace period
- Bouncing animation
- Pair split speed
- Free fall speed (gravity)
Mécanismes du jeu
Jusqu'à présent, les mécanismes qui suivent ont été analysés.
Sur l'aléa :
- Puyo Puyo Tsu/Random Number Generator
- Puyo Puyo Tsu/Upcoming Pair Randomizer
- Puyo Puyo Tsu/Falling Pair Spawning Process
Sur les contrôles :
Sur la physique du jeu pour les paires contrôlées par le joueur :
- Puyo Puyo Tsu/Falling Pair Control
- Puyo Puyo Tsu/Pair Lateral Movement
- Puyo Puyo Tsu/Rotation, collision and push back
- Puyo Puyo Tsu/Soft Drop (with regular drop, bouncing animation and control lockout grace period)
- Puyo Puyo Tsu/Free fall
Les messages historiques du forum de Puyo Nexus sont :
- (anglais) Random numbers: how it's done
- (anglais) Upcoming pairs: how they are picked
- (anglais) How baby puyos are made: from random generation to the board
- (anglais) Memory allocation and memory structures
Modification du jeu
Des patchs et codes Game Genie modifiant le gameplay d'une manière utile sont présentés ci-dessous :
Et sur les forums Puyo Nexus :
- (anglais) Bonus round: game genie codes and elite 1-chain
- (anglais) Codes to set falling speed and color set
Domaines de recherche
Les points suivants sont des sujets d'intérêt sur les mécanismes du jeu pour lesquels des recherches sont en cours :
- Génération d'aléa (RNG) au cours des parties
- Biais et problèmes du RNG
- Calcul du score
- Identification des routines implémentant la logique du jeu
- Algorithme de distribution des Ojama puyos unitaires au sein d'une ligne
- Données frame data et timings de toutes les séquences du jeu :
- durée de cassage de chaînes en fonction de la hauteur des colonnes et séparation des puyos
-
séparation des puyos / durée de chute libre -
durée de blocage des contrôles après un placement (animation de rebond) - délai d'affichage de la paire suivante
- délai de contrôle de la paire suivante
-
timings de rotation - période de grâce avant la chute des Ojama puyos
-
modificateur de vitesse soft drop (flèche du bas) - margin time : impact sur les dégâts envoyés
- margin time : condition de déclenchement / prise d'effet
- augmentation de la vitesse de chute après x secondes
-
motion cancel
Historique
Ce projet a débuté par curiosité sur les algorithmes de génération d'aléa dans Puyo Puyo Tsu, et a été publié sur les forums Puyo Nexus le 27 août 2013. Il a évolué en un effort d'analyse de toutes les mécaniques du jeu pour en avoir une compréhension complète.