Server Open Players online  0 Characters created  9
Revival Project

The recovery process

The document below is written in French.

Pourquoi ce projet ?

En fouillant dans mon disque externe, j’ai retrouvé le site… Cela m’a rendu très nostalgique, et cela faisait longtemps que je souhaitais approfondir mes connaissances de Unity3D. Quelques mois plus tard, je me suis dit qu’il pourrait être intéressant d’utiliser SSO pour y parvenir tout en faisant revivre le projet. J’ai donc restauré le site Web à l’aide de la version locale que je possédais, ainsi que de web.archive.org. Après un certain temps, toutes les pages sont redevenues fonctionnelles et présentent les informations les plus à jour possible.

Cette page est avant tout un journal de bord consacré à la création du jeu. Elle permettra également aux gens d’en suivre la progression, de découvrir les dessous du développement, etc.

Avant SSO

Shin Sekai Online… De belles années dans le domaine de la création de jeux, bien avant que j’apprenne à utiliser Unity3D.

Qu’était Shin Sekai Online ? À l’origine, ce devait être un projet privé regroupant quelques activités, comme on peut l’entendre dans « Radio S », une vidéo spéciale et un peu niaiseuse sur SSO. Il semblait s’agir d’un jeu de type bac à sable conçu uniquement pour déconner entre amis, qui s’appelait « Jeu Révolutionnaire 2D ». Dans un vieux build de la v1 que j’ai retrouvé sur mon disque externe (ne me demandez pas pourquoi j’avais ça), on peut même retrouver des images de ce projet.

Il y a aussi des images qui ne me disent rien, mais qui, j’imagine, étaient associées au projet vu leur apparence. Cela montre que l’aspect HP/MP était déjà présent.

Dans mes souvenirs, c’est mon arrivée dans le décor qui a transformé ce projet en MMORPG. Je ne sais pas quelle allure aurait eue le jeu autrement.

Grade et Husk travaillaient donc sur le Jeu Révolutionnaire 2D, puis je suis arrivé et j’ai tout changé. Le projet s’est alors appelé Shin Sekai Online, ce qui signifie « Nouveau Monde » en japonais, bien que je pense que cela s’écrit plutôt « Shinsekai ».

Le jeu a conservé la même apparence et sensiblement le même fonctionnement, mais il a été ajusté pour devenir un peu plus « RPG » que « bac à sable ». Je soutiens cette hypothèse en raison de cette image du Revolutionnary Project, où l’on voit les mêmes graphismes, textes, personnages et épées. Le système de combat était donc déjà semblable, ce qui rendait la transition très facile à faire !

Les 2 versions de SSO

Laissons Grade raconter toute l’histoire dans sa dernière publication Facebook avant l’abandon forcé du projet.

C’est ici que l’histoire se terminait pour SSO.

Le jeu possédait ainsi deux versions que l’on pouvait distinguer assez facilement :

Version 1 : texte carré, interface de même résolution, barre d’EXP étoilée et aucune météo.

Version 2 : texte lissé, interface à résolution doublée pour plus de détails, barre d’EXP simplifiée et météo (ici, un début de coucher de soleil, puisque les personnages paraissent plus ternes que dans la v1).

On constate également l’ajout de la barre d’objets et de l’icône PVP.

On peut donc noter certaines informations ici :

  • Le niveau maximal est 15
  • On peut activer ou désactiver le PVP
  • On peut placer des objets rapides dans sa barre
  • Lorsque le niveau maximal est atteint, la barre devient orange
  • Les noms sont lissés et probablement affichés en Verdana

Le défi de ce projet de recréation de SSO consiste à bien distinguer ce qui appartenait à la version 1 de ce qui appartenait à la version 2. Nous tenterons de recréer la version 2, à quelques exceptions près dont il sera question plus bas.

Le launcher et l’affichage de base

Grâce à un vieux build de la v1 et à son code source, que je possède sur mon disque externe, il est relativement « facile » de retrouver certains éléments de la version 1. Du côté des images, par exemple, pratiquement tout y est : les ennemis, les personnages, les systèmes, etc.

Je peux lancer le launcher et entrer un pseudonyme et un mot de passe pour voir à quoi il ressemblait.

Les fichiers PNG de l’arrière-plan, du bouton « Lancer », etc., sont également présents. Tout est là pour être utilisé !

L’exécutable possède son icône « sso » . J’essaie à l’instant de voir s’il existe un moyen d’en récupérer l’image originale.

Voilà, c’est fait !

J’ai également retrouvé une capture d’écran du premier launcher.

Le jeu étant en 640 × 480, cela représente 320 × 240 à 16 pixels par case, donc 20 × 15 cases. Comme la caméra de Unity gère le zoom d’un tilemap de façon plutôt dynamique, il faudra s’assurer que l’affichage montre bel et bien 20 × 15 cases.

