vendredi 20 mai 2011

56 - Math & Magic sur Andkon.com

Il y a un peu plus d'une semaine, j'ai été contacté par le site de jeux Flash Andkon.com via ma messagerie privée sur Newgrounds ; on m'a proposé de réaliser une version customisée de mon jeu (sur laquelle figurerait le logo d'Andkon à la place de celui de Newgrounds) dans le cadre d'une licence non exclusive.
Il se trouve que, depuis que Math & Magic a été mis sur Newgrounds, le jeu s'est retrouvé sans mon autorisation sur une demi-douzaine de sites de jeux Flash (il existe même une version hackée sur laquelle on possède 100 000 PV ! °_°) ; même si je trouve moyennement cool que des gens se fassent de l'argent sur mon dos (via les pubs), ça a au moins le mérite d'aider mon jeu à se faire connaitre, donc je ne dis rien : Après tout, je n'avais pas prévu de gagner un seul centime avec ce jeu test...
Andkon étant le premier à me demander gentiment une autorisation, j'ai accepté de répondre à sa requête, et depuis ce matin une version spéciale de Math & Magic est disponible là-bas.

Les particularités de la version Andkon sont les suivantes :
  • Le logo d'Andkon remplace celui de Newgrounds sur le preloader ; cliquer sur ce logo ouvre un lien vers Andkon.com dans une nouvelle fenêtre.
  • Le logo d'Andkon a aussi été ajouté sur l'écran titre ; cliquer sur ce logo ouvre un lien vers Andkon.com dans une nouvelle fenêtre.
  • Le jeu est pourvu d'un sitelock : Il est impossible de jouer à cette version ailleurs que sur Andkon.com.
  • L'animation de mort des ennemis est légèrement modifiée ; ceci est dû au fait que cette version a été réalisée avec SWiSH Max 4 et que l'effet "exploser doucement & tomber" ne se comporte pas de la même façon que sur SWiSH Max 3. J'aurais pu essayer de modifier les paramètres pour retrouver l'effet de la version d'origine, mais finalement j'ai décidé de laisser ça tel quel : J'ai trouvé que ce serait plus intéressant de donner à la version Andkon une personnalité propre avec cette nouvelle animation de mort des ennemis.

jeudi 5 mai 2011

55 - Premiers Résultats

Cela fait presque 3 jours que mon jeu est sur Newgrounds, un premier bilan s'impose :
  • Après avoir obtenu une note moyenne de 3,60 / 5 à ses débuts, le jeu est actuellement à 3,74 / 5.
  • 20 personnes ont ajouté le jeu à leurs Favoris.
  • Au moins une personne est arrivée à finir le jeu (et ce au moins 2 fois) ; je craignais que personne n'ait le courage d'y jouer jusqu'au bout, me voilà rassuré.
  • En revanche, gros point négatif : Chez certaines personnes, le jeu lague au point d'en être injouable, et je ne sais malheureusement pas quoi faire pour y remédier... :(

lundi 2 mai 2011

54 - Enfin sur Newgrounds !

Voilà, c'est fait :
Math & Magic a été posté sur Newgrounds et est désormais soumis à l'avis des internautes : http://www.newgrounds.com/portal/view/568909 ; je vous tiendrai au courant des résultats prochainement...

Il s'agit de la version 1.07 du jeu, qui bénéficie des modifications suivantes :
  • Le bug d'affichage qui faisait que le bas de la fenêtre des skills restait parfois affiché a été corrigé.
  • Certains textes ont été corrigés.
  • Les stats des ennemis "Miner", "Demon Knight" et "Lizard Knight" ont été rabaissées.
  • La vitesse de déplacement des ennemis de la 6ème zone a été réduite.
  • La fiche personnage du monstre "Basalt Golem" a été complétée.

dimanche 24 avril 2011

53 - Version 1.06

