CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS
Forum
  • Accueil
  • Actus
  • Tests
  • Vidéos
  • Images
  • Soluces
  • Forum

Sujet : Présentation : Alundra LEVEL EDITOR

DébutPage précedente
12
Page suivanteFin
Marchenwald Marchenwald
MP
Niveau 2
02 mars 2021 à 19:12:51

Bonsoir les gens !

Il semblerait qu'il reste une petite communauté française active sur ce jeu donc, je me lance ! :-)
Il y a deux ans environ, j'avais posté un message sur le forum concernant une possible retraduction du jeu (parce que bon, il faut se l'avouer, Psygnosis n'avait sûrement accès qu'à la traduction de Working Design pour bosser. Et bon... Working Design, quoi... xD)
J'avais commencé à noter un peu tout ce qu'il me fallait et il y a quelques mois, je m'y suis remis. Mais après tout, pourquoi diable ne s'arrêter qu'à une traduction ?

Du coup, pour commencer, vendons du rêve ; je travaille depuis quelques temps sur un éditeur de niveau pour Alundra. Voici la bête en images :

https://www.noelshack.com/2021-09-2-1614708031-presentation.png

Il peut déjà gérer pas mal de choses, et lorsqu'il sera en phase final de développement, il pourra modifier un niveau de A à Z (et sans doute un peu plus !)
Par contre, je vais pas pouvoir toucher au moteur du jeu. Je suis pas magicien, hein. xD Autant refaire un jeu en partant de 0, ce sera plus simple.

Si vous avez des questions concernant son fonctionnement, je prends ! Mais là n'est pas la raison de ma venue ici, aujourd'hui ! :sournois:
La rétro-ingénierie (comprendre le fonctionnement du jeu) est un des aspects les plus compliqués du développement, et certaines données sont pour le moins... Sibyllines.
Alors, j'aimerais demander l'aide de quelques volontaires ! Bien sûr, il ne sera pas question d'exploiter vos connaissances en informatique (quoique) mais surtout vos connaissances sur le jeu en lui-même !

Alors, des amateurs ? :P

Marchenwald Marchenwald
MP
Niveau 2
03 mars 2021 à 12:09:51

Bon, je peux pas résister à vous donner un petit exemple, si quelqu'un pense pouvoir faire avancer les choses. (Désolé du double post, au passage)
Voici le problème en images :

https://www.noelshack.com/2021-09-3-1614768776-floor-type.png