J’ai cependant remarqué un détail qui m’a surpris. Puisqu’il n’existe pas réellement de milieu sur une largeur de 20 cases (il en faudrait 21 pour en avoir 10 de chaque côté), le personnage n’est jamais centré à l’écran, tant dans la v1 que dans la v2.

Il y a 10 cases à gauche du personnage et 9 de l’autre côté. Il faudra donc placer le composant Camera sur le héros avec un décalage d’une unité vers la gauche, ce qui correspondra ici à 16 px.

On peut donc noter certaines informations ici :

  • Le launcher est en 640 × 480
  • Le processus s’appelle “Shin Sekai Online”
  • L’icône est un slime bleu
  • La police utilisée, selon le dossier /sso/client/, est probablement verdana.ttf en 12 px
  • Les fichiers header.png et lancer.png sont présents pour la création du launcher
  • Le fichier de l’icône a été restauré et mesure 32 × 32
  • Le joueur n’est pas centré dans l’écran mais bien une case plus à droite

Le fichier client.exe utilisera lui aussi ces informations et, à ce que je vois, le tout sera conservé dans la version 2. Nous avons donc officiellement ce qu’il nous faut pour le launcher.

Les maps

L’un des gros morceaux de SSO était évidemment les maps, et c’est là qu’un beau défi m’attend. Il existe des maps de la version 1 et d’autres de la version 2. Certaines maps très importantes, comme la ville principale apparemment appelée Azheria, ont été restaurées dans la version 2. Toutefois, si mes souvenirs sont bons, il s’agit pratiquement de l’une des seules maps à avoir été récupérées, compte tenu du travail qui y avait été consacré.

À l’origine, les maps étaient basées sur une carte du monde rudimentaire, créée uniquement pour aider les développeurs à mieux s’orienter dans l’ensemble.

Idée originale :

Comme on peut l’entendre dans « Radio S », il est question de « 2 continents, 21 zones ». Il semble qu’elles soient toutes là !

La version 1 suivait bien ce plan, mais, pour la version 2, j’avoue n’en avoir aucune idée… J’ai l’impression que c’était un peu free for all.

Nous allons d’abord regarder quelques vieilles vidéos qui montrent le jeu en action. Même s’il s’agit de la version 1, nous voulons déterminer ce qui appartient à la v1, à la v2 ou a été réutilisé. Ici, il est toujours uniquement question des maps :

Dans cette vidéo, on peut apercevoir le premier village du jeu. En réalité, ce n’était pas le village de DÉPART, où l’on aurait commencé la partie, mais plutôt le premier « village bien garni ». Il n’a pas été utilisé dans la version 2. Cependant, nous l’avons vu pendant si longtemps que nous nous y sommes attachés, et j’ai vraiment envie de le conserver.

Dans la deuxième vidéo, on quitte ce même village par la gauche, ce qui mène à un chemin étroit et allongé horizontalement. On remarque que le village utilise la musique « Town » de Wild Arms, alors que la route utilise une pièce de Xenogears. Cette dernière a toutefois été transférée à la ville principale, Azheria. Si cette route est réutilisée, sa musique changera tout de même, puisqu’elle appartient à la version 1 et que ce n’est pas celle que nous essayons de reproduire à 100 %.

On y aperçoit également une auberge, autre lieu culte de la version 1. Nous tenterons aussi de la recycler. À 1:44, on retrouve une map fermée contenant des ennemis à éliminer. On ajoute tout cela à la liste.

La question demeure : « Où allons-nous mettre tout cela ? » Une partie de moi pense que les maps de la version 2 sont à l’ouest, puisque leurs chemins vont vers l’est, et qu’elles se combinent bien avec celles de la version 1 situées à l’est, dont les chemins vont vers l’ouest. Le tout serait séparé par Denza, comme on peut le voir dans cette capture de la v2 :

« Smosh en parle », la vidéo de SSO la plus connue, montre des éléments intéressants de la version 1, comme le seul donjon qu’a connu SSO et qui n’a jamais été récupéré pour la version 2. C’est une chose que nous allons corriger ici !

Dans cette vidéo on voit la première map de SSO v1 :

C’est la route où l’on voit le petit cabanon. Cette map a été utilisée dans les vidéos ainsi que sur le premier site de SSO, lors de l’inscription, où l’on choisissait son skin directement sur le site. Dans mes souvenirs, cela a changé dans la v2 : on changeait plutôt de skin dans l’auberge, mais je ne suis vraiment pas certain de ce que j’avance ici.

On la voit également dans le forum du nouveau site, où elle servait à afficher les profils des gens et leur skin par-dessus :

On la retrouve aussi dans plusieurs captures d’écran, même dans celles déjà publiées sur cette page, notamment celle du Jeu Révolutionnaire 2D.

Oui, il existe un lien entre ces deux captures d’écran. On peut le voir dans la vidéo « Smosh en parle », de 1:25 à 1:32 🙂

