puteint

- Arkan, leinguiste.

Dojobar
L'émission de radio déjantée qui revient toutes les deux semaines !







Dojodirect
Des jeux de merde joués par des connards en direct !




Darksiders (WiiU) − One last ride…
Le 30 octobre 2017, par Mortal

Mario Kart 8 Deluxe − Piste, piste, rage !
Le 26 octobre 2017, par Mortal


L’historique du speed-run de The Legend of Zelda: Ocarina of Time (partie 2)

Ou pourquoi les médaillons sont une vaste arnaque !

La dernière fois, nous avions vu qu’il n’était pas nécessaire d’avoir tous les médaillons des sages pour pouvoir accéder au château de Ganon. Tout simplement parce que le jeu ne vérifie que deux médaillons sur les six.

Et pourquoi donc ? Simplement pour optimiser le programme en lui-même. En effet, un jeu n’est rien d’autre qu’un programme informatique qui ne fait qu’en seule et unique chose : boucler.

Entre dans la boucle

En programmation, une boucle est une série d’instructions données à la machine qui se répète indéfiniment ou jusqu’à ce qu’une condition donnée soit remplie. Une console ne fait que ça : exécuter le même bout de programme tous les 1/60ème (ou 1/50eme) de seconde. Pourquoi 1/60ème ou 1/50ème ? Parce que cela correspond à la fréquence de rafraîchissement théorique de l’image (pour les consoles américaines et japonaises en 60Hz et pour les consoles européennes en 50Hz). Tous les 1/60ème de seconde, la console génère ce que l’on appelle une interruption pour signaler au programme qu’elle va afficher ce qu’il y a dans la mémoire vidéo (NDCyrare : cela reste théorique. En pratique Ocarina of Time tourne à environ 15/20 images/secondes, donc les calculs se font entre ces frames, et pas entre chaque rafraîchissement de la TV).

Une nouvelle fois, nous allons prendre un exemple très simple. Imaginons que l’on veuille le comportement suivant : quand on appuie sur Start, le jeu se met en pause (super innovant…). Au tout début de la boucle, on va donc vérifier les entrées (typiquement les touches du clavier qui sont enfoncés ou les boutons qui sont enfoncés). Si le bouton Start est enfoncé, le programme va déclencher une routine qui lancera l’animation montrant le menu de pause. On appelle cela un test. On peut alors décider de ne rien faire jusqu’à ce que l’animation se soit terminé ou de profiter du temps disponible avant l’affichage de l’image pour faire d’autres vérifications (d’autres tests).

Il faut maintenant bien imaginer que la console effectue une quantité de tests absolument gigantesque à chaque frame, tous les 1/60ème de seconde. Le programme qui fait les tests doit donc être très rapide, sinon cela va retarder l’affichage et le jeu va « ramer ».

Cette astuce de programmation permet donc d’optimiser un peu le jeu : au lieu de faire un test qui implique tous les médaillons, on fait un test seulement sur les deux derniers, en partant du principe que le joueur est obligé d’avoir ramassé les précédents.

Le speed-run infernal

Du coup, on peut se permettre de zapper une grande portion de la partie adulte du jeu et ce de manière quasi-transparente. Dans le pire des cas, il faut simplement aller récupérer l’arme dans le donjon, mais on peut complètement passer le boss et le médaillon sans se préoccuper. Et cela tombe bien, parce que les premiers temples sont relativement longs.

Ainsi, les premiers speed-runs que j’ai pu voir d’Ocarina of Time arrivait à descendre un peu en dessous des 3h : l’exploitation de quelques bogues dans les donjons, de quelques bogues pour bénéficier de déplacement plus rapides, etc permettant de faire assez rapidement les trois temples de Link enfant et de battre les deux boss nécessaires à l’obtention des médaillons de l’esprit et de l’ombre.

Malheureusement, c’est encore long (c’est toujours trop long). Et que se passerait-il si l’on pouvait se passer du Rubis Goron et du Saphir Zora ? Et si on pouvait simplement de pas rendre visite à l’arbre Mojo ? Nous verrons cela la prochaine fois…


Par Mortal
Le 3 septembre 2012 | Catégories : Editos

En tout cas, moi, si j'étais une fille, je serais facile.
Voir les articles de Mortal

A voir également
Les trucs qu'on a rédigés avec nos petits doigts potelés

Dojo Hebdo 408 : du 18 au 24 janvier 2021
Le 24 janvier 2021, par Gueseuch

Dojo Hebdo 407 : du 11 au 17 janvier 2021
Le 17 janvier 2021, par Gueseuch

Dojo Hebdo 406 : du 4 au 10 janvier 2021
Le 10 janvier 2021, par Gueseuch


Dojo Hebdo 404 : du 21 au 27 décembre 2020
Le 27 décembre 2020, par Gueseuch

Dojo Hebdo 403 : du 14 au 20 décembre 2020
Le 20 décembre 2020, par Gueseuch

Dojo Hebdo 402 : du 7 au 13 décembre 2020
Le 13 décembre 2020, par Gueseuch



Dojo Hebdo 400 : du 23 au 29 novembre 2020
Le 29 novembre 2020, par Gueseuch


Dojobar
L'émission de radio déjantée qui revient toutes les deux semaines !







Dojodirect
Des jeux de merde joués par des connards en direct !




Darksiders (WiiU) − One last ride…
Le 30 octobre 2017, par Mortal

Mario Kart 8 Deluxe − Piste, piste, rage !
Le 26 octobre 2017, par Mortal