Quoi de neuf en cette fin d’année?

Après un habituel laps de temps sans trop de nouvelles en voici des fraîches. Ces dernières semaines j’ai intégré plusieurs scripts ou plugins issus de l’asset store. Le premier est Score Flash. Comme vous pouvez le voir sur la screenshot qui suit, ce plugin permet d’afficher un texte de façon ponctuel, ici un score après la destruction d’un ennemi. Pour l’instant j’en fait un usage très basique et avec des réglages par défaut.

dec2012_testRenduFX

Exemple d’utilisation de Score Flash

Lire la suite

Publicités

GameCore est mort, longue vie à Unity!

Depuis quelques semaines j’ai fini pas admettre que GameCore3d est mort. Le site est bien de nouveau en ligne mais toujours pas d’annonces ni même d’explications sur les interruptions en fin d’année dernière. J’ai continué à travailler sur mon shoot jusqu’à avoir mon système de scratch fonctionnel mais je n’avais plus la motivation d’aller plus loin.

Du coup je suis allé voir ailleurs. Cette fois je me suis dis qu’il fallait assurer et choisir une valeur sûre avec une prise en main rapide, donc fini les outsiders sympa mais à l’avenir incertain. Mon choix c’est tourné sur Unity3d, cela faisait un moment que j’y pensais mais, basculer sur un autre langage (ici le C#) me faisais craindre le pire. Je me rends compte, pour le moment, que j’ai beaucoup appris en 3ans et qu’avec un peu d’aide (Unity 3.x Game Development Essentials) la transition se fait en douceur.

Scratch system

Les premières lignes de code pour le scratching sont en place. Il me reste à y associer le principe des paliers de scratch que je désire pour que le système soit pleinement opérationnel, et par la suite associer des patterns différents à chacun des paliers.

Illustration du Scratch system

The first few lines of code for scratching are in place. I still have to involve the principle of levels of scratch I want to make the system fully operational, and then associate different patterns at each level.

Prototype, phase 2

Les choses avancent bon train.  Suite à de nombreuses prises de têtes en raison de mon obstination à vouloir faire simple, c’est-à-dire écrire peu de code, en utilisant un système de collision « clé en main » à base de bounding boxes pour les bullets, je me suis décidé à faire autrement.

En relisant différents article ici et là (en particulier ce dernier), j’ai finalement implanté un système de collision inspiré des Axis-Aligned Bounding Boxes (ou AABB). Dans le cas des bullets des NPC, pour chacune d’elles, on définit une paire d’axes XZ minimum et une maximum. Le carré ainsi défini représente la zone de collision de l’objet, il ne reste plus qu’à comparer ces axes à ceux du AABB du joueur. Chaque bullet vérifie si son axe X min. est supérieur à l’axe X max. du joueur et si l’axe X min. du joueur est supérieur à l’axe X max de la bullet. Tant que cette condition est vrai, il n’y a pas intersection. Même chose pour l’axe Z. Lorsque les conditions sont inversées pour les deux axes, il y a intersection et donc collision entre la bullet et le joueur.

Voilà pour le principe, il me reste plus qu’à faire plus de tests et à affiner la taille des boxes le cas échéant mais ce système est fiable et simple en calcul.