Cette map serait également à recycler, mais j’avoue ne pas être certain de l’endroit où elle pourrait aller : la téléportation située au bas de la map mène vers le bas, tandis que la route à gauche du village précédent va vers la gauche. Je soupçonne que cette map a été « jetée » lors de la création du village et des maps environnantes, mais je vais voir comment recycler le tout.

Dans cette même vidéo, on peut voir Azheria à 0:50.

Cette map a bel et bien été récupérée pour la v2, preuve à l’appui :

Par contre, il n’y a qu’une sortie à l’ouest, qui devait mener à un port, ainsi qu’une sortie au sud, qui devait rejoindre la route du petit cabanon, preuve à l’appui :

Cela nous amène donc à parler de l’éditeur. En effet, un éditeur très complet a été créé pour la version 2, mais la version 1 possédait également un éditeur de maps pour faciliter le processus. Grâce au build que je possède, je suis en mesure de voir la totalité des maps de la v1.

Commençons par ce village, qui possède une sortie au nord donnant sur de l’herbe foncée.

J’admets que ce village ne me dit pas grand-chose, à part cette capture d’écran de la v1 :

Mais ce village m’amène à résoudre un problème.

Voilà… CE village était le village de départ dont j’ai parlé plus haut. Il rejoint la route du cabanon, qui mène elle-même à Azheria. Nous avons donc reconstitué notre chemin dans la préalpha de la v1. Cela CONFIRME que l’autre ensemble « village / chemin fermé avec ennemis / chemin vers la gauche » de la première vidéo est bel et bien une autre portion du jeu de la v1 qui n’est pas connectée.

Il faudra donc trouver une façon de connecter les 3 sections différentes :

Déjà, la façon dont Azheria est conçue est un peu étrange (c’est moi qui l’ai faite, alors je peux me critiquer), parce qu’on ne peut littéralement rien faire : village -> route -> ville -> port. Une idée serait qu’il s’agisse de cette partie de la map :

Ainsi, le port serait une bonne option comme point de départ, et le village pourrait simplement servir à quelques quêtes, à moins d’y cacher un donjon de voleurs dans le puits. On ne sait jamais !

Quant aux deux autres sections, elles peuvent assez bien se combiner, comme nous l’avons mentionné plus tôt.

Le trajet entre le port et Azheria passera par une nouvelle map, qui servira simplement de pont dans le cadre du Revival Project.

L’éditeur nous permet finalement de faire le lien entre plusieurs maps.

J’ai encadré en rouge une zone qui m’est très familière. Je me souviens clairement qu’un slime se trouvait à cet endroit et qu’il était utilisé pour de nombreux tests (et plantages). J’avais en tête l’image d’un chemin qui s’ouvrait vers le haut, et je savais que je n’étais pas fou !

Cependant, je me souviens également qu’on sortait d’un village pour arriver là… Mais quel village ? Qu’est-ce qui me manque encore ?

Nous verrons cela plus tard… Il reste encore beaucoup de choses à décortiquer, par exemple :

Cette scène de la première vidéo se trouve au-dessus du « village bien garni », mais voici ce que je n’avais pas remarqué :

J’ai encerclé en rouge la partie qui correspond à la capture d’écran juste au-dessus.

Il y a donc une sortie vers le haut, en direction d’une maison ou d’un manoir, ainsi qu’une sortie vers la droite.

Le manoir doit être celui-ci :

Plusieurs maps associées s’y rattachent plutôt bien, mais il reste le chemin de droite.

!!! Je reviens ici près de deux ans après avoir écrit ce qui se trouve avant et après… Je viens de réaliser quelque chose d’assez intéressant !!!

Vous voyez le gros bloc brun bizarre sur l’image ci-dessous ?

Vous voyez cet event dans le dossier event ?

Magie !?!?

À droite du manoir se trouvait en fait un château ! Quelle découverte incroyable !

Cela explique probablement l’autre événement de porte ci-dessous.

Clairement, l’idée était de faire comme dans SO et d’avoir un endroit où enfermer les gens… Je n’avais jamais trouvé de château dans les maps. Peut-être qu’au bout du compte, nous ne l’avions jamais fait. Ce sera à vérifier, car j’ai l’impression d’avoir déjà visité cet endroit : on descendait au sous-sol par un couloir qui partait de la droite vers le bas, puis tournait à gauche vers deux ou trois cellules. Quoi qu’il en soit, je chercherai cela éventuellement ! WOW ! Revenons maintenant deux ans dans le passé :

Celui-ci semble se relier à la carte 25.

Celui-ci se termine par un chemin de terre vers le sud. En examinant rapidement les cartes, je ne trouve aucune connexion avec une autre map.

Voici donc, approximativement, ce que cela donne pour la section de droite :

La v1 comprend également le premier donjon créé. Il s’agissait d’une grotte remplie de loups, avec un boss tout au bout qui remettait un objet en récompense.

Par contre, je ne trouve pas la map du boss. Mon build est probablement trop ancien. Malheureusement, je ne pourrai pas faire de miracle : je vais devoir recréer une map.

