Affichage des articles dont le libellé est typo. Afficher tous les articles
Affichage des articles dont le libellé est typo. Afficher tous les articles

mardi 22 mars 2011

50 - Version 1.04

Voici les modifications apportées par la nouvelle version du jeu :
  • La typo utilisée lors des divers messages à l'écran (ouverture de coffre, dialogue avec le marchand, victoire à la fin d'un combat...) est correctement affichée.
  • Un message rappelle à la fin du Tutoriel qu'il suffit d'appuyer sur la touche "Entrée" pour quitter ce dernier.


Ça y est, le problème de typo est enfin réglé ; pour résumer, voici en quoi il consistait :
  • Lorsque j'affiche un texte dynamique (c'est-à-dire, un texte que je peux modifier en fonction du message que je souhaite afficher), la police utilisée est intégrée au jeu Flash et peut être vue correctement par n'importe quel utilisateur, même si elle n'est pas installée sur son ordinateur ; seule contrainte : les effets appliqués au texte (taille, couleur, gras, italique, etc.) affectent TOUT le texte.
  • Il existe une option "html" qui, si elle est cochée, permet d'utiliser des balises html au sein d'un texte dynamique : Cela permet de modifier ponctuellement certaines parties du texte, comme par exemple afficher des mots-clés dans une couleur différente pour les mettre en avant. C'est cette méthode que j'avais utilisée jusqu'à présent, mais elle a une conséquence indésirable : Dans ce cas la police n'est pas affichée convenablement si elle n'a pas été installée sur l'ordinateur de l'utilisateur !
On se retrouvait donc avec des textes qui ressemblaient à ça :


...alors qu'ils auraient dû ressembler à ça :


J'étais donc confronté à 2 choix : Soit je conserve les effets de couleur, et dans ce cas je renonce à me typo pixélisée ; soit je garde ma typo pixélisée, mais je dois alors renoncer aux effets de couleur.
J'ai donc opté pour la troisième solution :D :
Après avoir décoché l'option "html", j'ai créé une copie de l'objet texte que j'ai placée par dessus ce dernier ; alors que le texte original était de couleur blanche, j'ai donné à la copie la couleur bleue ; je me suis donc retrouvé avec deux textes à afficher : le blanc (texte d'origine) et le bleu (qui ne comprend que les mots-clés, les autres ayant été remplacés par des sauts de ligne et des espaces), avec le texte bleu qui se superpose au texte blanc et recouvre les mots-clés (communs aux deux textes).

Le code ressemble à ça :

_global.texte = "You open the treasure chest:\n\nYou have found the Key of Time!" ; // le texte d'origine
_global.texto = "\n\n\n\nKey of Time"; // le mot-clé ("\n" permet de sauter une ligne)
cadreTexte.textePNJ.text = _global.texte; // l'objet texte dynamique blanc affiche le texte d'origine
cadreTexte.textePNJb.text = _global.texto; // l'objet texte dynamique bleu, placé par dessus le blanc, n'affiche que le mot-clé

J'ai donc dû revoir un à un tous les textes afin de définir la valeur de la variable _global.texto, une tâche fastidieuse mais qui a porté ses fruits : Vous devriez désormais être en mesure de voir les textes affichés correctement, et ce même si la police Apple ][ n'est pas installée sur votre ordi... Et tout ça sans que j'aie eu à faire de compromis !

Il se peut néanmoins que, malgré ma vigilance, certains textes en bleu soient décalés par rapport à la version blanche : Si c'est le cas, n'hésitez pas à prendre une capture d'écran et à me le signaler ! ;)

jeudi 10 mars 2011

47 - Version 1.01

