Tomb Raider sur ESP32-P4 : Le Portage Incroyable

Temps de lecture : 2 min

Points clés à retenir

  • Adaptation : OpenLara, moteur libre de Tomb Raider, a été porté sur la carte ESP32-P4-Function-EV-Board sans émulateur PlayStation.
  • Performance : La carte utilise deux cœurs à 400 MHz, 16 Mo de flash et 32 Mo de RAM externe pour afficher le jeu en 320×240, agrandi via le PPA, à 30 images par seconde.
  • Prérequis : Le portage gère le son et les sauvegardes sur microSD, mais nécessite un clavier USB, l’environnement ESP-IDF et les fichiers originaux du jeu ajoutés séparément.

Tomb Raider sur ESP32-P4 : un exploit technique

Je ne sais pas vous, mais moi, voir Lara Croft courir sur un microcontrôleur, ça me fait quelque chose. Et pourtant, c’est bien réel : le développeur Alejandro Villegas Alonso, alias alexkid77, a réussi à faire tourner Tomb Raider sur la carte ESP32-P4-Function-EV-Board. Pas question d’émuler une PlayStation ici, non. Il a adapté OpenLara, le moteur libre qui exécute le jeu avec ses données d’origine. Le processeur calcule les images, et le résultat est bluffant.

Une configuration matérielle solide

Pour arriver à un tel résultat, il faut du matériel. La carte ESP32-P4-Function-EV-Board embarque deux cœurs à 400 MHz, 16 Mo de mémoire flash pour stocker le programme, et 32 Mo de RAM externe. Ce n’est pas un ESP32 qui traîne au fond d’un tiroir, hein. Il faut cette configuration ou une adaptation sérieuse pour espérer faire tourner le jeu.

L’image est calculée en 320 x 240 pixels, puis agrandie pour s’afficher sur un écran de 1 024 x 600 pixels. Cette mise à l’échelle utilise le PPA, l’accélérateur de traitement des pixels intégré à la puce. Cela évite de demander au moteur de dessiner toute la scène en haute définition. Résultat : le dépôt annonce 30 images par seconde. Plutôt pas mal pour une carte qui n’a pas été conçue pour ça !

Fonctionnalités et prérequis

Le portage ne se contente pas d’afficher des images. Il gère aussi le son, les sauvegardes sur carte microSD, et même un compteur d’images par seconde activable avec la touche F12. Pour jouer, il faut un clavier USB : les flèches pour se déplacer, la barre d’espace pour sauter. Simple, efficace.

Mais attention, ce n’est pas plug and play. Pour préparer la carte, il faut utiliser ESP-IDF, l’environnement de développement d’Espressif, en version 5.4 ou plus récente. Ensuite, on compile le projet et on transfère le programme sur le microcontrôleur. Ce téléchargement s’adresse donc surtout à ceux qui aiment bricoler du matériel.

Autre point crucial : les fichiers du jeu doivent être ajoutés séparément dans un dossier data sur la microSD. OpenLara fournit le moteur, mais pas les niveaux ni les images du Tomb Raider commercial. Le portage ne fonctionne pas sans ces données. Les sauvegardes et le cache sont également écrits sur cette carte.

Pourquoi ce projet est intéressant

J’aime bien ces projets qui donnent une seconde vie aux vieux moteurs. Ils montrent que le matériel embarqué peut faire bien plus que ce pour quoi il est prévu. En résumé, voici ce qu’il faut retenir :

  • OpenLara a été porté avec succès sur ESP32-P4, sans émulateur.
  • La carte atteint 30 FPS grâce à l’accélération matérielle et à une résolution adaptée.
  • Le projet nécessite un clavier USB, ESP-IDF et les fichiers originaux du jeu.
  • Les sauvegardes et le son sont pris en charge via microSD.

Pour conclure, c’est une belle démonstration de ce que l’on peut faire avec un microcontrôleur et un peu d’ingéniosité. Si vous êtes développeur ou bidouilleur, ce genre de projet peut vous inspirer.