Voici les modifications apportées par la nouvelle version du jeu :
  • La section Bonus a été intégrée au jeu ; cette section de 46 pages rassemble des anecdotes sur le jeu, des astuces pour vaincre les ennemis, des illustrations, et propose même un Sound Test. En revanche, l'ajout de ces pages Bonus a eu une conséquence négative sur la taille du fichier, qui a gagné au passage près de 1,2 Mo (désolé pour tous ceux qui trouvaient déjà que le jeu mettait du temps à charger !).
  • L'illustration de l'Écran Titre a été légèrement modifiée (au niveau de la main du Héros).
  • Si un joueur tente d'utiliser le sort "Bomb" à l'étage -7, un message s'affiche à l'écran pour l'informer que cette action n'est pas possible.
  • Un bruitage de pièces de monnaie accompagne l'achat d'objets auprès du marchand.
  • À la fin du Preloader, un message informe le joueur que les contrôles s'effectueront au clavier une fois qu'il aura cliqué sur "Tutorial" ou "Play".
Cette version devrait être, en théorie, la dernière de la session de beta-test.

Tester Math & Magic v1.06

Si votre version est antérieure à la 1.06, il faut que vous vidiez le cache (marche à suivre sous Firefox : Outils > Options > Avancé > onglet Réseau > Vider le cache maintenant).

samedi 9 avril 2011

52 - Bonus : Fiches Ennemis

La phase de beta-test va bientôt toucher à sa fin ; en attendant, je travaille sur la section Bonus (qui se débloque quand on a fini le jeu avec tous les personnages), et je suis actuellement en train de réaliser quelques illustrations représentant les différents ennemis :

dimanche 3 avril 2011

51 - Version 1.05

Voici les modifications apportées par la nouvelle version du jeu :
  • Lors des combats, si vous ne possédez pas suffisamment de PM pour utiliser la capacité sélectionnée, son icone apparait en grisé.
  • Lorsque le jeu est en pause, un message rappelle au joueur qu'il peut cliquer sur l'icone d'un objet de son inventaire pour l'utiliser ; après un premier clic, le message change et indique qu'un second clic est nécessaire pour confirmer l'utilisation de l'objet.
  • Les décors de combat des zones 3, 4 et 5 ont été légèrement modifiés (décalages de certains éléments graphiques) ; grâce à cela, l'XP de l'ennemi est désormais plus lisible dans le décor de combat de la zone 3 (elle était auparavant en partie masquée par la neige).
  • La capacité "Holy Number" donne désormais l'initiative ; cette modification permet de vaincre facilement les "Demon Knights" dès le troisième tour sans prendre le risque de subir des dégâts en cas de Vitesse insuffisante.
  • Le bug qui permettait à la capacité "Fortune" d'être utilisée sans avoir à payer son coût en PM a été corrigé.
  • Étant donné qu'il y a enfin un Tutoriel intégré au jeu, la démo qui défile à l'écran titre a été simplifiée ; il est possible d'accéder au Tutoriel en cliquant sur le parchemin à la fin de la démo.

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 ! ;)

dimanche 13 mars 2011

49 - Version 1.03

Voici les modifications apportées par la nouvelle version du jeu :
  • Le Tutoriel est en enfin disponible !!!
  • c'est tout (mais c'est déjà pas mal !) ^^

samedi 12 mars 2011

48 - Version 1.02

Voici les modifications apportées par la nouvelle version du jeu :
  • La musique de la deuxième zone du jeu (étages 10 à 99) est de nouveau disponible.
  • Le bouton "Tutorial" ne mène plus à la page de test de typo mais bel et bien à la section Tutoriel ; néanmoins cette section est encore en construction, seule l'interface de navigation est fonctionnelle.
  • La capacité "Shatter" coute désormais 6 PM au lieu de 5.
  • L'XP de l'ennemi "Demon Knight" a été augmentée de 1 afin de prendre en compte le fait que les joueurs sont supposés se mettre en garde lorsque cet ennemi utilise son attaque à impacts multiples.
Désolé, le Tuto n'est toujours pas prêt, j'ai dû sortir cette mise à jour en catastrophe pour corriger au plus vite le bug de musique !

Concernant le problème de typo, je pense avoir trouvé un compromis me permettant d'avoir à la fois une typo pixélisée ET des effets de couleur sur les mots importants ; je mettrai ça en place lors d'une prochaine MàJ.

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.

