Eh bien, j'ai choisi Go surtout parce que c'est un langage que je connais bien et avec lequel je suis assez productif. Après, j'aime bien la simplicité et les build rapides qui donnent un peu l'impression d'utiliser un langage dynamique (impression renforcée par l'intégration des tableaux dynamiques et maps dans le langage), mais avec un minimum de garanties de types statiques, un meilleur outillage pour les éditeurs comme vim et de meilleures performances.
Pour le choix d'utiliser le terminal avec la librairie termbox-go, il y a plusieurs raisons. Une première raison c'est que vu les objectifs assez précis que j'avais, je savais que c'était suffisant ; pour faire un jeu plus complexe, ça aurait pu être un peu limite, mais là avec un nombre limité de couleurs je peux transmettre toute l'information importante (est-ce qu'un monstre dort, se promène ou est en train de te chasser, par exemple). Une deuxième, c'est que c'est une librairie en pur go, donc ça simplifie les builds, ils sont plus rapides, plus simples d'un point de vue dépendance et la cross-compilation de projets écrits en pur go est aussi beaucoup plus facile. Pour des librairies graphiques, il faut actuellement passer par des bindings. Et, enfin, termbox-go est une librairie très facile à utiliser, en tout cas, j'ai trouvé que c'était le cas.
Mais ça n'empêche pas qu'un jour il serait possible faire une version graphique, même avec des tuiles : je n'ai pas beaucoup réfléchi en ce sens, mais la partie interface est plus ou moins abstraite du reste (à l'aide d'une interface go), donc avec de la motivation et un peu de temps, ça devrait être faisable sans trop de difficultés et sans tout chambouler.
[^] # Re: Questions !
Posté par anaseto . En réponse au journal À propos de boohu, un nouveau jeu roguelike, et puis de quelques autres. Évalué à 6.
Eh bien, j'ai choisi Go surtout parce que c'est un langage que je connais bien et avec lequel je suis assez productif. Après, j'aime bien la simplicité et les build rapides qui donnent un peu l'impression d'utiliser un langage dynamique (impression renforcée par l'intégration des tableaux dynamiques et maps dans le langage), mais avec un minimum de garanties de types statiques, un meilleur outillage pour les éditeurs comme vim et de meilleures performances.
Pour le choix d'utiliser le terminal avec la librairie termbox-go, il y a plusieurs raisons. Une première raison c'est que vu les objectifs assez précis que j'avais, je savais que c'était suffisant ; pour faire un jeu plus complexe, ça aurait pu être un peu limite, mais là avec un nombre limité de couleurs je peux transmettre toute l'information importante (est-ce qu'un monstre dort, se promène ou est en train de te chasser, par exemple). Une deuxième, c'est que c'est une librairie en pur go, donc ça simplifie les builds, ils sont plus rapides, plus simples d'un point de vue dépendance et la cross-compilation de projets écrits en pur go est aussi beaucoup plus facile. Pour des librairies graphiques, il faut actuellement passer par des bindings. Et, enfin, termbox-go est une librairie très facile à utiliser, en tout cas, j'ai trouvé que c'était le cas.
Mais ça n'empêche pas qu'un jour il serait possible faire une version graphique, même avec des tuiles : je n'ai pas beaucoup réfléchi en ce sens, mais la partie interface est plus ou moins abstraite du reste (à l'aide d'une interface go), donc avec de la motivation et un peu de temps, ça devrait être faisable sans trop de difficultés et sans tout chambouler.