On peut toujours apercevoir le tout dans la vidéo « Smosh en parle », de 1:08 à 1:14.

Cela correspond à cette map de l’éditeur :

Si je possède toutes les autres maps de cette grotte, pourquoi n’aurais-je pas la salle du boss ? Selon moi, il pourrait s’agir de celle-ci :

On y tombe probablement par un trou, on affronte le boss, puis la porte s’ouvre. Toutefois, la présence d’un escalier me fait hésiter. Une image de l’éditeur :

Elle me donnait cette impression, mais l’escalier me pousse encore à me demander : C’EST QUOI, ALORS !?

L’un des 8 000 dossiers de SSO que je possède contient des images de cette grotte que je n’avais encore jamais vues :

Je crois que cela fait globalement le tour des maps de la v1. Il nous faut maintenant celles de la v2. Nous allons donc dupliquer l’éditeur de SSO ailleurs, puis remplacer les fichiers de maps de la v1 par ceux de la v2. Avec un peu de chance, cela devrait donner quelque chose !

Oh wow ! De toute beauté ! Cela fonctionne ! Je vois une map et je peux constater qu’il s’agit de la nouvelle « ville bien garnie » de la v2, telle qu’on la voit ici :

Il faut donc restaurer les chipsets!

Mais j’ai un autre problème : l’éditeur plante à partir de la carte 37. Après quelques tests, j’ai réalisé que certains chipsets étaient peut-être manquants. J’ai donc examiné les fichiers chipset.mmo, qui contiennent les collisions, et j’ai constaté qu’il fallait les numéros 38 à 50, dont certains étaient absents.

J’ai donc copié le dernier chipset plusieurs fois sous ces noms et, voilà, les maps se chargent !!

J’ai retrouvé la map du mini-jeu de la bombe ! Il s’agit d’un mini-jeu de la v1 tel que vu sur ce screenshot :

J’étais convaincu qu’il se trouvait dans la v2, mais il était apparemment présent dans la v1. La map a dû être recyclée, mais je suis presque certain que le mini-jeu, lui, n’avait pas encore été réalisé dans la v2.

Voici la salle d’attente du mini-jeu Capture the Flag (celle-ci possède le bon chipset !) :

Voici également la map de Capture the Flag elle-même, ainsi qu’une autre map symétrique qui pourrait indiquer qu’il existait deux maps de CTF.

J’ai également trouvé une immense map qui ne semble contenir que de la forêt. C’est du moins mon hypothèse.

Selon moi, un mini-jeu inspiré de Slender était en préparation. Cela expliquerait pourquoi de nouveaux fichiers sont apparus entre un « build v2 » et un autre « build v2 » un peu plus récent :

Cela me laisse tout de même croire que, malgré l’idée d’un MMO, le concept du « Jeu Révolutionnaire 2D » en mode bac à sable était toujours présent. Comme on le dit si bien dans « Radio S » : « C’était un projet privé regroupant quelques activités et permettant de faire n’importe quoi. »

BON ! Je dois vraiment trouver une façon de réparer les maps, sinon il sera très difficile de les recréer. Au moment d’écrire ces lignes, je n’ai toujours pas trouvé de solution.

Cependant, je remarque à l’instant une différence entre les fichiers de chipset du build v2 et ceux d’un autre dossier, dans lequel le premier chipset ne possède pas le même visuel. Est-ce que le fait de remplacer les fichiers réglerait mon problème ? Voyons voir !

…

Non… c’est tout aussi mauvais. En prime, on dirait que la résolution est incorrecte, comme si la v2 fonctionnait finalement dans une résolution plus élevée.

Je remarque que les chipsets sont très grands, comme s’ils étaient agrandis deux fois. Ils n’étaient probablement pas conçus pour ce vieil éditeur, mais ce facteur d’agrandissement faisait en sorte qu’ils convenaient à la v2. Essayons de réduire le chipset de moitié.

OMG !!!

C’est foncé, mais c’est la map ! Elle est là !

Je sais que cet éditeur permettait d’utiliser F1, F2, F3, etc., pour changer de mode. Le calque clair représentait les éléments derrière lesquels on pouvait marcher, mais je ne sais toujours pas pourquoi la partie du sol est si foncée… Hummm.

Bon, il faut corriger les 40 chipsets. Je vais utiliser une « action » de Photoshop pour automatiser les traitements, afin que cela ne prenne pas 1 000 ans !

Je remarque ensuite que la moitié des chipsets sont corrects, ce qui explique pourquoi les intérieurs de maisons, principalement, ne présentaient pas de problèmes.

Et ÇA FONCTIONNE ! Je suis vraiment content !

Par contre, je constate un problème : la couleur transparente est mal placée. Dans RPG Maker, et probablement dans SSO aussi, la première couleur de la palette est celle qui doit être transparente. Ce n’est pas le cas dans Photoshop, donc le blanc n’est pas transparent ici.