dimanche 6 mars 2011

46 - Myspace

Une grande partie des musiques de Math & Magic est en écoute sur ma toute récente page Myspace : http://www.myspace.com/kritterpann

jeudi 24 février 2011

45 - Beta-Test

Hier j'ai effectué quelques derniers tests sur le jeu avant de lancer l'ouverture de la beta.
Ça a été l'occasion pour moi de déterminer la durée de l'aventure : Il m'a ainsi fallu 2 heures pour finir le jeu avec le Chevalier de Feu ! Étant donné la présence de nombreux facteurs aléatoires, cette durée peut varier d'un joueur à l'autre, néanmoins j'avais l'avantage de bien connaitre le jeu et ses mécanismes, donc je ne pense pas qu'un joueur lambda arrivera à la finir aussi vite.

Au cours de ce test j'ai mis en évidence un petit bug (que j'ai rapidement corrigé), rééquilibré les stats des ennemis, et j'ai surtout réalisé que le tutoriel visible à l'écran titre était trop léger : Si je veux que les joueurs ne jettent pas l'éponge au bout de 2 minutes, il va falloir que j'explique un peu mieux le concept du jeu et les techniques à utiliser pour progresser dans l'aventure !

Donc dès la semaine prochaine, en même temps que la création des pages bonus, je m'occuperai de la création de ce tutoriel, en utilisant le même système de navigation.