Voici les modifications apportées par la nouvelle version du jeu :
  • La taille du fichier a été fortement réduite, ce qui devrait se sentir au moment du chargement du jeu (on m'a reproché le fait qu'il était trop long dans la version 1.00) : Je suis passé de 13,8 Mo à 5,7 Mo en réduisant la fréquence d'échantillonnage des musiques de 44,1 kHz à 22,05 kHz.
  • Un bouton "Tutorial" a aussi été ajouté à la fin du Preloader, mais ne donne pour l'instant pas accès au Tuto (que je n'ai toujours pas rédigé) : Ce bouton sert actuellement à se rendre sur une page de test qui me permettra (je l'espère) de comprendre pourquoi certains messages à l'écran ne sont pas affichés avec la bonne typo.
  • Lors de la sélection des icones de combat, si le curseur est sur un point blanc (emplacement d'une capacité qui n'a pas encore été débloquée), alors son aspect est suffisamment différent pour qu'on le distingue d'un point blanc non sélectionné :
Normalement le Tutoriel devrait arriver dans la prochaine version, sauf si j'arrive à résoudre mon problème de typo avant.

mardi 19 octobre 2010

22 - Effets et Animations des Capacités, Affichage des Dégâts

Je suis actuellement en train de programmer les effets des différentes capacités : Certaines font perdre des PV aux ennemis, mais d'autres permettent de modifier les stats des personnages (de manière positive ou négative suivant les cas). Ça me fait près d'une vingtaine de capacités à programmer, heureusement certaines reposent sur un modèle similaire, ce qui me fera gagner du temps...

Parallèlement à ça, je travaille aussi sur les animations de ces capacités ; bien qu'elles se résument à des effets visuels relativement simples, elles nécessitent malgré tout la création de nombreux éléments graphiques, ce qui va donc m'occuper encore quelques jours...

Bref, beaucoup de boulot, mais ça avance : J'ai entre autres mis au point aujourd'hui l'affichage des dégâts.
J'avais une idée bien précise de l'aspect des nombres, je voulais qu'ils soient composés de multiples carrés, et j'ai donc effectué une recherche de typos sur Dafont en espérant en trouver une qui corresponde à ce que j'avais en tête : Mon dévolu s'est finalement jeté sur Looksky Font par Espen Morten Kvalheim. Voici ce que ça donne :


lundi 20 septembre 2010

12 - Fenêtres de Textes - Modification de l'Inventaire - Choix

Une fois que le contenu du trésor a été tiré au sort, il faut transmettre cette information au joueur ; pour ce faire, j'utilise une fenêtre de texte au design une fois de plus rétro (texte blanc sur fond noir, cadre blanc pixelisé). À l'intérieur du Clip "fenêtre de texte" se trouve un objet "Texte dynamique", c'est à dire un texte que je peux modifier en fonction du message que je souhaite afficher.

Au moment d'effectuer mes recherches graphiques, j'ai opté pour une typo pixelisée appelée "Small Fonts" ; le problème c'est que cette typo est au format .fon, alors que SWISH Max utilise le format .ttf : J'ai donc dû chercher une typo TrueType qui, une fois l'option "police pixelisée" activée, ressemblerait suffisamment à "Small Fonts". Et fort heureusement parmi toutes les polices installées sur mon ordi il y en a une qui répond à ce critère : "Franklin Gothic Medium". La seule différence notable est la présence d'une barre sous le 1.

J'ai donc utilisé cette typo pour l'affichage des stats. Et je comptais bien l'utiliser aussi pour afficher les divers messages du jeu, sauf que...


Il est possible d'intégrer des balises HTML au sein d'un objet "texte dynamique" en activant l'option adéquate. Cela permet de modifier l'apparence de certains éléments du texte (mots en gras, en italique, soulignés, changement de taille ou de couleur), et de mettre ainsi certains mots en avant.
Il se trouve que j'ai justement envie que, lorsque le joueur reçoit le message "Vous avez trouvé une Épée +50 ATT, voulez-vous l'équiper ?", l'expression "Épée +50 ATT" ne soit pas écrite en blanc mais en bleu.

Le changement de couleur se fait à l'aide de la balise <font color ="#B0BCF9"></font>, sauf que je ne peux pas utiliser de guillemets tels quels car ils servent à marquer le début et la fin d'une chaîne de caractères ; je suis donc obligé d'utiliser le code ASCII du caractère guillemet à la place : chr(34).

message = "Le début est en blanc <font color=" add chr(34) add "#B0BCF9" add chr(34) add ">puis en bleu</font> et de nouveau en blanc !";
monTexteDynamique.text = message;

edit : suite à une remarque judicieuse de Fitz (voir les commentaires), j'ai découvert une autre façon d'intégrer des guillemets à ma chaîne sans pour autant passer par le code ASCII : Il me suffit juste de marquer le début et la fin de la chaîne avec des apostrophes et non des guillemets !
Le code ci-dessus aurait en fait pu être remplacé par :
message = 'Le début est en blanc <font color="#B0BCF9">puis en bleu</font> et de nouveau en blanc !';
monTexteDynamique.text = message;


Pour me simplifier la vie, je me suis créé une variable "bleu" et une variable "blanc" qui me permettent de changer de couleur facilement ; la variable "bleu" correspond en fait à la balise d'ouverture <font color ="#B0BCF9"> tandis que la variable "blanc" correspond à la balise de fermeture </font> :

bleu = "<font color=" add chr(34) add "#B0BCF9" add chr(34) add ">";
blanc = "</font>";
message = "Le début est en blanc " add bleu add "puis en bleu" add blanc add " et de nouveau en blanc !";
monTexteDynamique.text = message;

Le problème, c'est que l'activation des balises HTML a pour conséquence la désactivation de l'option "typo pixelisée" : Mon texte est certes multicolore, mais devient par la même occasion tout lisse !

J'ai donc dû me mettre en quête d'une typo qui soit pixelisée d'origine afin de pouvoir utiliser les balises HTML sans risque de lissage. Et mon choix s'est porté sur Apple ][ (une typo gratuite créée par Ivan Rood), même si l'espacement entre les caractères est plus important ; j'apprécie le fait que chaque caractère occupe un espace de taille identique, ça fait encore plus "vieux jeu 8-bits".

J'ai donc ma fenêtre de texte et ma typo, il me suffit juste d'afficher tout ça au moment adéquat et de modifier mon texte dynamique en fonction du message que je souhaite afficher ; cela donne à peu près ceci :

Une simple pression sur "Entrée" ferme la fenêtre de texte et permet au jeu de reprendre son cours.

Évidemment ce n'est pas tout de dire qu'une Potion+30 a été trouvée : Il faut aussi que l'inventaire soit modifié en conséquence, et que l'affichage soit actualisé pour témoigner de cette modification (ce qui est le cas sur le screen ci-dessus).


Pour les objets que le Héros peut équiper, les choses sont légèrement différentes : Le joueur a le choix entre équiper l'objet trouvé et jeter l'ancien, ou garder l'ancien et jeter le nouveau.
Ce choix s'effectue via un curseur qui se déplace lorsqu'on appuie sur les touches "Gauche" ou "Droite" et qui sélectionne deux cadres ("Yes" et "No") ; par défaut le curseur pointe sur la réponse qui privilégie le bonus de stat le plus important : Si le Héros ramasse une Épée +10 alors qu'il a une Épée +30, c'est la réponse "No" qui sera sélectionnée dès le départ.

Dans l'exemple de la capture d'écran ci-dessus, si le joueur appuie sur "Entrée", la stat "Attaque" (représentée par l'icone Épée) passera de 8 à 9 et l'Épée +8 sera jetée : Le coût en pièces d'or de cette Épée jetée sera ajoutée au "Junk" (l'icone Poubelle en haut à droite du cadre ITEMS) ; le Héros pourra par la suite convertir son Junk en pièces d'or s'il rencontre un marchand qui lui rachète ses objets inutiles.