Cela produit donc cet effet, mais au moins, le résultat demeure exploitable.

Regardons maintenant les maps qui, tout à l’heure, étaient un désastre :

On peut aussi enfin apercevoir l’auberge que l’on retrouve dans la vidéo du mariage de Husk :

Voici également certaines maps visibles dans les captures d’écran publiées sur Facebook :

On retrouve également Denza, telle qu’on l’a vue dans une capture d’écran plus haut.

On remarque une sortie vers la droite, mais elle mène malheureusement au cimetière. Il existe aussi un chemin vers le haut. Nous ajouterons une carte permettant de poursuivre vers la droite afin de rejoindre les maps de la v1 de cette section, comme prévu ! Woohoo !

Je remarque également de nombreux villages que je ne me souviens même pas avoir déjà vus.

On y trouve un village enneigé, clairement repris de MindKiller sur RM2K, mais pour une bonne raison, ainsi qu’un village dans les arbres. Il serait dommage de ne pas réutiliser tout cela !

Nous tenterons donc de relier tous les chemins afin de créer la map la plus fidèle possible, même si 50 % de ces maps avaient été créées à l’avance sans avoir encore été reliées à quoi que ce soit.

Le lendemain de la rédaction de ce passage, je tombe sur un vieux dossier de sauvegarde de SSO v1 contenant plusieurs noms de routes complètement oubliés :

Mydia était-il le nom original d’Azheria ? Selon moi, il s’agissait du premier « village bien garni », qui n’a pas survécu. Toutefois, puisque la v1 ne possédait pas beaucoup de maps dans ce secteur et qu’une map s’appelle « chemin entre village départ et Mydia », je dirais que cette dernière correspondait à la map du petit cabanon et que Mydia était effectivement l’ancien nom d’Azheria. Ici, évidemment, nous conserverons Azheria, mais nous recyclerons probablement le nom Mydia ailleurs.

Je suis malheureusement incapable de changer de map dans cette version de l’éditeur. Je ne vois qu’une map remplie d’eau et je ne peux pas consulter les autres, qui seraient probablement très nostalgiques !

Je vais donc copier ces maps dans l’autre éditeur, qui fonctionne bien avec la v2, les renommer et voir ce que cela donne !

Cela fonctionne, malgré le problème de transparence qui demeure ! Voici quelques maps, en excluant les intérieurs :

Map3 correspond bel et bien au village de départ de la v1, et le chemin du cabanon est également présent.

Avant de poursuivre avec les maps, je veux consigner un souvenir que j’ai d’une map où la route se terminait complètement en haut à gauche. Je pense qu’il y avait de l’eau à gauche de la route et que le chemin faisait environ trois cases de largeur. J’ai hâte de voir si ce souvenir est exact ou si j’ai vraiment inventé quelque chose. Selon moi, nous pourrons modifier cette section des maps de la v1 :

“Village -> route cabanon -> Azheria -> port”

On trouve ensuite une route, mais elle ne se raccorde pas bien avec le haut de la map précédente. Le sol est le même tout en bas, mais les piliers sont absents et la transition entre les montagnes ne fonctionne pas bien.

Eh bien voilà !! Mon souvenir vieux d’une décennie était exact ! Wow !

Je remarque que plusieurs maps sont en fait utilisées dans la deuxième section de la v1.

Par exemple, ce chemin mène, vers la droite, à celui de la vidéo « SSO préalpha », où l’on voit le « village bien garni ». Peut-être que tout était finalement connecté ? Je vais devoir analyser tout cela. Cela ne règle cependant pas le fait qu’Azheria se trouverait au nord du chemin du cabanon, même si je suis convaincu que ces maps sont en réalité les versions originales d’avant Azheria.

Un nouveau village que l’on ne retrouve nulle part dans les dossiers et qui est complètement tombé dans l’oubli ! Ce serait Mydia !

Il y a également une petite map de forêt, je crois. Aucun chipset ne semble convenir, mais on peut tout de même avoir une idée de son apparence. Je verrai si j’arrive à la restaurer.

Non, même dans l’autre éditeur, je ne trouve aucun chipset qui corrige cette map. Il s’agit assurément d’une route forestière, mais puisqu’elle n’est reliée à rien, elle sera probablement laissée de côté !

Le système de combat

Il s’agit d’un autre élément assez complexe. Je me souviens que le système était plutôt basique. Le problème est qu’il n’existe aucune vidéo de la v2, à l’exception de celle du mariage de Husk, qui ne contient aucun combat. Les seules traces d’un système de combat se trouvent dans « Smosh en parle ». On voit que, lorsqu’on attaque un ennemi, il clignote… et c’est à peu près tout. En revanche, lorsqu’un ennemi nous frappe, on recule d’environ deux cases tout en clignotant. Notre coup est accompagné d’une animation d’épée d’une seule image.

