mercredi 19 avril 2017

Project ISN : Reloaded - >>Week_8<< -

Hello tout monde !
De retour pour une présentation éclair des changements effectués à notre jeu !
Cette semaine encore le défi était de taille !
Comme indiqué dès notre premier article, nous avons toujours voulu pouvoir faire une version mobile pour notre jeu. Et c'est ce à quoi nous nous sommes attaqué ces 2 dernières semaine. Non sans succès, mais bien évidemment avec de nombreux dérapages.
Premièrement, sans doute le plus simple malgré les apparence... CREER DES JOYSTICS ! fonctionnels de préférence ^^.
Il s'agissait donc de créer des cercles à mettre dans des rectangles et de créer des vecteur position à ces cercles pour les donner au joueur qui l'utiliserait comme "input" plus ou moins.
Ce qui était vraiment compliqué c'était bel et bien de fixer tous les problèmes, et croyez-moi quand je vous dis qu'il y en avait.
Je ne pourrais même pas faire une liste de tous ceux que l'on a pu rencontrer... Mais à cette heure il en reste encore... Par exemple : Le joueur se retrouve avec des munitions soit illimitées, soit qui s'épuisent instantanément... Et devinez où partent les balles : A la position moyenne entre les différentes touches sur l'écran !
Donc beaucoup, énormément de travail en perspective pour avoir un jeu "fini" sur mobile...

mercredi 22 mars 2017

Project ISN : Reloaded - >>Week_7<< -

Few !
Alors cette semaine, du très, TRÈS lourd. EN QUANTITÉ DE TRAVAIL !
Premièrement ! Des bonus sont dispo : Ils spawnent à des endroits aléatoires toutes les 10secondes. Un petit boost de HP sera disponible avec ceci :
et un petit boost de Money sera disponible avec ceci : 


