En défense du HE2

6 minutes

Le Hedgehog Engine 2 est pire que le Hedgehog Engine 1. Regardez comment Unleashed est plus beau que Forces ? Et la physique de Forces est pire ? Pourquoi ont-ils passé trois ans à travailler sur le HE2 plutôt que de bosser sur Forces ?

Ce sont des commentaires que je vois souvent en parlant du HE2. Et ils m’embêtent un peu, parce qu’ils contiennent plusieurs soucis.

Bref, parlons donc du HE2.

Avant toute chose, j’aimerais dire un truc : le HE1 était un fucking exploit. L’idée était tellement maligne, utilisé une sorte de grille de lumière pour éclairer les objets et créer des lumières réfléchies comme une sorte de faux-raytracing c’était super malin.

Cependant, avec le temps, il est devenu dépassé, comme toute technologie. On peut faire avec les consoles récentes bien plus de choses en temps réel, et l’un des soucis justement du HE1 était que toutes ses lumières quasiment étaient pré-rendues, et donc avaient besoin de faire le rendu toute la nuit. Donc de manière simple, leur boite à outil avait besoin d’évoluer, surtout que c’était pas juste celle de la ST, mais celle de tout SEGA CS2, voici par exemple d’autres jeux qui l’utilise :

  • Le jeu officiel des JO
  • Puyo Puyo Tetris 2 (ça c’est de l’overkill imo mdr)
  • Sakura Wars

Donc c’est plus que juste du Sonic. Travailler sur le HE2 était un taff nécessaire, et c’était pas ça qui a causé soucis dans le développement de Forces, puisqu’on peut voir dans les crédits que l’équipe de dev du Hedgehog Engine à sa propre section, et que ce sont pas les mêmes devs que les devs gameplay - et c’est logique être dev de moteur 3D c’est un skillset spécifique. Le problème est plus de comment le développement de Forces a été géré en lui-même.

Aussi, j’aimerais critiquer un mythe, celui que le HE2 du coup serait pire. Non, pas du temps. Le HE2 a besoin de moins de temps pour faire le rendu de niveau, peut gérer des lumières dynamiques, supporte des moteurs de rendu moderne (DX11 au lieu de DX9 sur PC notamment, ce qui est une grosse amélioration - notamment nous les linuxiens sous Proton on remercie mdr) et semble gérer des beaux graphismes avec des framerate super décentes, supporte le Rendu Physique Réaliste (Physically Based Rendering, PBR en anglais) et ça utilise aussi un meilleur algo pour la lumière qui supprime des artefacts, mais ça j’y connais moins.

Le HE1 était très bon pour son temps, mais déjà il était plus complexe à utiliser avec tout le soucis de rendu, et du coup ses soucis étaient trop nombreux pour ne pas l’améliorer : le HE2 rend le développement des jeux plus facile sur certains points (mais pas sur tout bien évidemment, faire un jeu reste difficile). Surtout qu’on sait pas à quel point faire le HE2 a été du boulot, et à quel point ça a été progressif, etc. ​La seule vrai perte dans Forces serait le fait que visiblement ils n’ont pas réimplémenter le streaming de terrain qui permettait d’avoir les niveaux énorme d’Unleashed, mais c’est plus côté chargement de donnée que ça joue.

Mais je pense pas que c’est une limitation du HE2 en soi.

Je pense que généralement, les gens confondent le fait que les graphismes de Forces ne sont pas si impressionnant pour son époque (comparé surtout à Unleashed) avec si le moteur est bon ou non. Le moteur n’est qu’une partie de ce qui fait les graphismes.

Après, il faut aussi se rappeller que le HE2 fait un peu plus que juste les graphismes : c’est le moteur “coeur” du jeu, il gère aussi les objets dans le monde de jeu, les particules, il contient certainement le code de collision, etc (des trucs qui sont aussi nécessaire d’interagir potentiellement avec la lumière). Le HE2 est aussi plus flexible qu’on le pense, puisque Puyo Puyo Tetris 2 l’utilise, comme dit plus haut.

Mais du coup, certains se demanderait, est-ce que cela serait à cause de ça, le gameplay de Forces ? Parce qu’on sait aussi une chose, que le gameplay serait repris de Lost World et non de Generations. Pourquoi ont-ils fait ça ?

Je ne peux que spéculer, mais je parierais que c’était tout simplement que Lost World était le code le plus récent fait sur HE1 (hors Mario & Sonic certainement), et que le code de Lost World était optimisé pour tourner à 60 FPS sur Wii U. Revenir à un gameplay boost-like depuis Lost World a surement été vu comme moins de travail que de porter le code de gameplay de Generations, ou pire backporté chaque changement au HE de Lost World dans celui de Generations.

Ils l’ont loupé, pour des raisons qu’on ne connait pas (on sait juste qu’ils avaient - encore - des soucis internes et que le jeu est loin de ce qui était prévu au début), mais de moins point de vue de développeur⋅euse, partir du code récent est utile, surtout si Lost World avait des fonctionnalités qu’ils voulaient (genre sa physique flexible niveau gravité et tout). Je pense que nan, cette idée était pas la mauvaise, c’est plus “pourquoi ils ont fait certains trucs qu’ils ont fait”, genre ne pas revenir à une acceleration progressive (ce qui normalement n’est pas compliqué, je pense pas que c’était un soucis de compétence franchement).

Le seul soucis qui viendrait du code de LW serait - encore une fois - le manque de streaming de terrain, qui affecte la taille du niveau, mais le réimplémenter n’est pas plus complexe que créer le HE2 quoi. Donc encore une fois, je pense que c’est peut-être un choix parce qu’ils n’en avaient pas besoin parce qu’ils avaient des petits niveaux ?

Mais bref, tout ça pour dire : les soucis de Forces ne viennent pas du HE2. Le HE2 à du potentiel, et j’espère que les prochains jeux de la ST le montreront.