Il faudra aussi que je réduise la taille de mon fichier .swf qui pèse actuellement dans les 14 Mo ; les musiques du jeu pèsent à elles-seules dans les 13 Mo, donc il va falloir que je diminue un peu leur qualité pour alléger le tout (d'autant que sur Newgrounds la taille limite est de 10 Mo).


Bref, j'ai encore pas mal de choses à faire, mais j'ai néanmoins le plaisir de vous annoncer que...

LE JEU EST ENFIN EN BETA-TEST OUVERTE !!!

Donc n'hésitez pas à cliquer sur le lien, à jouer, et à me donner votre avis ! ;)

mardi 22 février 2011

44 - Bonus

Si un joueur réussit à finir le jeu avec tous les personnages, la section Bonus est débloquée.

Cette section, actuellement en cours de construction, regroupera de nombreux renseignements sur le jeu (anecdotes, astuces, secrets) et des illustrations (dans un premier temps uniquement celles réalisées par mes soins, mais je compte bien à terme recevoir des fanarts de la part de mes amis et des autres joueurs : N'hésitez pas à m'envoyer vos œuvres ! ).


J'ai aujourd'hui mis au point le système de navigation de cette section Bonus :

Dans le coin supérieur droit se trouve le numéro de la page actuelle, suivi du nombre total de pages de la section Bonus.

Je n'aurai plus qu'à ajouter les pages suivantes au fur et à mesure de leur création (qui aura lieu parallèlement à la phase de beta-test qui va débuter d'ici quelques jours) ; en attendant, cette section Bonus est "Under Construction" :


Voilà, le jeu est quasiment prêt : Encore quelques petits détails à corriger, quelques tests à réaliser en interne, et très très bientôt vous pourrez (enfin) vous essayer à ce jeu !

dimanche 20 février 2011

43 - Intégration des Bruitages

Aujourd'hui j'ai commencé à intégrer les bruitages que j'ai créés l'autre jour ; il m'a fallu ajuster un peu le volume de certains d'entre eux pour qu'ils ne soient ni trop bruyants ni trop discrets par rapport à la musique de fond, et au cours de mes tests j'ai réalisé qu'il me manquait encore 4 effets sonores que j'enregistrerai tout à l'heure...
Bref, la partie "son" de mon jeu est quasiment terminée, et demain je m'attellerai à la dernière partie : La section "Bonus" ! Ce qui signifie que la version test sera disponible avant la fin du mois... :)

jeudi 17 février 2011

42 - Création des Bruitages

Aujourd'hui je me suis amusé avec le micro de mon ordinateur et j'ai créé près de 30 effets sonores entièrement bruités à la bouche et retravaillés avec le logiciel Audacity ; j'espère que tous ces bruitages s'intègreront bien dans le jeu et que le résultat final ne sera pas trop ridicule... ^_^;

jeudi 10 février 2011

41 - Intégration des Musiques

Une fois les musiques composées et converties au format mp3, il n'y a plus qu'à les intégrer au jeu pour qu'elles soient jouées au bon moment. Mais les choses ne sont pas si simples...

Durant le jeu, les phases d'exploration et de combat s'alternent, ce qui se traduit entre autres par un changement de musique.
Quand le combat est terminé, si la musique d'exploration recommence depuis le début, le joueur risque de se lasser facilement de cette dernière ; en effet, pour peu que les combats s'enchainent rapidement, il est fort probable que le joueur n'entende guère plus que l'introduction du morceau !

Afin que le joueur ait l'occasion d'entendre autre chose que l'introduction, on peut par exemple faire en sorte que la musique d'exploration continue pendant le combat, mais en sourdine.
En ActionScript 2, cela peut se faire facilement en attachant la musique d'exploration et la musique de combat à des variables de type "Son" différentes ; cela revient à dire que chaque musique est sur une piste différente, et il suffit de mettre le son de la piste "exploration" à zéro au début du combat et à 100 à la fin pour obtenir l'effet désiré :

var musique_exploration: Sound = new Sound();
musique_exploration.attachSound("bgm1");
var musique_combat: Sound = new Sound();
musique_combat.attachSound("combat");

Au début du combat :
musique_exploration.setVolume(0) // la musique ne s'arrête pas, mais son volume est à 0.

À la fin du combat :
musique_exploration.setVolume(100) // la musique est de nouveau audible.

Le problème, c'est que le langage utilisé par SWiSH Max 3 (le logiciel que j'utilise pour programmer mon jeu) n'est pas l'ActionScript 2 mais le SWISHscript ; bien que similaires dans plus de 90% des cas, ces deux langages possèdent quelques différences subtiles, et le son en fait partie : Avec SWiSH Max 3, l'utilisation de "setVolume" affecte TOUTES les variables "Son" définies ! Si je décide de mettre le volume de la musique d'exploration à zéro pendant le combat, alors la musique de combat sera elle aussi à zéro !

Heureusement, j'ai une autre possibilité pour empêcher la musique d'exploration de recommencer depuis le début après un combat : La mettre en "pause" au début du combat et la faire reprendre là où elle en était quand ce dernier est terminé.


Il existe deux façon de faire jouer un son avec SWiSH Max 3 :
  • Le son est associé à un Clip ou une Scène ; dans ce cas, il est possible de contrôler la musique avec "play()", "stop()", "GotoAndPlay()"... Cela permet entre autres de sauter l'intro d'un morceau, de répéter en boucle un passage précis, etc.
  • Le son est appelé depuis un évènement "OnFrame()" d'un clip ou d'une Scène avec l'instruction "playSound()" ; dans ce cas la musique continue même si la lecture du Clip ou de la Scène est stoppée, et on a accès à de nombreuses options : Choix du volume et du nombre de répétitions du morceau, effets de fade in et de fade out... Un inconvénient majeur cependant : Impossible d'utiliser "playSound()" depuis une fonction, une boucle ou une condition...

J'ai donc créé un Clip "musique" contenant lui-même les Clips "bgm1", "bgm2", "bgm3"...
Chacun de ces Clips "bgm" est placé sur une frame différente du Clip "musique" (bgm1 est sur la frame 2, bgm2 sur la frame 3, etc.).
Le choix de la musique étant lié à la variable "_global.rang", je me retrouve avec le code suivant :

if (_global.rang == _global.bgmActuelle){ // la musique est inchangée
}
else { //on change de musique
_global.bgmActuelle = _global.rang;
musique.gotoAndStop(_global.rang + 1);
}
if (_global.soundSwitch == false){
bgm.setVolume(0)
}

Au début du combat le Clip "bgm" en cours de lecture est interrompu par un "stop()" et je joue la musique de combat depuis un autre Clip appelé "musique2" (qui permet de jouer la musique de combat, mais aussi la musique du Boss final). Une fois le combat terminé, la lecture du Clip "bgm" est relancée avec un "play()" et le morceau reprend là où il en était.

J'ai ensuite intégré les musiques des différentes cinématiques de fin et légèrement retravaillé leur timing.

J'ai aussi ajouté une commande "Toggle Sound ON/OFF" au Menu Clic Droit qui permet de passer du mode "volume normal" (setVolume(100)) au mode "muet" (setVolume(0)) et inversement ; un bouton "Son" ayant le même effet a aussi été ajouté à l'écran titre.
Si le jeu est en mode "muet" au moment de la dernière sauvegarde, il sera aussi en mode "muet" lors du prochain chargement.

mardi 1 février 2011

40 - Composition des Musiques (fin)

Ça y est, après plus d'un mois de travail pas forcément assidu, l'intégralité des musiques du jeu a enfin été composée.

Ceux qui auront suivi avec attention l'évolution de mon travail sur ces musiques auront noté que le dernier morceau que j'ai composé est la musique qui accompagne la cinématique de fin du jeu ; néanmoins la composition de cette dernière s'est avérée plus complexe que prévu...

Le jeu propose 3 fins différentes, plus ou moins heureuses, et chacune des cinématiques de fin voit se succéder des ambiances très variées (il est question de combat, de victoire, de défaite, d'amour, de tristesse...). Difficile donc de composer une musique qui collerait aux 3 fins différentes...

Une première possibilité aurait été de composer 3 musiques différentes, une pour chaque fin ; ça aurait été beaucoup de boulot, d'autant qu'il aurait fallu créer des morceaux complexes dotés d'un timing précis afin de coller au mieux aux images. Qui plus est, le moindre changement dans la cinématique de fin aurait eu pour conséquence de devoir retravailler la musique qui va avec !

J'ai opté pour une autre méthode : J'ai décider de créer 4 petits morceaux d'à peu près 4 secondes, chacun lié à une ambiance particulière, qui sont joués en fonction du contexte.

Il y a :
  • un thème lié à la victoire ;
  • un thème lié au combat ;
  • un thème sombre ;
  • un thème léger style "boîte à musique" qui illustre à la fois une scène humoristique et une scène romantique.
Ces 4 thèmes me permettront donc d'offrir un accompagnement sonore adapté aux différentes cinématiques de fin.

samedi 8 janvier 2011

39 - Composition des Musiques

Ça fait un petit moment que je n'ai pas blogué, mais rassurez-vous, je continue à bosser sur le jeu !

Il y a 2 semaines, j'ai téléchargé un logiciel de composition audio gratuit : Buzz.
Comme mon objectif est de composer des chiptunes (pour rester dans le trip rétro, à l'image des graphismes du jeu), j'ai téléchargé le plugin Famisynth qui permet de reproduire les sons de la NES.

J'ai passé une après-midi à apprendre à utiliser le logiciel, et j'ai commencé à composer la musique de combat. Mais, entre mon boulot et les fêtes de fin d'année, je n'ai pas trouvé le temps de m'y remettre avant... dimanche dernier (c'est à dire le 2 janvier) !
Je me suis un peu rattrapé depuis, j'ai actuellement 4 morceaux de prêts.

Voici la liste des morceaux que je dois composer (je mettrai régulièrement ce billet à jour en rayant les morceaux terminés) :
  • Écran titre
  • BGM 1
  • BGM 2
  • BGM 3
  • BGM 4
  • BGM 5
  • BGM 6
  • BGM 7
  • Combat
  • Combat Final
  • Fin
  • Crédits
Comme vous pouvez le voir, il y a 7 background music, une par environnement graphique.
Le nombre de morceaux à composer est de 12, mais fort heureusement j'ai déjà plusieurs mélodies en tête qui ne demandent plus qu'à être mises en forme avec Buzz (pour ne pas les oublier, j'ai utilisé la fonction dictaphone de mon balladeur mp3 et me suis enregistré en train de les chantonner ^^). Pour les morceaux manquants... j'improviserai le moment venu !