Salut à tous !
Je pensais à un truc depuis un petit moment…
Après avoir porté Scape sur Android et donc avoir du passer de procédural à événementiel je me suis dit que ce serait pas mal pour un jeu de ne pas avoir à s'embêter à changer la structure de mon code d'une plateforme à l'autre.
Du coup, après avoir regardé libgdx et la possibilité de compiler le même code sur différentes plateformes, j'ai eu envie de faire un peu pareil mais en plus simple évidemment.
En fait je ne veux pas utiliser la libgdx pour pouvoir porter mon jeu en deux clics sur la PlayBook aussi.
C'est pourquoi je pensais utiliser le SDK d'Android pour gérer l'affichage en 2D dans une SurfaceView avec un thread. Par contre pour la version desktop je sais pas encore quoi utiliser pour le rendu… :/
Dans l'idée on a en gros un launcher et une gestion événements spécifique à chaque plate forme et pour ce qui est de l'application on a juste à utiliser les classes définies par la bibliothèque pour gérer le rendu et le son.
Le coeur de l'application aurait donc un code indépendant en dérivant d'une classe aussi définie par la bibliothèque qui aurait différentes méthodes appelées par le launcher du genre handleEvent, draw, update (qui seraient par exemple appelées à chaque frame).
Tout ça pour faire un truc léger quoi (je compte pas d'ailleurs créer réellement de bibliothèque à proprement dit, juste avoir un code réutilisable quoi…).
Mais je me demandais comment ils faisaient avec libgdx pour que le projets Android utilise le code de la version Desktop pour compiler… Il suffit de lier les projets comme dans la vidéo ? Je suppose qu'il faut un peu optimiser le truc non ? Ce serait dommage que ça importe aussi tout le code inutile spécifique à la version desktop.
Un autre truc sympa serait de pouvoir gérer également les ressources aussi d'un seul coup… Ça doit être possible aussi je suppose. (Par exemple la version desktop prendrait les fichiers de drawable-hdpi). Mais ce qui serait pas mal ce serait de pouvoir tirer profit de fichiers langues aussi non ?
J'aimerai avoir votre avis.
Merci.
