C'est dommage, à vouloir faire trop de POO et des managers par ci et par là, tu as perdu trop de temps et tu n'as pas de jeu. Le problème ne vient pas de la POO perfectible en Lua, mais de la façon dont tu met en place les choses. Je me suis permis de regarder ton code, et je vois des choses complétement inutiles, qui transforment ton code en usine à gaz. Voici un exemple :
dans ton fichier FireBallTilesheet.lua, tu crée une liste :
FireBallTilesheet.lstTile = {}
Puis plus loin dans ton code tu fais une fonction :
function FireBallTilesheet.getListQuad()
return FireBallTilesheet.lstTile
end
Pourquoi avoir fait une fonction qui retourne cette liste plutôt que d'aller la récupérer directement étant donné qu'elle fait partie de la variable que tu renvoi à même titre que cette fonction, à savoir FireBallTilesheet ?
Ensuite pourquoi créer une variable globale ( FireBallTilesheet ) si c'est pour la retourner en fin de fichier ? une variable globale est accessible depuis n'importe où dans le code, il est inutile de la retourner.
De part cet exemple j'entends que tu t'es mélangé les pinceaux, faisant une usine à gaz, et t'éloignant de l'objectif de la gamejam qui est d'obtenir un résultat dans le temps imparti. Pour cela il faut faire des choix lors du développement, et développer d'une manière rapide.