dimanche 30 août 2009

Dev - Second projet - WTN : première beta publique!

Hi,

Ça y est, WTN est enfin disponible au grand publique! Vous pouvez aller voir la fiche du projet et le télécharger sur cette page.

Quelques remarques par rapport à mon dernier message :

-La porte a été ajotée, avec pour l'instant le même sprite que celui de la plateforme mobile.
-L'ennemi volant s'anime, mais son IA n'est aps encore écrite donc il n'est pas présent.
-Le bouton Start permet d'afficher un "menu" sur l'écran supérieur.
-Le premier niveau est crée.

Donc, il n'y a qu'un seul niveau et aucun boss (c'est dû à un problème d'IA pour ce dernier) sur cette première démo.

C'est tout pour aujourd'hui, à vous les studios.

mercredi 26 août 2009

Dev - Second projet - WTN : message rapide

Hi,

Petite note rapide, pour signaler la remise en marche du compilateur de mon ordinateur, et donc la suite du développement de WTN. Derniers ajouts en date :

-les missiles envoyés par le premier boss tournent sur eux-même.
-ajout d'un ressort, qui permet de sauter plus haut.
-menu principal qui fonctionne bien (on peut accéder au jeu...^^).

A suivre :

-ajout d'une porte, qui ne s'ouvre qu'avec une clé (logique, me direz-vous).
-ajout d'un nouveau type d'ennemi, le premier ennemi volant.
-interface correcte pour le menu de pause, ainsi que pour le début/fin de niveau et le game over.
-création du premier niveau (parce que jouer sur un niveau de test, c'est pas le fun absolu).

Et qui sait, une release à la fin?

mardi 9 juin 2009

Dev - Casio 35+ - Pendu

Hi,

Ah, ma connexion Internet... Il faut croire que sans elle, je suis perdu. Enfin bon, après de long mois d'absences, pour causes de tout plein de bugs/virus sur mon ordinateur, me voila enfin de retour! Bon, puisque mon ordinateur ne me permets toujours pas de compiler mes programmes .nds, je vais donc vous faire part d'un autre projet, récemment achevé, encore une fois sur Casio 35+.
Cette fois -ci, c'est lors d'une sortie scolaire (qui demande pourquoi j'avais ma calculatrice à ce moment là?) que mon projet a débuté. Pour tromper l'ennui, j'ai commencé à réfléchir à la structure que prendrais un tel programme. Voici plus ou moins ce que ça a donné :

Définition du mot à trouver
||
Récupération de la touche
||
Comparaison succesive avec les lettres du mot
// \\
Lettre trouvée Lettre incorrecte
|| ||
Affichage de la lettre Décrémentation du score
|| ||
Retour à la vérification Affichage du "pendu"
||
Retour à la vérification

Tout de suite, le premier problème : la fonction pré-installée pour afficher du texte ne permet pas l'utilisation de variables comme argument = une fonction pour chaque lettre du mot, sois des longues heures de copies. J'utilise donc un bête copier-coller, puis je remplace une à une les coordonnées.
Avec un mot de 5 lettres (la base que j'ai choisie), on se retrouve déjà à utiliser 5 étiquettes sur 10 disponibles. Ça commence bien...
Puis viens ensuite la boucle de repérage de la touche pressée = 6 étiquettes.
On ajoute l'étiquette au début du programme, afin d'effectuer un retour à la fin du jeu = 7 étiquettes.
Celle qui me permet d'afficher à l'écran le pendu = 8 étiquettes.
Une autre pour détecter l'appui sur une touche après la fin du jeu = 9 étiquettes.
Ouf! je rentre tout juste dans mes comptes.
Deuxième problème majeur : L'impossibilité d'afficher du texte et un graphique (dont je me sers pour le pendu) simultanément. Qu'à cela ne tienne, je farfouille un peu et fini par trouver une fonction qui affiche des lettres sur un graphique. Problème : les arguments ne sont pas les mêmes que ceux de l'autre fonction..... Et c'est reparti pour un bon tour de changement de coordonnées...

On en arrive donc à un petit pendu, codé en moins d'une semaine, qui affiche un pendu, laisse une dizaine de chances de trouver les lettres, va jusqu'à des mots de 5 lettres de long et fais le café.


Voila, c'était mon premier compte-rendu depuis un bon bout de temps. Bientôt, des nouvelles images de WTN! (si j'arrive à remettre en marche le compilateur...^^)

samedi 24 janvier 2009

Dev - Casio 35+ - Mesure principale

Bonjour à tous!

L'actualité de mon second projet n'étant pas très passionnante pour le moment (ajout d'attaques pour le boss, animations à refaire...), je me permet une petite pause, afin de parler un peu de mon second programme en Basic.
A la vue du titre de l'article, chacun aura deviné que mon programme s'attaque à une partie du chapitre sur les angles orientés du programme de 1ère S : la mesure principale d'un angle.

Résumé : la longueur du cercle trigonométrique est de 2π, l'angle de 360° correspond donc à 2π radians.
(Ainsi, 180°=π radians, 90°=π/2 radians, 45°=π/4 radians...). Conclusion logique, en ajoutant 2π à une mesure en radians, on fait faire un tour entier et l'angle obtenu est le même. Tout angle en radians appartient donc à l'intervalle [-π;π].

Le but de ce programme est donc de donner la mesure principale d'un angle donné en radians sous la forme aπ/b. Commencé le jeudi 15 janvier, en cours de Mathématiques, (bien entendu...)
ce programme a finalement été achevé le vendredi 23 janvier. Ce projet est aussi le premier pour lequel j'ai essayer le travail en équipe : je profite donc de ce billet pour remercier Q. G. pour le travail qu'il m'a permis d'effectuer sur mon programme. Tout de suite, sa réaction :

"Il marche pas ton programme, il est tout plein de bugs"

A propos du temps nécessaire pour finaliser le programme : je n'ai travaillé dessus que pendant les cours de Mathématiques et de Physique-Chimie, ce qui explique le délai d'un peu plus d'une semaine.

Je posterais le code quand j'aurais le temps de le recopier : en effet, je ne possède pas de câble permettant de relier ma calculatrice à l'ordinateur.

C'est donc après tout ce discours inutile que je vous quitte, afin de continuer à travailler sur WTN!

dimanche 4 janvier 2009

Dev - Second projet - WTN : compte-rendu n°1

Bonjour à tous, 

Après plus d'un mois sans poster, il me semble qu'il fallait faire un petit article pour combler le vide
pour ne pas faire de trop grande avancées sans garder de trace (voila, ça sonne quand même mieux comme ça). Voici donc les différentes avancées de mon projet effectuées pendant tout ce temps : 

-Ajout d'un nouveau type de sol : le sol accélérant. Sur ce sol, le joueur ne peux pas décider d'avancer dans la direction qu'il veut, il est comme poussé vers la droite de l'écran, avec une vitesse de déplacement supérieure à la vitesse à laquelle il avance normalement. Le joueur garde néanmoins la possibilité de sauter.

-Ajout d'un nouveau type de tile (dans la map de collision) : le joueur perdra instantanément une vie si il touche ces éléments (pour les connaisseurs, ces tiles sont presque identiques aux pics, ou spikes,  que l'on peut trouver dans les Megaman)

-Ajout du premier boss (enfin!) : le design reste un peu brouillon (je suis pas graphiste, m*rd*!), mais l'essentiel est là. Le boss est contitué de 4 objets : 

-Le premier, sa tête, constitue la partie à viser. 
-Les deuxième et troisième objets, les yeux, dont l'un est l'exact symétrique de l'autre.
-Le quatrième, la bouche, qui servira probablement pour une attaque.

Il ne possède pour l'instant qu'une seule façon d'attaquer, mais je prevois l'ajout d'au moins 2 autres attaques. Il est pour l'instant impossible de l'attaquer de quelque façon que ce soit.

Son unique attaque (mais très originale, vous verrez...) consiste simplement en... un tir dirigé vers le joueur. Oui je sais, c'est connu, mais ça marche toujours, et en plus, c'est facile à ajouter, alors voila.

-Ajout d'une fonction de tir : Prévue à l'origine pour le premier boss (cité ci-dessus), j'ai finalement fait une fonciton plus générale, qui prends en argumentl'objet qui tire le missile, les coordonnées horizontales et verticales de la cible, et le type de missile qui doit être lancé. Ainisi, il sera possible d'utiliser cette fonction pour que le joueur puisse utiliser des tirs.

Remarque : Pour ces tirs, il a fallut créer une IA qui leur permet de se déplacer, et une méthode de collision, qui change selon le tireur et le type de missile.

Bien, je crois avoir fais le tour des ajouts. Passons maintenant à une petite check list, qui me permet de marquer les étapes importantes avant la premières release : 

-Ajout d'un menu de pause convenable : pour l'instant inexistant, j'ai déjà fait quelque chose de rudimentaire dans mon premier projet; il faut que je vois si je peux m'en servir comme base pour ce jeu.

-Création d'au moins 3 niveaux convenables : je n'ai pour l'instant que des niveaux qui conviennent à mes tests, donc sans aucun défi.

-Ajout d'un nouveau type d'ennemi : sans doute un ennemi volant, j'attends d'avoir réfléchi un peu plus la dessus pour en dire plus.

-Ajout d'un autre objet absorbable par le héros : surement un de ceux que j'ai déjà dessiné, mais je reste encore indécis.

-Ajout d'un véritable écran titre : pour l'instant, une image fixe, dessinée avec des carrés par mes soins. A améliorer...

Par contre, pour les sons, il faudra attendre encore un petit peu : non pas que je ne sache pas les utiliser, mais je n'en ai pas encore...