Voici la map 404, une des cinq petites instances sans scrolling qui permettent d'accéder au sanctuaire des anciens dans le désert.
Vous voyez la petite case rouge ? (celle du haut, la case du bas ne sert qu'à indiquer la hauteur du sol)
Elle permet d'éditer la tuile courante et de voir toutes ses caractéristiques dans la boîte de dialogue du dessous.
Aussi, ne prêtez pas attention au carré noir de la boîte de dialogue, elle est censée représenter la tuile en question, mais j'ai pas encore implémenté la fonctionnalité vu que la fonction de visualisation est très fraiche.

Vous voyez qu'il existe un certain nombre de paramètres pour décrire le sol, ce qui fait qu'au final, les combinaisons sont assez folles. Ici, on peut remarquer qu'il est de type sable, ce qui est assez logique.
En tout, il existe dans le jeu 8 types de sols, reconnaissables au son qu'ils produisent à l'impact et à leur animation.
- Normal
- Eau basse
- Eau
- Sable
- Eau profonde
- Escalade
Et vous voyez qu'ici, il n'y en a que 6...! :hap:
Effectivement, il y a deux type de sols que j'ai été INCAPABLE d'identifier. Pour autant, leur effet ne m'est pas inconnu. À l'atterrissage, ils ne produisent aucun son, mais possèdent la même animation qu'un sol normal. J'ai passé en revu toutes les maps, mais impossible de déterminer à quoi correspondent ces sols ! Vous auriez une idée ?

Marchenwald Marchenwald
MP
Niveau 2
08 mars 2021 à 17:48:28

Petit up !

En passant, un échantillon d'une des nombreuses maps inutilisées du jeu ! :-)))

https://www.noelshack.com/2021-10-1-1615221957-0.png

Pseudo supprimé
Niveau 6
09 mars 2021 à 22:13:34

C'est vraiment énorme comme taff que tu as réalisé je suis vraiment fière de toi, d'ailleurs je pensais me refaire Alundra qui reste pour moi le meilleure action Rpg 2d Je ne vois pas trop comment je pourrai d'aider mais ça sera avec grand plaisir : p

Serai t'il possible de partager d'autre maps inutilisées du jeu s'il te plait ?

Message édité le 09 mars 2021 à 22:14:30 par
Pseudo supprimé
Niveau 6
09 mars 2021 à 22:23:19

En tout, il existe dans le jeu 8 types de sols, reconnaissables au son qu'ils produisent à l'impact et à leur animation.
- Normal
- Eau basse
- Eau
- Sable
- Eau profonde
- Escalade
Et vous voyez qu'ici, il n'y en a que 6...! :hap:
Effectivement, il y a deux type de sols que j'ai été INCAPABLE d'identifier. Pour autant, leur effet ne m'est pas inconnu. À l'atterrissage, ils ne produisent aucun son, mais possèdent la même animation qu'un sol normal. J'ai passé en revu toutes les maps, mais impossible de déterminer à quoi correspondent ces sols ! Vous auriez une idée ?

Il me semble qu'il y a la neige dans le cauchemar de Kline et ensuite la lave quand on va combattre Torla dans la montagne de feu.

Désolé du double post.

Marchenwald Marchenwald
MP
Niveau 2
09 mars 2021 à 23:57:35

Salut salut !
Pas bête pour la neige. J'y avais pas pensé. Malheureusement, le sol réagit de la même manière que la glace... Il y a simplement une contrainte de mouvement, quoi !
Pour la lave, c'est un sol tout ce qu'il y a de plus normal. La seule différence, c'est qu'il fait mal, comme les pics. (Après, il faudrait que je vérifie, il y a deux valeurs différentes pour les sols qui infligent des dégâts, l'une étant plus délétère que l'autre)
Il faudrait peut-être voir du côté des sols "dynamiques", ceux qui appartiennent aux objets comme les plateformes mobiles ou destructibles.. :question:

Une autre map inutilisée (m'fin, deux). Une épave de bateau qui, je suppose, devait probablement constituer une partie du niveau de Nava. Elle est accompagnée d'une galerie de grottes pas très intéressantes et d'une île pas finie DU TOUT. Je pense pas qu'il s'agisse de l'épave du Clark, ou alors, c'est qu'il a changé de gueule en cours de développement. :oui:

https://www.noelshack.com/2021-10-2-1615330560-0.png
https://www.noelshack.com/2021-10-2-1615330568-1.png

bewoke2 bewoke2
MP
Niveau 17
10 mars 2021 à 04:26:53

Bonjour,
T'as besoin de quel genre d'aide exactement ?

Marchenwald Marchenwald
MP
Niveau 2
10 mars 2021 à 12:24:17

Principalement de la collecte d'informations, comme le problème que j'ai exposé un peu plus haut !

Dans la même veine, j'ai un souci concernant les objets (à savoir, tout ce qui peut se trouver sur la map, y compris Alundra lui-même). Dans l'entête dédié aux objets se trouvent 256 entrées pouvant chacune contenir un pointeur, une valeur d'adressage menant aux données de l'objet : comment l'afficher, son animation, sa position, son pattern, etc... Cela signifie qu'une map peut contenir au maximum 256 entités dynamiques, mais ce n'est pas tout ! Selon son type, un objet ne pourra pas occuper n'importe quelle entrée ; j'ai déjà essayé d'intervertir certains pointeurs et ça foire la plupart du temps. Ça voudrait dire que les entrées s'organisent en groupes de types. Par exemple, on pourrait imaginer que dix entrées peuvent accueillir des coffres, vingt autres des ennemis, et ainsi de suite.

Le problème, c'est que tester les objets est trèèès long. En comparaison, aller modifier un élément graphique du niveau dans la mémoire vive n'est pas bien compliqué étant donné que la mémoire vidéo est rafraichie à chaque frame. En gros, pour faire un test, on change la valeur, c'est instantané et on voit ce que ça donne. Avec les pointeurs en revanche, c'est assez différent vu qu'ils sont lus uniquement au chargement de la map. Donc, pour tester, il faut changer la valeur, la geler pour qu'elle ne soit pas actualisée, charger une autre map, attendre, puis REcharger la première map pour enfin constater les éventuels effets (oui, c'est laborieux).

Du coup, il faudrait pouvoir recenser tous les différents types d'objets possibles et leur nombre maximum sur une même map (pour pouvoir identifier des groupes d'entrées et leur taille). Par exemple, je pense pas trop me mouiller en disant que les ennemis en général, peut-être les boss aussi, sont un et même type d'objets : même intelligence artificielle au QI négatif, la possibilité de se déplacer, d'infliger des dégâts, d'en subir, d'être détruit.. Tout en supposant que le groupe des entrées pouvant les contenir doit être assez grand.

Voilà voilà. Dans l'idéal, il faudrait lister tout ça jusqu'à obtenir un nombre qui avoisine les 256 ! :hap:
Bien sûr, il faut s'attendre à ce que certaines entrées n'aient jamais été utilisées ou du moins que quelques groupes n'aient jamais nécessité de contenir leur nombre d'objets limite, même si bon, je parierais plutôt sur le fait qu'ils ont dû se faire plaisir en poussant un peu les capacités de leur moteur de jeu ; quand on voit à certains moments le nombre de lézards ou de singes qu'on peut se prendre sur le coin de la margoulette.

bewoke2 bewoke2
MP
Niveau 17
15 mars 2021 à 12:23:04

Je vois un peu l'idée.
Je vais relire tous tes messages à tête reposée une deuxième fois pour bien assimiler l'idée.
Merci et bon courage !

Maxime2KK Maxime2KK
MP
Niveau 24
20 avril 2021 à 19:51:19

Aurais-tu d'autres images de maps inutilisées ?

Parisportif Parisportif
MP
Niveau 10
10 mai 2021 à 20:05:18

Sinon le sol le plus marquant du jeu est celui du sage, avec les modèles musicaux à reproduire :)

Celui du rêve de Meïa est pas mal non plus :hap:

Bravo en tout cas :ok:, t'extraies les données du CD ?

Pseudo supprimé
Niveau 6
22 mai 2021 à 09:36:10

petit up :p

Marchenwald Marchenwald
MP
Niveau 2
30 juin 2021 à 03:01:07

@Maxime2KK Bien sûr ! J'ai ces trois là, par exemple. Je suppose qu'elles devaient faire partie du rêve de Wendel (vu le tileset et la place dans l'index des maps).

https://www.noelshack.com/2021-26-3-1625014272-00.png
https://www.noelshack.com/2021-26-3-1625014279-01.png
https://www.noelshack.com/2021-26-3-1625014283-02.png

Malheureusement, elles semblent bien vides... C'est normal, étant donné que je n'ai pas encore implémenté la gestion des objets (mobs, pnj, plateformes, coffres...)
Je suis dessus justement. J'ai déjà compris quelques trucs, mais c'est pas évident. Après ça, il restera à gérer les effets d'arrière-plan et de météo ainsi que les dialogues. Du pipi de chat comparé aux objets ! (La musique aussi, mais ça, c'est pas un soucis :hap: )

@Parisportif Oh nice ! J'y avais pas pensé ! Je vais aller vérifier ça. En espérant que ce soit un type de sol et pas un objet interactif... :fou:

Marchenwald Marchenwald
MP
Niveau 2
30 juin 2021 à 03:18:29

@Parisportif Et non, j'utilise des fichiers images. Ça me permet de m'assurer que le soft fonctionne avec toutes les localisations (comme je n'ai pas toutes les versions). Et comme je me sers d'un émulateur pour la partie rétro-ingénierie, ça va de soi ! :-)
En principe, on pourrait utiliser un CD original, ça ne changerait pas grand chose... (J'avoue ne pas avoir testé, mais pourquoi pas ajouter quelques lignes de code pour rendre ça accessible)
Toutefois, vu qu'une modification implique forcément l'utilisation d'une image de la rom (bah oui, on va pas réécrire directement sur le CD), l'intérêt me semble un peu limité...

Tenez, d'ailleurs, je précise : L'interface a un peu changé depuis la dernière fois. Non, je n'ai pas enlevé de fonctionnalités, j'ai simplement ajouté un peu d'ergonomie. Maintenant, les tuiles et les palettes peuvent directement être sélectionnées via un clic (et sont en surbrillance). Plus de bouton pour obtenir des infos sur une tuile, un simple clic droit sur la map permet de les afficher. Plus de curseur pour le zoom ni de barres de défilement, on peut zoomer directement avec la molette de la souris et se balader sur la map en passant en mode "saisie" grâce au bouton Ctrl. Voili voilou ! Je ferais peut-être une vidéo un de ces quatre pour présenter la prise en main.

(Désolé du double post, le site m'a pas laissé modifier mon précédent message.... ^^')

Marchenwald Marchenwald
MP
Niveau 2
04 juillet 2021 à 02:08:44

GROSSE avancée :

J'ai enfin compris le fonctionnement des objets et des instances. Des images en parleront mieux que moi ! :)

https://www.noelshack.com/2021-26-7-1625356842-alundra.png

En haut à gauche : Pas de modifications
En haut à droite : Un clone d'Alundra (pourquoi pas, hein...)
En bas à gauche : Un coffre
En bas à droite : Alundra ouvre le coffre et obtient un Vaisseau de Vie. Attendez... Mais non ! C'est le Forum de JVC ! :siffle:

Donc, au final, il ne me reste plus qu'à comprendre le fonctionnement des événements.. Le plus dur, selon moi, mais ils ne représentent qu'une très petites partie des données (donc assez peu de choses à analyser, au final)

CooIman59 CooIman59
MP
Niveau 6
06 juillet 2021 à 09:37:07

Bravo :ok:, en ayant intégré les objets, c'est près de la moitié des éléments affichés, non ?

Pour les événements, ils correspondent aux animations ?

Les sols du sage activant les portails sont des interrupteurs, comme sur ton image https://www.noelshack.com/2021-26-3-1625014279-01.png ou ceux plus hauts https://images.app.goo.gl/QkrG193WXgqy5jRK6

Message édité le 06 juillet 2021 à 09:37:57 par CooIman59
Marchenwald Marchenwald
MP
Niveau 2
06 juillet 2021 à 22:53:17

@Coolman59 Bah, en fait, ce que j'appelle "objets", c'est l'intégralité des éléments qui se comportent de manière dynamique. Ça prend en compte les PNJ, les plateformes mobiles, les monstres, les coffres, etc...
De fait, ça représente l'intégralité des éléments affichés. :gni:

Dans les données du jeu, les objets sont stockés avec leur caractéristiques : Toutes leurs animations, la vitesse à laquelle ils peuvent aller, la manière dont ils réagissent avec l'environnement, etc...
Ça, c'est ce que j'appelle un objet et c'est précisément ça dont j'ai compris le fonctionnement.

Ensuite, il y a les instances. En programmation, on distingue les objets et les instances. Un objet, c'est un peu une entité "générale" qui contient des informations (ici les caractéristiques). L'action d'instancier un objet consiste à l'utiliser, en quelques sorte. Par conséquent, les instances correspondent aux différentes versions d'un objet, visibles dans le niveau et réagissant toutes de manière différente, justement parce qu'elles ont été instanciées. Par exemple, un objet n'a pas de position sur la map, ça n'aurait pas de sens. Par contre, plusieurs instances du même objet peuvent avoir une position différente. Si on a, dans un niveau, deux gélatinoïdes, on peut considérer que c'est le même objet, mais pas la même instance !

C'est là que rentrent en jeu les événements. Lorsqu'on instancie un objet, outre la position, on peut lui assigner des événements ; ils vont permettre de déterminer comment l'instance va réagir dans une situation donnée (par exemple, avec un paterne). C'est précisément ça que j'étudie pour le moment.
Je sais à quoi correspondent les événements assignés pour chaque instance, mais pas comment ils fonctionnent !

Pour l'instant, pour chaque instance, je sais qu'il y a :
- Sa position (Horizontale, Verticale et Hauteur)
- Un événement de création (lorsqu'il est instancié)
- Un événement de destruction (bon, c'est assez transparent, hein)
- Un événement de collision (lorsqu'il y a contacte)
- Un événement d’interaction (comme lorsqu'on parle à un PNJ)
- Un événement d'action (il correspond aux paternes ou à l'IA)
- Un événement dont je sais foutrement pas ce que c'est
- Une dernière valeur qui est peut-être un événement mais je sais pas trop trop... Pour toutes les instances que j'ai étudié, il est toujours égal à 0, donc c'est peut-être simplement un marqueur ou une valeur utilisée par la mémoire du jeu sans qu'elle ne porte de données.

Je sais aussi où sont stockées les données des événements dans chaque niveau et à quel type d’événement elles correspondent mais alors... De là à comprendre comment ça marche ! >.<'
Le souci, c'est que certains événements sont déclenchés par des flags (des valeurs qui indiquent si un AUTRE événement s'est produit ou non. Par exemple, si j'essaye de charger une instance de Meia qui est censée me dire quelque chose lorsque Septimus rentre en collision avec une certaine position sur la map, tant que Septimus n'est pas là, Meia ne me dira rien. C'est logique, mais c'est aussi la raison pour laquelle c'est assez dur à étudier. Je peux pas simplement me contenter de charger n'importe quel événement et voir comment il fonctionne, il faut les considérer comme un tout.

Bon, et sinon, il y a aussi des événements globaux, qui ne correspondent pas forcément à une instance en particulier mais qui se déclenchent lorsqu'on rentre dans une certaine portion du niveau. C'est pas bien différent au final, mais faut aussi prendre ça en compte.

Ah, et concernant les "dalles" sur mon image, ce sont simplement des portails. Ils fonctionnent exactement comme les portes. De fait, ils ne sont pas considérés comme des objets. ^^

Message édité le 06 juillet 2021 à 22:56:20 par Marchenwald
CooIman59 CooIman59
MP
Niveau 6
08 juillet 2021 à 14:04:41

D'accord, malgré leur son accompagnant la téléportation ? Les portes n'ont pas de son et entraînent juste un glissement de l'écran vers la salle suivante, quand les téléporteurs par leur interaction brouillent l'écran et le son en nous amenant dans une autre pièce, la programmation doit être différente entre les portes et les téléporteurs, non :question:

Surtout avec les téléporteurs extérieurs, sous les arches de pierre qui amènent au téléporteur central, pour emprunter une autre arche et parcourir la carte plus vite, en permettant de finir Alundra en 5h :hap:

Message édité le 08 juillet 2021 à 14:05:12 par CooIman59
Marchenwald Marchenwald
MP
Niveau 2
08 juillet 2021 à 21:21:27

Et pourtant, c'est exactement la même chose ! :-)))
On pourrait très bien décider de jouer une animation et un son au passage d'une porte (d'ailleurs, je l'ai déjà fait moi-même. C'est justement avec des portes que j'ai compris leur fonctionnement), ça n'aurait simplement pas beaucoup de sens. En fait, la "téléportation" d'une map à l'autre se fait soit lorsqu'Alundra rentre en collision avec la tuile portant la "warp", ou bien lorsqu'il n'y a plus de collision avec celle-ci, et ce dans une direction donnée.
C'est un fonctionnement assez pratique, vu qu'il est généralisable à toutes les formes de "téléportation", que ce soit sur le sol, au niveau d'une porte ou en sortant hors de la map (lorsque deux salles sont reliées par un couloir, par exemple, ou même en extérieur).

D'ailleurs ! Est-ce que quelqu'un aurait une idée pour nommer ces objets là ? J'avais appelé ça des "warps" en référence à SuperMeatBoy, mais au final, je suis pas convaincu que ça représente bien l'idée. xD

Marchenwald Marchenwald
MP
Niveau 2
12 juillet 2021 à 23:18:57

Bonsoir !

À l'heure actuelle, je n'ai pas prévu d'inclure d'éditeur complet de musiques dans mon logiciel, étant donné que ça représenterait pas mal de taffe supplémentaire et que l'opération est déjà faisable moyennant quelques connaissances et l'acquisition de certains outils déjà existants (bien qu'assez capricieux).
Toutefois, je n'écarte pas totalement l'idée, et, à ce titre, je vous présente les potentiels que pourrait présenter un tel éditeur :

Voici une nouvelle version de "The use of Meia" que j'ai arrangée pour l'occasion ! Je l'ai testée réinsérée en jeu et elle fonctionne parfaitement (même si j'avoue ne pas encore avoir très bien compris le fonctionnement du panning, et les logiciels que j'ai utilisé craignent un peu, donc un éditeur ne serait pas un luxe...)

Voilà voilà ! En espérant que ça fasse un peu patienter en attendant la suite ! :hap:

DébutPage précedente
12
Page suivanteFin
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : Evilash08, Vortex646, Tomy-Fett, Leirok, ]Faustine[, Latios[JV], Remysangfamy
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

  • Aucun sujet à ne pas manquer
La vidéo du moment