Mais a quoi sert cette Money me dirai-vous ?
Introducing : The Shop !
Il vous sera maintenant possible en appuyant sur "B" d'ouvrir le Shop et d'acheter de quoi Dominer l'game !
Pour $100, vous pourrez acheter le Rifle et le Shotgun :
tous les deux font plus de dégâts que le Pistol classique.
Le Rifle a plus de munitions mais tire moins souvent.
Le Shotgun, lui, (mais il nous reste à l'implémenter) pourra tirer 3 balles simultanément pour tuer plusieurs Zombies, et tirera moins souvent que le Pistol lui aussi.
Cest armes sont accessibles une fois débloquées en appuyant sur "2" et "3", "1" étant pour revenir au Pistol (en cas de rechargement et de nécessité désespérée de tuer un Zombie).

Pour $10, vous pourrez acheter des HP et des dégâts.

De plus ! Le menu a été modifié : il permet maintenant l'accès à 2 nouvelles scènes :
- le Tutoriel (important quand même, faut pas croire...)
- la sélection du niveau

Car oui, maintenant, il y a plusieurs niveaux ! Il reste encore à changer la Map et ajouter les Colliders nécessaires (c'est déjà prêt =) ) mais ils sont là ! Sans compter que ces nouveaux niveaux permettent l'apparition de plus de Zombies à chaque vague, et plus de vagues au total (tous les 3 niveaux).

Et pour finir, mais cela ne vous concerne pas directement, chaque ligne de code a été commentée et est maintenant compréhensible par tous !

A noter que quelques bugs se sont réglés et d'autres ajoutés...

C'est tout pour cette semaine, n'hésitez pas à vous abonner à mon flux pour être notifié de toutes les avancées du jeu, jeu étant désormais disponible dans sa version 1.2 au lien suivant :
http://www.mediafire.com/file/2b1307tv1qk0tbu/ZombieTopDownShooter.zip et bientôt encore plus !

UPDATE : Ce nouveau lien : permet de "garder ses stats" d'un niveau à un autre :
https://mega.nz/#!spwy1DST!G0M_UXUImO2twOiovI7_aoIt_u0uiXg5OIXfbesnbio

mercredi 8 mars 2017

Project ISN : Reloaded - >>Week_6<< -

Nouvelle semaine ! Nouvel article ! Des changements peu nombreux mais d'une importance capitale ! Mais leur description restera courte du fait de leur simplicité (pas si simple à coder ceci dis).

Vous rappelez-vous des bugs de la semaine dernière ? La majeure partie de la semaine a été consacrée à leur fix ! La tâche a été TRÈS, TRÈS COMPLIQUÉE. Mais nous y sommes parvenus, il a fallu réécrire une partie entière de code, mettre des break points de partout, mais voila, enfin, un semblant de jouabilité au jeu.
Il est maintenant possible, sans bug, sans événements inattendus, de faire des dégâts, mais aussi d'en prendre.

Avec l'ajout de la prise de dégâts, il nous a fallu créer un écran de GameOver. Il est donc maintenant implémenté au jeu : on y voit la raison de notre présence (LA MORT ! ou peut-être la chéché, qui sait ?), un texte de GameOver, puis un récapitulatif des différents Scores réalisés, puis deux textes boutons pour le retour au menu ou un simple bouton Retry.

Et puis enfin ! L'ajout de musiques ! Ah ma phase favorite ! Le zombie, quel meilleur lieu d'expression que le mode de jeu zombie pour du bon rock & métal ? Comment ? Vous ne trouvez pas non plus ? voila ! Donc manque d'originalité, nous avons choisi la musique du zombie de CoD Black Ops pour le menu, mais en jeu ! Ahhhh. Three Days Grace, Skillet, c'est leur terrain de jeu. On a donc récupéré des musiques achetées sur iTunes pour les ajouter en playlist durant la session de jeu.

Petite note : L'utilisation de la fonctionnalité d'Unity3D nommée Collab qui a grandement aidé notre phase de développement...

Enfin je crois que ceci conclu le poste de la semaine, je n'ai pas mentionné les améliorations et ajustements faits pendant toute la semaine.
Il reste tout de même des fix à faire : découper la playlist en chacune des pistes individuelles (donc plus ou moins annuler du travail réalisé pendant la semaine...).
Mais le plus important de la semaine reste tout de même la publication d'une V1.0 du jeu en ligne, disponible à tous. Elle reste courte, mais comment ne pas être fier d'un premier jeu publié ?
(voici l'adresse : http://www.mediafire.com/file/zontytr0y6vyrk0/lul.zip)

jeudi 2 mars 2017

Project ISN : Reloaded - >>Week_5<< -

Finalement de retour (pour vous jouer un mauvais tour !) !
De TRES nombreux changements depuis la dernière fois, nous allons vous en parler.
Premièrement : le joueur :
- il a un nombre limite de balles avant de devoir recharger
- il peut prendre des dégats et se régénerer passivement

Deusio : le zombie :
- il a des stats qui dependent du niveau
- il peut attaquer le joueur (mais ces attaques ont des effets)

Terzio : le gameplay :
- on peut garder compte du score (money, highscore, nombre de zombies tués) dans un fichier externe (donc on peut le garder d'une partie à l'autre)
- (codé mais pas implémenté) un écran de GameOver
- le passage au niveau suivant est bloqué si on n'a pas tué tous les zombies
- (codé mais pas implémenté) un écran de pause en appuyant sur echap

Quattro : LES BUGS : (TRES TRES NOMBREUX ET GENANTS)
- la regen du player ne se désactive pas quand le joueur prend des dégats
- le joueur prend des dégats quand les zombies spawn (de type 3 de dégats par zombies tués dans la manche)
Et de nombreux autres...

jeudi 2 février 2017

Project ISN : Reloaded - >>Week_4<< -

Bonjour à tous ! Cette semaine n'a pas été la plus grande en terme d'avancement concernant le projet... Nos defis étaient de :
- Intégrer une carte dans laquelle le joueur pourrait évoluer
- Intégrer des sons divers et variés
- Fixer le problème de vitesse de déplacement du zombie

Donc ! Nous avons rempli avec succès nos tâches de la semaine. Il y a eu quelques modifications dans les différents scripts :
- Les maps on été réalisée à l'aide de Tiled, un application développée pour réaliser des maps 2D à partir de sprites (voir plus bas)
- Les sons : Trouvés sur internet, on a modifié le code lorsque l'on tire pour qu'une nouvelle fonction regroupe l'affichage et la lecture du son en fonction de la tâche à effectuer (plus structuré et 《propre》 dans tous les cas)
- Le déplacement du zombie ne se fait plus grâce à la différence des vecteurs position mais grâce à Vector3.MoveTowards();

Voici les maps (du tutoriel au niveau 3, avec une difficulté croissante) :
[Elles arrivent c'est juste la connexion de mon téléphone qui n'est pas performante...]

mercredi 25 janvier 2017

Project ISN : Reloaded - >>Week_3<< -

Bonjour à tous, cette semaine est une fois de plus une grande semaine ! La nouveauté cette fois ci : l'intégration d'images ! Il sera donc plus simple pour vous de suivre l'avancement du projet !
Comme demandé par Monsieur notre professeur (il ne faut toujours pas nommer de personnes), Nos "devoirs" de la semaine consistaient en deux choses :
     - Créer un flash lorsque l'on clique pour donner l'impression que l'on tire
     - Faire Spawn un zombie qui se dirigerait vers l'emplacement de notre joueur

Voici donc le Sprite que nous utiliserons en tant que flash lorsque l'on tire avec l'arme, très redimensionné : . Sur son parent, nommé "gun", on place un script qui détecte les clics de souris (du bouton gauche) et qui active le Sprite Renderer lorsque l'on clique et le désactive lorsque l'on relâche le bouton.

Quant au Zombie, on a choisi de s'orienter sur ce type de sprite :
 
Son seul script pour le moment est un script lui permettant de se déplacer : Un Vector3 correspondant à la différence entre la position actuelle du zombie et la position du GameObject "Player". On lui donne une vitesse prédéfinie inférieure à celle du Player.

Parlant du Player : voici son Sprite de base :
 
Il pourra obtenir différentes armes :
un couteau
son pistol de base
un shotgun






une mitraillette (ak-47)
Ce qu'il reste à faire :
     - Fixer la vitesse du zombie : si le Zombie est proche du Player, sa vitesse diminue, et                    inversement. 
     - Fixer la rotation du Player : si on aligne le Sprite avec sa "colonne vertébrale", le Sprite tourne      vers la souris mais le Vecteur3.Forward n'est pas correctement aligné et on a donc pas l'arme          vers la souris mais la tête du joueur. Si on aligne le Sprite avec son Arme, il tourne autour de          l'arme et c'est bizarre...

Ce sera tout pour cette fois ! En espérant encore une fois que cet article vous aura plus ! N'hésitez pas à laisser un commentaire ! Des updates arriveront très prochainement, restez connectez et abonnez vous !

mercredi 18 janvier 2017

Project ISN : Reloaded - >>Week_2<< -

Une semaine est passée, le projet a déjà fait son plus grand pas en avant (le seul pour l'instant d'ailleurs).
Durant une semaine, on a donc fait :
 - Une base d'environnement du niveau 1 à partir d'un asset trouvé sur internet, cette première idée de map étant réalisée sur photoshop : On prend des sprites de 64x64 pixels dans une grande map de 8192x2048 pixels (on réduira cette image en chunks pour chaque niveau).
 - Une base de sprite de joueur avec déplacement (zqsd).
 - Une base de Premier Menu (titre du jeu, jouer, quitter (avec écran de confirmation)) avec une police type zombie.
Ce qu'il reste à faire (pour cette semaine) : Il pourrait être bon de coder une rotation au sprite du personnage en fonction de la position de la souris.
C'est donc tout pour cette semaine. Encore une fois nous espérons que cet article vous aura plus. N'hésitez pas à laisser un commentaire si vous avez des conseils, un document d'aide, ou une appréciation.

Project ISN : Reloaded - >>Week_1<< -

Vous l'avez sans doute attendu avec impatiente, il a pas mal de retard, mais le voila enfin ! L'article sur notre projet d'ISN.
La "semaine dernière" il s'agissait du "week-0" du projet, on tentait de chercher des idées afin de le commencer, etc...
Cette semaine il s'agira plus d'une première approche, tant sur le point de vue du langage de programmation, que du logiciel. On a donc décidé de s'orienter sur un TopDown (vue de dessus) Shooter (jeu de tir) de Zombies. On a donc cherché quelques assets qui nous permettraient de débuter la programmation. C'est aussi l'heure des schémas au crayon de papier plutôt impropres...
On aura donc :
 - Un personnage principal (non jure...) centré sur l'écran (donc la caméra se déplacera avec lui)
 - Des Zombies (oui on va leur coder une "IA") qui vont spawn aléatoirement (dont leur nombre dépendra du niveau/de la vague) en dehors de l'écran pour se diriger vers le joueur
 - Des Bonus, assez rare mais tout de même présents, pareil, spawn aléatoire mais sur la map cette fois ci.
 - Un Environnement (dont le type est encore à déterminer) dans lequel le joueur évoluera, il sera délimité par des limites (genre des murs)
Toujours sous Unity (help en commentaire pour justifier le choix du logiciel ?).
Le travail de la semaine visera donc à assimiler le logiciel, le langage de programmation (C#) et les assets.
En "devoirs", on devra coder un menu au jeu, les déplacements de base du personnage, et un design de map pour le niveau 1.
Si vous avez apprécié cet article, avez des conseils à nous donner, n'hésitez pas à nous le dire en commentaire !
A la semaine prochaine !

mercredi 4 janvier 2017

Project ISN : Reloaded - >>Week_0<< -

Vous le savez sans doute, mais comme la plupart des années, une matière scolaire vous demandera un projet à rendre. Après les le rapport de stage, les TPE, en terminale, si vous suivez la spécialité ISN, vous y aurez aussi le droit. C’est mon cas, je vais donc vous le présenter maintenant.

Mon groupe est composé des personnes suivantes :  Gilbert & Jean Claude (on ne dévoilera bien entendu pas leurs noms par soucis d’anonymat).

Quant au projet lui-même, les idées sont parties dans plus ou moins tous les sens.

Premièrement, on a pensé à faire une application pour téléphone, pour la modernité de l’idée. Mais après ça, quoi faire comme application ? 
Un utilitaire aurait pu être quelque chose à faire, mais il en existe déjà des milliers et il nous manquait l’idée révolutionnaire qui nous aurait motivé à faire ce choix.
Un jeu peut-être alors ? Oui mais la plupart des jeux sur téléphones sont soit stupides, soit impossibles à manier correctement, soit une vrai tare côté graphiques. 
Bien sur certaines exceptions sortent de cette règle mais celles-ci sont rares. Le support du smartphone ne nous semblait donc pas adapté pour l’idée que nous avions de ce projet.

Tout de même, l’idée d’un jeu nous plaisait, mais nous devrions en réaliser un qui soit… « respectable » dans ses graphiques, facile à appréhender, et surtout, pour une dernière phase du développement, une possibilité de le rendre jouable en LAN (en ligne, ok, mais vraiment plus tard).

Il s’agirait donc d’un jeu sur ordinateur. 
Mais quel genre ? 
Il en existe des milliers… Le nouveau jeu .io ? On ne pourrait pas en inventer un qui n’ait jamais été fait. Et puis ce genre de jeu est marrant 5 minutes mais on s’en lasse vite. 
Il faudrait un jeu où l’on ait envie de revenir s’assoir faire une nouvelle partie, un jeu où l’on a une véritable sensation de progrès, sans non plus ne jamais se finir. 
On en venait petit à petit à l’idée que nous allions devoir réaliser soit :
-          Un FPS (First Person Shooter) type Call of Duty, BattleField, Halo, etc…
ou

-          Un Top-View (Vue de Dessus) type Midnight Animal, Bit Laster XL, Age of Zombies, etc…
Les avantages de l’un par rapport à l’autre :
-          Un FPS est en 3D, il y a une meilleure immersion, mais les graphiques sont plus complexes, il faut modéliser la plupart des modèles plutôt que de les dessiner…
-          Un Top-View peut se faire aussi bien en mode zombie qu’en PVP, ce qui n’est pas le cas du FPS car il faudrait aussi coder une IA 3D aux zombies plutôt qu’en 2D (exemple : passer au dessus d'un obstacle, dans une fenêtre...) (si on s’orientait dans cette direction).
-          // insert new ideas here
Le choix en est là pour l’instant.

Enfin il nous reste à choisir un langage ainsi qu’une plate-forme de développement. Naturellement nous nous sommes tournés vers Unity, son IDE en C# (MonoDevelop de Xamarin Studio). Ces logiciels permettent une grande simplification du code, ils possèdent des interfaces (selon moi) agréables, ils sont aujourd’hui les plus utilisés, et donc il sera tout à fait possible de demander de l’aide, de le laisser en open-source pour que le publique puisse y apporter ses idées, etc…

Encore une fois, en espérant que vous aurez apprécié la lecture de cet article.

PS : Mon groupe est composé de Thibault, Alexandre "Sacha", et... moi !