5568 sujets

Sémantique web et HTML

Bonjour à tous,

je suis le co-fondateur d'un jeu Médiéval MMO RPG gratuit sur navigateur qui verra bientôt le jour.
Je recherche une façon simple de réaliser un Arbre de Talent façon World of Warcraft qui nous permet de dépenser les points de talents acquis lors de level up.

exemple: http://worldofwarcraft.judgehype.com/index.php?page=Tsimulateur_druide

La seule différence notoire avec ce modèle est qu'il n'y a pas différents rangs, c'est à dire différents points à dépenser sur un seul icone.

Suivant le rang de l'icone (ligne 1, 2, etc...) il y aura un un prix en points de compétence différent et croissant mas je le répète un seul clique sera demandé pour déverrouiller le palier suivant.

Je pense que la majeure partie est en HTML / CSS mais j'aimerai avoir votre avis, je cherche depuis un bon bout de temps sans succès.

BPDESIGN Smiley biggrin


Par exemple ligne 1 = 1pt / ligne 2 = 3 pts / ligne 3 = 5 pts / etc...
Modifié par Felipe (18 Mar 2011 - 08:45)
bpdesign a écrit :
Je pense que la majeure partie est en HTML / CSS

La majeure partie sera plutôt programmatique, donc beaucoup de JavaScript.

Pour la structure HTML, l'arbre de talent que tu donnes en exemple n'est pas clairement structuré. Je n'ai aucune idée des relations entre les éléments (un coup il y a des flèches, le plus souvent non), de ce que signifient les lignes et les colonnes (si ce sont des lignes et des colonnes et pas juste un placement arbitraire).

Si tu as un schéma et une description précise de ce que tu veux obtenir, on pourra peut-être t'en dire plus. Ceci dit, il est probable que la sémantique HTML ne permette pas de décrire les relations entre tes différents éléments.
http://img340.imageshack.us/img340/1876/exemplearbre.png

Voilà un exemple type, ne faites pas attention aux couleurs.

Pour les bandes jaunes ce sont les liens de "parentés" entre 2 icônes de talent. C'est à dire que vous devez interpréter cela comme si on n'a pas "acheté" le talent 1 (le père) on n'aura pas accès au talent 2 (le fils). Pour mon exemple horizontal, vous devez interpréter le père à gauche et le fils à droite.

BPDESIGN
Modifié par bpdesign (12 Mar 2011 - 17:23)
Bon.

Si on voulait coder cette information de manière accessible en HTML, la solution serait de faire un tableau avec pour colonnes:
- Nom du talent,
- Rang,
- Cout,
- Pré-requis (nom du ou des talents nécessaires, le cas échéant).

Maintenant, j'imagine que pour un jeu de ce genre l'accessibilité ne fait pas partie du cahier des charges. Donc on réalisera cette interface personnalisée de la manière qu'on veut, avec les technos disponibles. Parmi les choses disponibles:
- Flash;
- Image Map (une bonne vieille image avec des zones cliquables, associées à des fonctions JS);
- Série d'éléments DIV (ou listes UL ou éléments A ou autre), mis en forme en CSS;
- SVG;
- Canvas.

Il y a un peu l'embarras du choix.
Pour une solution à base de code HTML «simple», tu peux sans doute partir d'une structure qui ressemble à:
<div id="talents">
  <div class="rank-row" id="rank1">
    <h2><abbr title="Rank 1">R1</abbr></h2>
    <ul>
      <li id="talent25">
        <a class="icon available" href="/talents/get/25"><img alt="Danse contact (apprendre)" src="/img/talents/25a.png"></a>
        <abbr class="cost" title="2 points">2</abbr>
      </li>
      <li id="talent71">
        <span class="icon done"><img alt="Marche funèbre (acquis)" src="/img/talents/71b.png"></span>
      </li>
    </ul>
  </div><!--#rank1-->
  <div class="rank-row" id="rank2"></div><!--#rank2-->
  ...
  <div class="rank-row" id="rank6"></div><!--#rank6-->
</div><!--#talents-->

Ce n'est qu'une piste parmi d'autres possibles. Et bien sûr tout dépend de comment est conçue ton interface.

Pour les liens de parenté, tu peux les dessiner avec des éléments de décoration ou des images de fond. Tu peux ensuite répéter l'information en texte dans le texte alternatif (et/ou texte au survol, tooltip, etc.) pour un talent donné: <span class="icon disabled"><img src="/img/talents/64c.png" alt="Bulles avec le nez (requiert Pitrerie Démoniaque)"></span>.
Ouah! Quelle réponse! Merci beaucoup pour ton implication, je me penche dessus dès demain soir! Encore merci! Smiley cligne
Bonjour,

j'ai étudié la situation et je crois que le plus simple sera comme vous me le proposer. Ensuite il me restera plus qu'à le styliser en CSS et par contre passer le javascript que je ne connais pas du tout même si je le "déchiffre" Smiley sweatdrop