A downloadable game

Elève Premium Gamecodeur depuis :

- Liolabs : Date d'inscription à valider.

- Nono02P : 3 semaines.


Langage et Framework : Lua/Love2D

Vue du bateau réalisée par Liolabs1973.

Codé par Nono02P.


Utilisation de librairie externe : Oui, Librairie UTF8 et fonctions de tweening.


Temps passé environ 20~25h au total.

12h environ dédiées à la compréhension et réalisation du Pathfinding (il a été fait et remodelé 2 fois pour ajouter des fonctionnalités).

Postmortem :

Nous avions prévu un jeu avec un gameplay et une histoire, cependant le manque de temps m'a empêché de pouvoir coder ce dont nous avions imaginé. 

J'ai une petite frustration de ne pas avoir pu rendre un jeu jouable dans les temps pour la Jam.

La prochaine Game Jam, nous seront mieux armés et iront à l'essentiel pour ne pas se retrouver une fois de plus dans ce cas de figure.


Je n'ai pas eu de grande difficultés à réaliser le pathfinding, j'ai pris le temps de comprendre les différents algorithmes pour finir par en sélectionner un (le A*). Puis j'ai codé le tout d'une traite...

J'ai ensuite eu le droit à une belle boucle infinie, puis j'ai passé une heure a déboguer avec des print et au pas à pas pour me rendre compte que mon erreur venait d'une déclaration de variable que j'ai faite dans une boucle à la place d'avant la boucle...

Ensuite j'ai joué avec ce pathfinding et me suis dis qu'il serait cool de gérer le type de tile sur laquelle se trouve le node dans le calcul du coût de déplacement (par exemple pour permettre d'éviter le sable autant que possible parce que plus couteux en énergie mais en favorisant l'utilisation des tapis roulants parce qu'on est fainéants).

Quelques heures de code plus tard, je me suis dis que le pathfinding devrait gérer la 3D vu que le bateau est sur 3 niveau, donc j'ai remodifié mon code pour prendre en compte la troisième dimension.


Là où j'ai eu des difficultés bizarrement c'est avec ma boite de dialogue faisant défiler le texte lettre par lettre...

Le fait de faire un string.sub puis d'ajouter les caractères un par un me faisait planter l'affichage parce que les accents étaient "coupés en deux" (string.sub permet de découper un string en byte sauf qu'un caractère avec accent est codé avec plusieurs bytes donc je me retrouvais avec des données incomplètes pour mes caractères, provoquant une erreur).

La solution retenue a été d'utiliser une librairie externe (UTF8) qui elle prend en compte  les caractères UTF8 et pas le nombre d'octets...


Je tiens à remercier Liolabs pour les nombreuses idées qu'il m'a apporté et la jolie image du bateau !

Malheureusement, il a eu des soucis l'empêchant de continuer le projet, c'est pourquoi j'ai modifié son image du bateau afin d'ajouter le numéro du niveau affiché... C'est pas très joli mais ça m'a permis de déboguer mon code!


Dès que Liolabs sera de retour, nous travaillerons ensembles sur ce projet afin de le terminer comme il se doit !

Download

Download
Capitaine_Dreadlocks.zip 4 MB