JeuWeb - Crée ton jeu par navigateur
Dofus, sols et tuiles - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Dofus, sols et tuiles (/showthread.php?tid=6603)



Dofus, sols et tuiles - BenYen - 18-01-2013

Bonjour à tous,
très ancien joueur de Dofus, je me suis tout d'un coup posé une question.

Dofus est bien un jeu en iso, mais j'ai l'impression que l'isométrie et sa gestion de tuiles ne concernent que les objets dynamiques (personnages, objets à récolter). Le reste m'a tout l'air d'être "qu'un décor" en background.

Puis je me suis contredit en repensant qu'on pouvait se mettre derrière un bâtiment, le personnage n'est donc pas visible, donc pas de background image suite à cela.

Du coup, tout s'embrouille en voulant chercher LA solution pour faire du mapping isométrique.

Et vous, qu'en pensez-vous ?


RE: Dofus, sols et tuiles - Holy - 18-01-2013

Si je ne me trompe pas Dofus est intégralement géré en flash non ?

C'est bien de l'isométrique, avec gestion de la transparence (j'imagine) quand un joueur passe derrière un objet (maison, arbre, etc.).


RE: Dofus, sols et tuiles - BenYen - 18-01-2013

Exactement c'est flash.

Pour ce qui est du décors (maisons, arbres… gros décors en fait), tu penses que ce sont juste des éléments placés dans la scène sans ce soucier du positionnement par rapport aux tuiles ?

Si c'est ce principe, ce n'est pas le même qu'en HTML/JS, puisqu'il s'agit de gérer les tuiles et par conséquent le décors : un arbre sur une tuile, une fleur sur une tuile, mais qu'en est-il pour les gros éléments comme les maisons par rapport aux tuiles sachant qu'elles peuvent recouvrir une dizaine de tuiles ?


RE: Dofus, sols et tuiles - Holy - 18-01-2013

(18-01-2013, 04:16 PM)BenYen a écrit : Exactement c'est flash.

Pour ce qui est du décors (maisons, arbres… gros décors en fait), tu penses que ce sont juste des éléments placés dans la scène sans ce soucier du positionnement par rapport aux tuiles ?

Si c'est ce principe, ce n'est pas le même qu'en HTML/JS, puisqu'il s'agit de gérer les tuiles et par conséquent le décors : un arbre sur une tuile, une fleur sur une tuile, mais qu'en est-il pour les gros éléments comme les maisons par rapport aux tuiles sachant qu'elles peuvent recouvrir une dizaine de tuiles ?
La gestion des éléments sur la carte repose, selon moi, sur les principes de l'isométrie. Je n'ai jamais joué à Dofus, mais vu le type de mapping, le moteur graphique se soucie du positionnement des tuiles. J'imagine qu'ils peuvent placer leurs éléments de décors qu'en fonction des tuiles de base. Ou alors ils ont un système de calcul qui leur permet de savoir quelles tuiles sont occupées, totalement ou partiellement, par la base de l'élément en question. En fonction de l'occupation (totale ou partielle) de la tuile, le moteur décide que c'est une case où le joueur peut aller ou non.

Par ailleurs, je ne comprends pas trop cette phrase :
Citation :Si c'est ce principe, ce n'est pas le même qu'en HTML/JS
Jusqu'à preuve du contraire il n'y a pas qu'une seule façon de gérer l'isométrique en html / javascript. Je vois pas ce qui t'empêcherait de faire la même chose que sous flash. Tout dépend de comment tu gères tes informations et ton espace de jeu.

En imaginant une carte en isométrique comme ceci où O représente un bâtiment et X de l'herbe :
x x x x x x
x o o x o x
x o o o o x
x o o o o x
x x x x x x

Rien n'empêche de blocker les tuiles où se trouve le bâtiment, il suffit de stocker l'information quelque part (y a une infinité de moyens).


RE: Dofus, sols et tuiles - BenYen - 18-01-2013

Oui c'est ce que je fais, j'utilise un array à 3 dimensions avec toutes les informations (niveau = z, x et y) concernant les tuiles dites de bases (herbes, eau, etc)

Concernant les objets, certains font la taille d'1 tuile (arbres, puits, que sais-je ^^) d'autres plus gros, c'est là mon problème avec HTML/JS et les tuiles en fait :/

En gros, il y a la couche des tuiles de bases sur laquelle viennent se poser les objets, on est d'accord ? Or les dimensions de l'image d'un objet diffèrent bien souvent d'un autre objet, comment alors bien positionner un objet sur une tuile ? (j'entends poser le pied de l'objet sur la tuile) et même une gros objet sur un groupe de tuiles ? je suis sûrement passé à côté de quelque chose.



PS : j'en profite pour ce problème, j'ai déjà vu quelque chose de similaire sur le forum (je crois) mais impossible de retrouver :
http://imageshack.us/photo/my-images/850/capturedcran20130118155.png/


RE: Dofus, sols et tuiles - Holy - 18-01-2013

(18-01-2013, 04:56 PM)BenYen a écrit : En gros, il y a la couche des tuiles de bases sur laquelle viennent se poser les objets, on est d'accord ? Or les dimensions de l'image d'un objet diffèrent bien souvent d'un autre objet, comment alors bien positionner un objet sur une tuile ? (j'entends poser le pied de l'objet sur la tuile) et même une gros objet sur un groupe de tuiles ? je suis sûrement passé à côté de quelque chose.
Il y a plusieurs façons de faire, qui vont de la plus rigide à la plus libre :
1. Ton gros objets est construit "à l'échelle" d'un certain nombre de tuiles : il fait par exemple 2 tuiles de large sur 3 tuiles de long. A partir de ce moment là, aucun problème pour le "poser" sur les tuiles des couches inférieures. Il faut voir les tuiles non plus comme une surface mais comme un espace en 3D (une brique en fait).
Exemple : tu as une maison qui fait 3 briques de largeur sur 5 de longueur et 2 briques de hauteur.
2. Ton gros objet a des dimensions plus fantaisistes et ne respecte pas véritablement de règle d'échelle stricto-sensu. Par exemple pour un arbre qui aurait des racines partant dans tous les sens, il n'y aura que la partie centrale de l'arbre qui sera inaccessible. Il faudra que d'une manière ou d'une autre, tu trouves une façon d'enregistrer "quelle(s) tuile(s)" est (sont) occupée(s) par cet objet au sol. En gros, tu indiques la base de chaque objet à la main (cet arbre reposera sur une tuile et seul cette tuile sera inaccessible).

[Image: tiles_iso.png]
Voilà un exemple plus parlant. Les arbres sur la carte prenne 2 x 2 tiles qui sont inaccessibles pour le joueur.



(18-01-2013, 04:56 PM)BenYen a écrit : PS : j'en profite pour ce problème, j'ai déjà vu quelque chose de similaire sur le forum (je crois) mais impossible de retrouver :
http://imageshack.us/photo/my-images/850/capturedcran20130118155.png/
C'est un soucis d'ordre de calque ou de z-index. Plus un élément vient tôt dans la page plus le z-index par défaut est haut. Plus le z-index est haut, plus un objet à la priorité sur un autre.


RE: Dofus, sols et tuiles - BenYen - 18-01-2013

D'accord je prends note, ça donne des pistes tout ça Wink

Concernant les Z-index, effectivement j'y avait pensé, le problème étant que j'utilise canvas, qui créé les images (sources : png) et s'occupe de les positionner grâce à plusieurs boucles. Or, pour moi, Z-index + Canvas = je nage comme une pierre.
Je parcours un peu (beaucoup) sur le web pour trouver une solution, en vain