Dans la v2, le fonctionnement est sensiblement identique, mais je me souviens clairement que le recul n’était plus présent. On pouvait donc simplement attaquer un ennemi de façon répétée pendant qu’il faisait de même, et ainsi véritablement risquer de perdre de la vie. Je n’ai aucun moyen de prouver ce que j’avance, mais quand j’ai un souvenir, j’ai un souvenir !

Je sais qu’il existait des collisions entre le joueur et les ennemis, mais pas entre les joueurs. En réalité, elles étaient présentes dans la v1, mais absentes de la v2, car il était trop facile de bloquer le chemin de quelqu’un et d’empêcher sa progression.

L’interface utilisateur

Bah tout est là !

Les interfaces de la v1 et de la v2, les dialogues, les menus, toutes les compétences, les chiffres, le « 1-2-3 go » et les instruments : tout est là. À ce niveau, cela devrait donc bien aller !

Le problème que je devrai surmonter est de déterminer quelles informations se trouvaient dans chaque menu. Je possède une image nommée menu_options.png, mais elle ne montre que des boîtes vides. Il est donc difficile de savoir quoi y placer, et il faudra improviser un peu.

Les musiques et les effets sonores

Globalement, presque tout y est.

Musiques : MID/OGG. Effets sonores : WAV/OGG.

Cependant, je ne suis pas certain de la musique du premier village. Normalement, nous aurions sûrement repris « Town » de Wild Arms, mais…

Dans la vidéo du mariage de Husk, on entend une tout autre musique. Je sais qu’elle a été superposée à la vidéo originale, car on n’entend pas la chanson d’ouverture de Grade. La vidéo date d’un peu avant l’ajout des icônes d’instruments, puisqu’on ne les voit pas. Je me demande donc si la musique originale était bien « Town » et que la vidéo en utilise simplement une autre, ou si la musique du village a été ajoutée par-dessus pour masquer nos conversations. Selon moi, cette deuxième possibilité est plausible. Je ne connais pas la musique ni sa provenance, mais la vidéo est assez longue pour que l’on puisse entendre la boucle à 1:36. Je pourrais donc effectuer un montage et récupérer la musique de cette façon.

Le lendemain de la rédaction de ce paragraphe, je tombe sur de nombreux dossiers SSO, tous légèrement différents. Certains dossiers de la v1 contiennent même des musiques de la v2 que je ne possède pas dans un véritable dossier de la v2. Je n’y comprends plus rien… Toutefois, j’ai trouvé un fichier villedebut.ogg qui correspond bel et bien à la musique de la vidéo ci-dessus. Le problème est donc réglé !

Les classes

La v1 n’en possédait pas. Il existait plutôt une notion d’éléments, comme on peut le voir sur cette capture d’écran de développement, qui montre encore une fois le chemin du cabanon :

Finalement, nous sommes passés à des classes plus standards :

Selon une capture d’écran publiée sur Facebook, le guerrier possédait cinq sorts fonctionnels. Dans mes souvenirs, l’arbre de talents était complet, mais seuls ces cinq sorts pouvaient être activés. Voyons voir.

Bon, je me trompe probablement, mais, dans tous les cas, SSO Classic permettra uniquement de créer des guerriers et de les faire progresser jusqu’au niveau 15 avec cette liste de sorts. L’effet de chaque attaque est inconnu, à l’exception de celui-ci, qui peut paralyser temporairement un ennemi.

J’ai un vague souvenir que le voleur avait été commencé, mais je pense qu’il ne pouvait encore rien faire. Dans le doute, si je ne trouve absolument rien à son sujet, je limiterai le jeu au guerrier.

On peut donc noter certaines informations ici :

  • On peut jouer un guerrier et le faire progresser jusqu’au niveau 15

Les quêtes

Dans mes souvenirs, la v1 possédait quelques quêtes, mais pas encore la v2. Je me souviens que certaines quêtes pouvaient être commencées à Azheria. Si mes souvenirs sont bons, et ils le sont généralement, il y avait un donneur de quête près de ces arbres.

Cependant, comme j’ignore de quoi il s’agissait, il sera difficile de les recréer. Comme je l’ai mentionné, je doute fortement que des quêtes aient été présentes dans la v2. SSO Classic se limitera donc probablement à la progression en éliminant des ennemis.

Interactivités et éléments divers

Il existe également des mécaniques particulières, comme les instruments.

Tambour, ocarina et guitare : tous les sons nécessaires à leur utilisation se trouvent dans le dossier /sso/data/sound/.

Dans notre build de développement, les instruments étaient accessibles automatiquement, mais j’imagine qu’il faudra accomplir une petite quête ou quelque chose du genre pour les débloquer. Lorsqu’on jouait d’un instrument, des notes de musique apparaissaient au-dessus de notre tête, accompagnées d’une icône représentant l’instrument utilisé.

Il y avait également la boîte :

