Quoi de neuf ?
Beaucoup de travail cette semaine à optimiser le code et à soigner le comportement des ennemis :)
Autre aspect important : le jeu étant à défilement multi-directionnel, la question était de se demander si les ennemis et les tirs devaient suivre la vitesse des plans ou pas.
On va prendre un exemple : imaginons que les plans défilent de droite à gauche à une vitesse fixe. Maintenant imaginons deux ennemis : un qui se déplace de droite à gauche et un autre de gauche à droite, chacun ayant la même vitesse de déplacement. Visuellement, l'ennemi venant de la droite donnera l'impression d'arriver très vite, alors que celui venant de la gauche donnera l'impression d'arriver très lentement.
Maintenant prenons le cas des vaisseaux des joueurs : si on ne touche pas les directions, le vaisseau reste sur place. Pour les tirs, que l'on tire vers l'avant ou l'arrière ils auront toujours la même vitesse.
On peut alors dire que les vaisseaux et leurs tirs n'ont pas un comportement "réaliste". En contrepartie, c'est beaucoup plus facile pour se déplacer et viser, la visibilité à l'écran est claire.
Après plusieurs essais, la solution retenue est de faire tous les ennemis volants et leurs tirs selon la même méthode (avant il n'y avait que le gardien de mi-niveau qui fonctionnait de cette manière). Même si lors des changements de direction des défilements de plans ça peut paraitre "techniquement pas réaliste", l'avantage est d'avoir un jeu rapide, claire et dynamique.
Il reste de nombreuses lignes de codes avant de présenter de nouveaux visuels, les collisions, Alix-A ... encore une ou deux semaines à tenir ;)
A lundi prochain pour d'autres nouvelles !
Laserpitium
dans
Réno Ho
par
2016-05-09
le
Bonne nouvelle, la série d'optimisation du code s'est passée sans accrocs :)
Pour rappel il s'agissait principalement de créer des groupes de listes de tout ce que l'on voit (ou pas ^^) à l'écran : pour pouvoir par exemple retrouver facilement tous les tirs ennemis, tous les vaisseaux joueurs, tous les bonus, etc (ce qui permet, entre autre, de pouvoir faire des collisions entre un nombre précis d'objets).
Du coup le moteur est encore moins gourmand avec, en estimation basse, des performances deux fois plus rapides !
Il reste encore quelques petites modifications avant d'activer les collision et de terminer ALIX-A :)
A lundi prochain pour d'autres nouvelles !
Laserpitium
dans
Réno Ho
par
2016-05-02
le
L'optimisation du code a beaucoup avancé. Mais comme souvent, les modifications importantes apportent souvent leurs lots de comportements inattendus. Ainsi il faut encore corriger certaines choses ...
En ce qui concerne les collisions c'est terminé. Il restera à activer tout ça dans les prochains jours :)
En attendant, voici le comportement d'ALIX-A, le gardien de fin de niveau. Il consiste en un série de rafales de tirs : les joueurs devront les éviter, tout en visant sa tête ... mais aussi en prenant garde de ne pas trop s'approcher ...
Rafale 1 :
ALIX-A tire une rafale en direction de chaque joueur : c'est plutôt simple à éviter et ça oblige les joueurs à ne pas rester à l'abri dans un "angle-mort".
fiche/journal/2016-04-25-72/26-04-2016-00-laserpitium.jpg
Rafale 2 :
Rafale de tirs double : assez simple à éviter, ça oblige les joueurs à ne pas rester statique.
fiche/journal/2016-04-25-72/26-04-2016-01-laserpitium.jpg
Rafale 3 :
Rafale de tirs multiples : ça commence à être du sérieux car il faut maintenant penser à les éviter tout en ne s'approchant pas trop près du gardien ...
fiche/journal/2016-04-25-72/26-04-2016-02-laserpitium.jpg
Rafale 4 :
Même chose, mais c'est encore un petit peu plus difficile :)
fiche/journal/2016-04-25-72/26-04-2016-03-laserpitium.jpg
Puis la séquence du gardien recommence avec la Rafale 1 ... mais ...
Et oui, il y a un "mais" : vous avez certainement remarqué son canon secondaire. Si vous vous approchez trop, ça sera alors des tirs jaunes qui partiront directement dans votre direction qu'il faudra éviter et ça sera pas facile !
fiche/journal/2016-04-25-72/26-04-2016-04-laserpitium.jpg
Bien entendu, le canon primaire sera toujours actif et les deux se cumulent pour plus d'efficacité ;)
fiche/journal/2016-04-25-72/26-04-2016-05-laserpitium.jpg
fiche/journal/2016-04-25-72/26-04-2016-06-laserpitium.jpg
fiche/journal/2016-04-25-72/26-04-2016-07-laserpitium.jpg
La méthode la plus efficace est donc de rester le plus à gauche de l'écran.
La prochaine étape sera d'activer les collisions : vous pourrez bientôt voir comment réagit la tête et le cou du gardien sous les impacts des tirs.
A lundi prochain pour d'autres nouvelles !
Laserpitium
dans
Réno Ho
par
2016-04-25
le
Beaucoup de travail pendant cette dernière semaine : le comportement d'ALIX-A est presque terminé, mais il reste encore beaucoup à faire sur l'optimisation du code ... il va falloir être encore un peu patient avant d'en voir plus ;)
A lundi prochain pour d'autres nouvelles !
Laserpitium
dans
Réno Ho
par
2016-04-18
le
Pas de visuels pour cette semaine, les derniers jours ont été consacrés à travailler le code. Principalement à améliorer ce qui permet de retrouver précisément ce qu'il y a d'affiché à l'écran (vaisseaux joueurs, vaisseaux ennemis, tirs joueurs, tirs ennemi, bonus points, décor, décor destructible, etc). Ce qui est primordiale puisque ça permet par exemple aux ennemis de viser les joueurs, ou bien inversement aux joueurs d'utiliser des tirs "à tête chercheuse", ou bien de savoir qui prend un bonus (joueurs, ennemis, etc), ou bien de pouvoir changer à la volé le comportement de n'importe quel élément à l'écran selon les interactions des objets ... bref de la grosse optimisation pour faire simple :)
En même temps le travail sur ALIX-A avance bien : il y aura certainement une vidéo dans le prochain billet.
A lundi prochain pour d'autres nouvelles !
Laserpitium
dans
Réno Ho
par
2016-04-11
le