unity3D

Fate of the Norns (suite)

Depuis presque 2 semaines, je n'ai pas accordé beaucoup de mon temps à ce projet.

J'ai tout de même profité pour réviser les langages et techniques suivants : C#, Java, HTML, CSS, PHP, SQL.

J'ai également réalisé une courte vidéo qui décrit mieux que des mots ce qui a été fait jusqu'ici.

 

Lire la suite

Fate of the Norns

29/08/2016 : Cela fait 1 mois que je travaille sur cette application et elle a beaucoup changée.

Désormais, on peut créer entièrement un "Denizen", à savoir :

  • la sélection du type à partir de la liste de tous les monstres possibles du Corebook
  • la sélection de la quantité d'essence (qui change la valeur de la destinée)
  • la sélection de la quantité de destinée (qui change la valeur de l'essence)
  • la sélection des pouvoirs (actifs, passifs, skills) avec en bonus les choix possibles en vert (plus visible)
  • l'enregistrement des données en local sur la machine (non portable)
  • la visualisation d'un résumé des pouvoirs de la créature
  • l'affichage détaillé des pouvoirs lorsqu'on clique sur un pouvoir dans le résumé
    (ça m'a demandé plusieurs jours pour le faire car la gestion des Layout n'est pas facile sous Unity3D mais le rendu est vraiment bien)
  • le "PlayMat" du monstre avec possibilité de "Drag & Drop" les runes
  • la sauvegarde du "PlayMat" pour pouvoir retrouver les runes à leur place dès qu'on y retourne
    (petit bug pour les runes dans "In-Play", elles sont superposées : il faudra stocker la position et la rotation de chaque rune)

 

Actuellement, je suis en train de concevoir la création du "Dweller".

J'ai utilisé et adapté tout ce que j'avais réalisé pour le "Denizen" afin de simplifier ma compréhension (le code, lui, n'est pas si simple que ça et est à améliorer mais je m'y retrouve, c'est l'essentiel ^^)

 

30/08/2016 : Voila, la création du "Dweller" est terminée. Il reste encore beaucoup de choses à faire mais la trame principale est désormais achevée !

 

Ci-dessous, quelques-unes des prochaines tâches à réaliser :

  • Affichage du pouvoir associé à la rune dans le PlayMat lorsqu'on clique dessus (priorité : 0)
  • Possibilité d'ajouter un compagnon à un "Dweller" (priorité : 1)
  • Augmentation de niveau d'un "Dweller" (priorité : 2) ou d'un "Denizen" (priorité : 2)
  • Création d'un site web pour stocker les données essentielles (pouvoirs, listes des "Denizen" et des "Dwellers", ...) (priorité : 5)
  • Modification de l'accès aux informations dans le code (priorité : 5)
  • Ajout de "Divine Potence" (priorité : 3)

 

Lire la suite

Fate of The Norns - Creation

Actuellement, je participe au jeu de rôle "Fate of the Norns: Ragnarok" créé par Andrew Valkauskas. Ayant fait plusieurs petites parties, je trouvais ça fastidieux de créer à chaque fois mes personnages. J'ai donc fait la suggestion à Andrew de lui créer un outil permettant la création des personnages.

Vendredi 22 juillet 2016, Andrew a eu la bonté de me transmettre le Corebook (au format PDF) ainsi que la liste des pouvoirs actifs et passifs.

A partir du livre, j'ai relu la méthode de création de personnages.

J'ai donc commencé à découper les différentes étapes de création :

  • les données générales (nom, niveau, essence, destiné, etc.)
  • les skills/active powers/passive powers
  • la fiche de jeu (pige de runes, déplacement des runes, etc.)

Ce matin, je viens de finir au bout de un jour et demi la gestion de la sélection des skills. Au début, j'ai utilisé un tableau puis, j'ai repensé aux différents travaux réalisés durant le DESS et j'ai pensé qu'une liste serait plus simple.

Il est à noter que la gestion de la sélection des skills sera également utilisée pour les pouvoirs actifs et passifs

MakeItFull v0.25 à v0.28

J'ai trouvé, en regardant divers forums, une nouvelle méthode pour afficher les 2 barres représentant le nombre de tirs restants ainsi que le nombre de succès à réaliser.
Cela rend l'affichage plus "propre". Il reste tout de même un léger bug d'affichage sur les petites résolutions.
Par exemple, en 640x480, le bas des 2 barres masque le texte du bas de l'écran.

Je prévois :
- soit de limiter les résolutions possibles avec un minimum à 800x600 (affichage correct)- soit figer la résoultion

Les 2 solutions me semblent bonnes.
Par souci de maintenance, je vais probablement privilégier la résolution figée.

Le mieux serait d'utiliser les canvas. N'ayant pas vu, pour l'instant, de tutoriels dédiés à ce sujet, je vais laisser en l'état.

Dans tous les cas, le jeu est fonctionnel.
Un petit peu de musique serait un gros plus.

On verra ça après la Game Jam de Nantes (du 23/01/2015 au 25/01/2015).

MakeItFull v0.21 à v0.25

Depuis la version v0.21, j'ai réalisé quelques modifications pour rendre ce "jeu" plus agréable.

Désormais, tous les 10 niveaux, la vitesse de lancer est augmentée.

On boucle sur la vitesse du conteneur et le nombre de réussite sur 10 niveaux. La vitesse de lancer et celle du conteneur sont affichées à l'écran.

J'ai également bloqué la possibilité de tirer durant l'affichage des changements de niveaux.

Il reste encore plusieurs choses pour en faire un jeu :

  1. les bruitages et le son
  2. pouvoir mettre le jeu en pause
  3. les crédits (optionnel mais c'est mieux de le faire)

Bref, j'ai encore un peu de travail (^_^)

Cas du MAC :
J'ai fait également un test pour voir s'il fonctionnait sous MAC mais cela n'est pas le cas.
N'en possédant pas un moi-même, je vais me concentrer sur le Web, Windows et Android.

MakeItFull v0.16 à v0.21

Je pense désormais à être un peu moins régulier dans la mise à jour de mon blog. Une fois par semaine me semble suffisant.
Ce n'est pas que je l'ai abandonné, c'est que j'ai tout simplement d'autres impératifs pour l'instant.

Dernières nouveautés depuis la v0.15 :

On peut choisir de modifier :

  • le fond d'écran pour mettre de la moquette rouge ou bleue à la place du parquet
  • la couleur de la cible parmi 7 couleurs
  • la couleur du texte parmi 7 couleurs

En utilisant les préférences utilisateur de UnityWebPlayer, celles-ci sont conservées d'une session à l'autre; et ce, même en fermant complètement son navigateur.

J'ai également ajouté un classement. Un grand MERCI à flamy (flamy.weebly.com) pour sa procédure.J'ai dû faire quelques modifications pour que cela corresponde à mon besoin mais dans l'ensemble, je n'ai fait que recopier son code.

Le niveau maximum est le niveau 10. Dès qu'on le termine, le jeu s'arrête. Cela évite que le jeu devienne infini après un certain niveau (j'avoue ne pas avoir essayé de le trouver).

J'ai également rajouté un bouton "Quitter", utile surtout pour les versions Windows / MAC.

Voilà pour les quelques changements.

Il me reste encore les musiques et sons à trouver et à ajouter. Le plus dur étant d'en trouver qui sont libres de droit et qui me plaisent (^_^)Ensuite, ce projet sera définitivement terminé.

Il faut quand même reconnaître que ce jeu, bien qu'ayant un scénario plus que simpliste, m'aura permis de découvrir un grand nombre de choses telles que :

  • les boutons / Box / Labels via  OnGui() et leur positionnement
  • le multi-scène !!! Très important pour mes futurs projets !
  • les préférences utilisateur (en local mais c'est déjà mieux que rien ^^)
  • etc...

MakeItFull v0.12 (suite) à v0.15

Je n'ai pas donné de nouvelles depuis la version v0.12; soit une semaine.

Version v0.12 :

On était resté sur une version qui était très stable.
Elle affichait les valeurs des compteurs et, en plus, permettait de relancer le jeu une fois que nous avions perdu.
La relance se faisait avec un bouton !

Edit : n'ayant pas la version complète de Unity3D, je n'ai pas pu utiliser de canvas. J'ai dû utiliser une box contenant un rectangle.

La position de la boîte et du bouton ont été indiqué "en dur". Cela donne le résultat suivant en 1280x1024 : Makeitfull v0 12 bug buttons

Pas vraiment beau, n'est-ce pas ?

Version 0.13 :

Dans cette version, j'ai transformé le nombre de tirs restants ("Remaining") par une "barre" qui permet de visualiser le nombre de tirs restants.
Cette "barre" n'est en fait qu'un texte contenant le caractère "L". J'ai trouvé une solution dans un tutoriel mais, n'ayant pas le même canvas, j'ai cherché une méthode alternative.

Makeitfull v0 13 main

En prenant un peu de recul, il manque tout de même le nombre. Cela me semble, aujourd'hui, important de l'afficher.

Quoiqu'il en soit, cette version contient un bug que je viens de (re)découvrir : le dernier tir possible affiche systématiquement le bouton "Restart" même si le tir est réussi.

J'avais également ajouté la vérification du nombre de succès à avoir par rapport aux nombre de tirs restants.
Exemple : il reste 2 tirs et 1 succès à faire. Si on rate le prochain tir, il reste 1 tir et 1 succès. On peut toujours tirer.
Cas inverse : il reste 4 tirs et 3 succès. On rate les 2 prochains tirs, il reste 2 tirs et 3 succès. On ne peut plus tirer et on affiche le bouton "Restart".

Version v0.14 :

Cette version, développée ce matin, contient...un menu principal !
J'ai tout de même pris le temps d'utiliser la corbeille et les livres du jeu pour faire l'image du fond.

Comme vous pouvez le constater dans les 2 copies d'écrans ci-dessous, j'ai repris la méthode du bouton "Restart" (^_^)
Le positionnement laisse également à désirer...

Copie d'écran en 512x384 :
Makeitfull v0 14 main 512x384

Copie d'écran en 800x600 :
Makeitfull v0 14 main 800x600

Version v0.15 :

L'affichage des menus sur cette version a été grandement amélioré : ils sont tous centrés au milieu de l'écran; et ce, peu importe la résolution !
J'ai également rajouté 2 nouvelles scènes (en travaux) : une pour les options et une autre pour les crédits.
Un bouton "Main menu" a été ajouté en dessous du bouton "Restart".

Makeitfull v0 15 mainmenu

Makeitfull v0 15 restart

Lire la suite

MakeItFull v0.12

J'ai résolu le bug concernant le non affichage du bouton Restart.
Je vais essayer de voir si je peux rajouter des barres à la place du texte pour :

  • le nombre de tirs restants (Remaining)
  • le nombre de tirs réussis (Success / Remain success)

Je pense que je vais laisser le bug permettant de tirer durant le changement de niveau. Je pense que cela est trop structurant pour le corriger.
De plus, cela forcera les joueurs à être plus attentifs à ce qu'ils font Bouche cousue

Bugs connus (v0.12) :

Tir durant le changement de niveau :
Lorsque le message de changement de niveau apparaît, on peut toujours tirer.

Jeu à télécharger sur cette page : MakeItFull

Vous pouvez également l'essayer ici : http://www.kongregate.com/games/LarryFr/make-it-full-v0-11 (nécessite UnityWebPlayer)

MakeItFull v0.11

J'ai résolu quelques petits bugs découverts et j'ai, de plus, rajouté un bouton pour redémarrer le jeu.

Cela fait quand même plus sexy Rigolant

Bugs connus (v0.11) :

Dernier tir en succès :
Dès qu'on a tiré le dernier tir du niveau, si c'est un succès, le bouton Restart n'apparait pas.
Malgré cela, le conteneur continue toujours à se déplacer.

Tir durant le changement de niveau :
Lorsque le message de changement de niveau apparaît, on peut toujours tirer.

jeu à télécharger sur cette page : MakeItFull

Mon premier jeu : MakeItFull v0.8

Enfin ! Mon premier jeu ! Je suis vraiment fier de moi !

Page de téléchargement du jeu : MakeItFull

Détails de la conception :

J'ai, en premier lieu, couché sur papier les idées que j'avais. Cela a donné ceci :

Ce jeu sera un jeu de tir.
Il faudra envoyer des objets dans un conteneur.
Chaque objet correctement envoyé dans le conteneur remplira une jauge.
Le joueur sera limité en nombre d'objets à lancer.
Le jeu se déroulera en niveaux.Pour chaque niveau, le nombre d'objets à lancer sera plus important et le nombre de succès à faire représentera un % plus grand.
Le conteneur se déplacera en haut de l'écran et de droite à gauche puis de gauche à droite.
Plus le niveau sera élevé, plus il ira vite.
La zone de tir sera fixe en bas de l'écran et au centre.

Rien de mieux qu'un petit dessin pour représenter le tout :

Makeitfull schema

  

1 : zone de tir

2 : zone du conteneur en mouvement

3 : barre représentant la zone de remplissage

4 : barre représentant le nombre de tirs restants

5 : objets envoyés dans le conteneur

6 : niveau actuel

7 : taux de réussite

Lire la suite

Nouveau jeu "Target balloons" (?)

Entre les 2 "Space Shooter" améliorés, j'ai réalisé un brainstorming avec ma femme pour la conception d'un jeu. Elle m'a soumis l'idée de faire un jeu de lancer, histoire de se défouler un peu. N'ayant encore que peu d'expérience et de maîtrise sur Unity3D, j'ai essayé de trouver autre chose, tout en gardant l'idée du jeu de lancer.

Nous avons imaginé une série de ballons qui remontaient d'un côté de l'écran et on devait les éclater. Pour l'instant, les ballons sont tous blancs mais il est très facile de changer leur couleur (merci Unity3D ^^) En tout cas, je ne sais pas s'il verra le jour....

Etat actuel des développements : Target balloons (suspended)

Lire la suite

Space Shooter, on recommence...

Ayant supprimé ma version précédente de mon "Space Shooter" amélioré, j'ai décidé de le recommencer. J'ai zappé un grand nombre de chapitre que j'avais compris pour accélérer la conception. Cependant, j'ai dû rater certains points importants car mon "Space Shooter" amélioré contient une erreur grossière.

Lors de la toute première vague, le premier objet qui arrive explose sans aucune action du joueur. Malgré cette erreur, le jeu fonctionne parfaitement.

Rendez-vous sur cette page : Space Shooter amélioré

Unity3D : découverte et premier "jeu"

J'ai découvert ce logiciel début septembre 2014 suite à des recherches sur Internet. J'ai tout de suite commencé à regarder les différents tutoriels mis à disposition : http://unity3d.com/learn/tutorials/modules

Parmi ces tutoriels, j'ai choisi "Space Shooter" (introduction du jeu) car il me rappellait les jeux auxquels je jouais quand j'étais adolescent. J'ai donc suivi à la lettre le tutoriel pour comprendre les mécanismes du logiciel. Avec mes connaissances informatiques (profil LinkedIn), je n'ai pas eu trop de mal à comprendre le C#.

J'ai donc décidé de modifier le jeu final pour y inclure plusieurs choses :

  • une difficulté croissante : le nombre d'objets de départ (5) est augmenté du niveau en cours
  • ajout de canons autour du vaisseau

Edit : j'ai réalisé les canons très grossiers à partir de Blender.

Malheureusement pour moi, j'ai effacé par mégarde ce développement. En pleurs

Lire la suite