Disponible depuis la v1 du jeu, comme on peut le voir dans la première vidéo où l’on joue avec les boîtes. Cela semble anodin, mais ces boîtes nous ont suivis tout au long du développement. Elles permettaient notamment de jouer à cache-cache, puisqu’elles masquaient notre nom. Encore une fois, cet élément était accessible dès le début dans notre build, mais il faudrait peut-être accomplir une quête ou quelque chose du genre pour le débloquer.

On pouvait également soulever des objets. Heureusement, un fichier souleve.png existe et me permet de savoir exactement quels objets pouvaient être soulevés.

Je remarque tout de même les boîtes à droite, dont une contient de la dynamite. J’avoue ne pas être certain de leur fonction. S’agissait-il d’un autre mini-jeu dont je ne connaissais pas le développement ? Aucune idée. Dans le doute, je vais probablement devoir laisser cet élément de côté.

Tout à fait par hasard, je tombe sur un fichier monstre(44). Il pourrait donc s’agir de faux coffres susceptibles d’exploser au visage du joueur. C’est ma théorie, et je vais la garder en tête.

Le développement de la v2 avait également ajouté des accessoires, comme des chapeaux.

Parmi les fonctionnalités supplémentaires, il y avait aussi les matchs de cartes.

J’avoue que tout cela demeure très vague. Bien que toutes les informations soient présentes, je ne sais pas encore si j’ai envie de recréer cette fonctionnalité. Je ne comprends pas très bien les cartes 15 à 19. Selon moi, elles sont fortement inspirées de « War of Bouzou » sur RPG Maker, avant que le concept soit modifié pour les cartes 01 à 14. Je verrai, mais, pour l’instant, je ne suis pas très motivé à réaliser cet élément 😀

Il y a aussi de la météo :

Pluie, cycle jour/nuit… Ce sont les effets dont je me souviens, mais nous verrons cela !

On peut donc noter certaines informations ici :

  • On peut jouer de trois instruments de musique différents
  • On peut se cacher dans une boîte, ce qui masque notre nom
  • On peut soulever une série d’objets (voir /sso/data/images/objet/souleves.png)
  • On peut ajouter et retirer des accessoires sur la tête
  • Sekai Wars est un jeu de cartes
  • Météo jour/nuit/pluie/brouillard/nuageux

Personnages

Dans la v1, on devait créer son personnage directement sur le site, comme on peut le voir dans l’une des anciennes nouvelles.

Il fallait donc conserver les ressources en double, pour le site et pour le jeu, ainsi qu’effectuer des validations supplémentaires. Je comprends pourquoi, dans la v2, ce processus a été modifié afin que tout se fasse directement dans le jeu :

Il semblerait que l’on pouvait choisir entre un personnage masculin ou féminin, ainsi qu’une race, même si tout dépendait entièrement du skin choisi.

Il existait également des guildes. Dans mes souvenirs, absolument rien n’était fonctionnel, si ce n’est la possibilité d’appartenir à une guilde !

On pouvait également rejoindre un groupe. Cette fonctionnalité ne faisait encore rien de particulier, mais elle était en préparation pour les futurs donjons.

Je me souviens que, pour l’expérience reçue après un combat, j’avais suggéré (encore une fois) qu’il soit extrêmement rapide d’atteindre le niveau 2. Ainsi, si l’on croisait un joueur de niveau 1, on savait qu’il venait vraiment tout juste de commencer !

On peut donc noter certaines informations ici :

  • On crée son skin au début du jeu, avant d’arriver sur la map
  • On peut rejoindre une guilde, bien que je ne me souvienne plus comment
  • On peut créer un groupe et ainsi voir les informations des autres joueurs
  • Le niveau 2 est hyper rapide à obtenir

Serveur et réseaux

Et le serveur ? Tu n’as pas le code source, comment tu vas faire pour faire fonctionner tout ça !?

Au départ, je voulais utiliser Photon Engine. Après avoir passé des heures à me battre avec cette solution sans obtenir grand-chose, j’arrivais à gérer les déplacements des personnages, mais toute autre action fonctionnait très mal. J’ai donc abandonné cette approche. À la place, j’opterai pour des appels constants qui mettront à jour la position des joueurs et leurs informations dans une base de données MySQL. Si je mets à jour les positions deux fois par seconde, je pourrai ensuite animer chaque déplacement sur 0,5 seconde, ce qui donnera un mouvement fluide aux personnages. L’idée d’effectuer des requêtes Web POST vers une URL peut sembler peu élégante, mais, lorsqu’on joue à des jeux comme FFXIV, on remarque rapidement que lorsqu’un joueur tourne en rond, les autres le voient plutôt décrire des pentagones. Il existe donc une certaine ressemblance à ce niveau. Pour les actions comme attaquer, jouer de la musique, se cacher dans une boîte, etc., je pense opter pour Pusher, que j’utilise déjà et qui permet de gérer très facilement les sockets, du moins en PHP. Il sera donc facile de connecter ensemble les joueurs qui se trouvent sur une même map et de transmettre en temps réel les informations qui ne concernent pas les déplacements.

