METALOID - École de jeux vidéo en ligne Gamecodeur

METALOID

Marama
METALOID
Marama Il y a 3 semaines Premium PRO4

Hello hello,

 

Gamecodeur m’a beaucoup manqué depuis ces trois derniers mois.

J’étais très très très frustré de ne pas pouvoir développer mon prototype , MEtaloid, ni  de pouvoir participer aux pocketjams. 🙁 .

Tout simplement parce que je fais des heures pas possible et inhumaines pour un salaire de m….

Bref! au moins j’ai un salaire, je vais pas me plaindre. Pour faire simple : PROFESSION et PASSION ne font pas bon ménage quelques fois :/

Avant

Je ne lâchai rien, j’y arrivai lentement et à mon rythme 😀 .

Maintenant

je ne lâche toujours rien, j’y arriverai  très lentement mais au rythme de mon job, pff.

Je ne vais pas trop m’étaler sur ce débat.

 

Donc le prototype passe à un nouveau stade de développement parce que j’ai reformulé la manière de traiter les sprites.

J’avais un problème : soit de surcharge de sprites (=ralentissement) , soit un effet de clignotement (= mal aux yeux).

voilà comment j’ai fait :

je distingue les sprites de décoration et les autres sprites

je m’interesse uniquement aux sprites de décoration pour limiter le nombre de sprites à afficher

je vous explique grosso modo.

d’abord,

Mon World est découpé en zones qui ont chacune un identifiant ID

lorsque je change de zone, j’affiche les zones adjacentes en plus de la nouvelle zone détectée.

 

Dans le passé :

si je ne fais rien, mon programme est surchargé de sprites et ralentit

si j’efface tout (c’est possible parce qu’au final on recontruit par dessus ) … eh bien j’ai un effet de clignotement qui fait mal aux yeux (voir mon projet fantasy kingdom sur itch.io pour voir le bug)

Dans le présent :

je travail avec quatre listes :

une liste des identifiants de zones à créer (list_new_ID)

une liste des identifiants de zones à effacer (list_ID_to_delete)

une liste des identifiants de zones tampon (list_current_ID)

une liste des identifiants de zones valide et actives (list_final_ID)

Donc voilà la logique :

quand je change de zone , je vais faire la liste des identifiants ID que je dois construire et les sauvegarder dans “list_new_ID” (que j’aurais effacé au préalable)

Ensuite je compare “list_new_ID” avec “list_final_ID”

d’abord j’efface la liste “list_current_ID” qui va me servir de liste brouillon.

Si j’ai des valeurs égales, je sauvegarde dans “list_current_ID”

Si j’ai des valeurs différentes >> 2 situations sont à bien formuler :

1er cas : “list_new_ID” n’a pas la valeur contenue dans “list_final_ID”;

Alors je dois construire une nouvelle zone (avec les sprites qui y a sont liés)

ET …

j’ajoute dans “list_current_ID” l’identifiant concerné

2ème cas : ‘list_final_ID” n’a pas la valeur contenue dans “list_new_ID”

Alors je dois effacer tout les sprites de décoration mariés à cette zone.

Si j’ai bien fait mon taf, je termine en effacant la liste finale “list_final_ID”

et j’y recopie les valeurs enregistrées dans “list_current_ID”

 

voili voilou les gamecodeur

c’est tout pour aujourd’hui

bon code et bonne semaine

 

 

 

Comments (4)

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Avatar
Salut c'est David. Est-ce que tu as une question sur la formation ?
Holler Box