Tout sera donc généralement enregistré dans une base de données MySQL, comme c’était le cas à l’époque. Certaines actions dans le jeu enverront des requêtes au serveur hébergeant la base de données afin, par exemple, d’obtenir les informations sur notre personnage ou de les mettre à jour. Cela comprend également les quêtes disponibles, commencées ou terminées, l’inventaire, etc.

Et la météo ? Elle devra être synchronisée entre les joueurs. Si tout le monde quitte, puis revient plus tard et provoque le démarrage d’un nouveau serveur, la météo sera-t-elle réinitialisée ? Pour résoudre ce problème, j’ai simplement pensé à utiliser l’heure du serveur et à baser la météo ainsi que le cycle jour/nuit sur celle-ci. Oui, il est possible que, tous les 20 du mois, il pleuve entre certaines heures précises, mais cela n’aura pas réellement d’incidence sur le gameplay.

On pourrait établir qu’une heure dans la vie réelle correspond à 24 heures dans le jeu, soit 35 minutes de jour et 25 minutes de nuit, puisque personne n’aime la nuit. Ainsi, de xy:00 à xy:35, il ferait jour, puis de xy:35 à xy:00, il ferait nuit. Cela donnerait 14 heures de jour et 10 heures de nuit sur 24 heures, ce qui me convient amplement. Il y aurait également une transition de quelques minutes entre les heures clés.

À chaque heure réelle, qui correspond à 24 heures dans le jeu, nous obtenons donc, après quelques ajustements :

De xy:00 à xy:32 : il fait jour.

De xy:32 à xy:35 : le soleil se couche, mais il fait encore jour.

De xy:35 à xy:57 : il fait nuit.

De xy:57 à xy:00 : le soleil se lève, mais il fait encore nuit.

La météo et le temps seront donc basés sur l’heure en cours. Les joueurs nord-américains ont six heures de décalage avec les joueurs européens, parfois cinq puisque le changement d’heure ne s’effectue pas le même jour, ce qui pourrait influencer la météo. Le moment de la journée ne devrait pas être touché puisque le cycle repose sur les minutes de chaque heure. Je vais simplement utiliser l’heure d’un fuseau horaire précis, ce qui réglera le problème.

On obtient donc :

  • Le client, qui affiche tout pour le joueur en cours, y compris la météo et l’heure
  • Des requêtes au serveur pour obtenir et transmettre les informations à enregistrer dans le compte
  • Un serveur qui sert principalement à afficher les autres joueurs

Scénario

La dernière découverte remonte à plusieurs mois après la rédaction de ce document. Par hasard, je suis tombé sur un fichier de mon disque dur qui m’a mené à une publication du forum Oniromancie, alors que je ne cherchais pas du tout de contenu lié à SSO.

https://www.rpg-maker.fr/index.php?page=forum&id=22473

Ce sujet semble avoir été publié pendant une période difficile pour le jeu. Grade semblait avoir commencé ses études et, en lisant les commentaires positifs, il est presque triste de constater où nous en sommes aujourd’hui après de nombreux « Ah oui, cela va sortir bientôt ! » Ce qui me surprend surtout, c’est qu’il s’agit du SEUL endroit où j’ai pu trouver le scénario du jeu.

Quelques années auparavant, la guerre la plus terrible de l'Histoire frappa le monde. Une assemblée de mages noirs ouvrit un portail entre le monde des hommes et le monde des démons. Cette guerre fut sanglante et dévastatrice. Il fallut l'aide des 25 mages les plus puissant du royaume pour refermer ce portail ainsi que de toute leur énergie si bien qu'ils se sacrifièrent en même temps. Une fois refermé, les démons perdirent peu-à-peu leur force au combat et battirent en retraite en se dispersant dans les forets et montagnes alentours craignant d'être anéantis à jamais. Cette guerre avait connu de nombreux morts, elle avait anéanti des familles et laissé de nombreux enfants orphelins. Et c'est dans cette situation que vous émergez.

Choisissez votre destin, choisissez votre voie ! Faites de votre nom une légende !

Ce que j’apprécie ici, c’est que cela confirme une mécanique du jeu : lorsqu’on meurt, on se retrouve dans un monde en noir et blanc et l’on doit trouver un portail pour ressusciter. Mourir nous transporte donc, en réalité, dans le monde des démons. Les portails sont probablement ceux qu’ils ont laissés derrière eux et qui ne sont plus utilisés puisqu’ils ont pris la fuite. Au moins, cela donne une idée de la direction à suivre pour le scénario !

Verdict

Verdict : nous disposons de suffisamment de contenu pour recréer SSO v2 de façon presque parfaite, tout en y intégrant les maps de la v1. Le projet Unity a été démarré, et des tests réseau sont prévus au cours des prochains jours.

Learn more about the Revival Project
Recovery process Development progress