ZooShell

Jeu de gestion de zoo

a marqué ce sujet comme résolu.

Salut à tous !

Je viens vous présenter un projet de jeu sur lequel je travaille seule depuis plus d’un an : ZooShell !

Présentation

ZooShell est un jeu de gestion de zoo en ligne de commande. Le but n’est pas d’avoir le zoo le plus riche ou celui attirant le plus de visiteurs mais celui où les animaux sont les plus heureux (les moins malheureux).

Ce jeu se veut éducatif en permettant aux joueurs de découvrir de nouvelles espèces animales. Par exemple, je ne veux que l’on se dise « Tiens je vais mettre un lion, les gens aiment bien les lions ». Mais plutôt « Tiens, je vais mettre un lion. Mais lion d’Asie ou lion de l’Atlas ? Et les lions, c’est plutôt solitaire ou ça vit en groupe ? Et dans quel milieu ? Et si je les mets là, est-ce que les gazelles à côté ne vont pas stresser ? ».

Pour cela, j’essaye d’être la plus réaliste possible. Il est notamment prévu de gérer les naissances et les décès, les accidents et les maladies, les structures sociales, l’alimentation des animaux ; le temps et les taches des soigneurs ; les interventions vétérinaires ; les programmes européens d’élevage, etc.

Il s’agira d’un jeu au tour par tour, chaque tour représentant un nombre de mois donné. Le but n’est pas de faire un jeu facile mais de faire prendre conscience de la complexité de la nature.

Avancement

J’ai commencé à développer ce jeu d’avril à décembre 2016. En fait, je pense que je n’étais plus qu’à quelques mois d’une sorte de pré-alpha. Autant le code était efficace et il était relativement facile d’ajouter de nouvelles fonctionnalités (principalement parce que je le connaît par coeur), autant il était franchement crade et non-testable. Du coup, j’ai entrepris il y a peu de recommencer en mettant à profit ce que j’apprends au quotidien. Je n’ai donc pas d’écran à vous proposer pour l’instant mais ça vendra quand j’aurais re-factoré cette partie-là.

Actuellement, je gère de nouveau la structure globale du zoo et des enclos (création et aménagement) et les opérations basiques sur les animaux (création, reproduction, décès, début d’évaluation du bien-être). Je viens de me remettre à la gestion des soigneurs.

J’ai rédigé pour repartir du bon pied un dossier de spécifications que j’enrichis au fur et à mesure de mes réflexions. Je me suis également mise à Trello pour gérer les tâches de développement et les tâches annexes. C’est la première fois que je m’en sers mais je trouve l’outil pas mal pour l’instant.

Technique

Le projet est réalisé en Java 8.

==========

Le topic est là pour recueillir tous vos avis, questions, commentaires… Faites-vous plaisir !

Je me demandais, comment t’y prends-tu pour insérer toutes les données concernant les animaux, tu passes ton temps sur Wikipédia, tu as un bouquin bien foutu, tu bosses toi-même dans le domaine ?

+2 -0

Je me demandais, comment t’y prends-tu pour insérer toutes les données concernant les animaux, tu passes ton temps sur Wikipédia, tu as un bouquin bien foutu, tu bosses toi-même dans le domaine ?

Roipoussiere

Salut à toi !

Non, je ne bosse pas du tout dans le domaine animalier, je suis ingénieure en informatique. Pour ce que est des données sur les animaux, je passe effectivement pas mal de temps à faire des recherches. Wikipédia est utile bien sûr, mais je m’appuie aussi beaucoup sur animaldiversity qui est une base de données sur les animaux de l’université du Michigan. Les "husbandry manuals" sont aussi très utiles pour les données sur l’alimentation. J’ai aussi quelques livres sur le sujets. Je pioche également des infos sur quelques forums.

Bref, j’ai des sources assez variées ! Une session "Références et documentation" est prévue sur le site/blog du projet.

Dwayn, Phigger, merci pour vos encouragements !Je vous tiendrais régulièrement au courant de mon avancement.

Woa ! Super !

Le fait de le faire en shell c’est un choix délibéré de « simplicité » ou c’est parce que tu ne sais pas faire de 2D ? Ca ne risque pas d’être un chouilla complexe à visualiser tout ce qu’il faut faire ?

Je précise que je n’ai pas d’expérience pour les jeux en shell, donc je dis sans doute des bêtises :s

Bravo en tout cas !

Woa ! Super !

Le fait de le faire en shell c’est un choix délibéré de « simplicité » ou c’est parce que tu ne sais pas faire de 2D ? Ca ne risque pas d’être un chouilla complexe à visualiser tout ce qu’il faut faire ?

Je précise que je n’ai pas d’expérience pour les jeux en shell, donc je dis sans doute des bêtises :s

Bravo en tout cas !

Gwend@l

Voilà la question que j’attendais ! Alors, j’ai plein de raisons d’avoir choisir le "mode terminal" :

  • Je ne sais pas du tout dessiner (j’en suis toujours aux bonhommes en bâtons)

  • J’aurais pu travailler avec un graphiste : Oui, mais je voulais travailler seule pour une fois.

  • J’aurais pu prendre des assets libres : Oui, mais je n’en ai pas trouvé d’assez précis. Par exemple, je ne veux pas d’une hyène mais d’une hyène rayée et d’une hyène tachetée. Même si j’avais pu en trouver, je ne pense pas qu’on aurait tellement vu la différence sur quelques pixels de haut.

  • Je ne voulais pas faire un clone de ZooTycoon mais plutôt laisser une bonne part à l’imagination de chacun.

Par contre, si tu penses plutôt à des écrans type "tableau de bord", je me suis posée la question. J’ai opté pour le terminal car cela était plus simple à mettre en place pour moi. Entre autre, car il n’y a pas de graphisme/design à faire.

Cependant, jeu en shell ne veut pas dire "on s’en fout de l’ergonomie !". Je sais que j’aurais sans doute pas mal d’ajustements à faire là-dessus après les premiers tests.

+2 -0

Moi j’ai hâte d’essayer justement parce que c’est en shell, ça change un peu justement :)

Et ça permet de se concentrer à fond sur le contenu et le gameplay. ;)

À ressources humaines égales, je préfère largement un bon jeu en tty qu’un jeu moyen en graphique 2D.

+0 -0

Salut à tous !

Je me permet de vous tenir au courant des derniers avancements. J’ai eu une semaine chargée au travail, du coup j’ai profité du week-end prolongé pour me faire plaisir et avancer ZooShell.

Nouveautés

  • Lignes de commande permettant de lister certaines énumérations (biomes, régimes alimentaires…) ;
  • Gestion des déplacements d’animaux (changements d’enclos);
  • Possibilité de renommer un animal ou un enclos ;
  • Gestion de la durée de gestation (histoire qu’un éléphant ne naisse pas en un mois quand cela met en réalité 20 à 22 mois) ;
  • Début de gestion de l’allaitement (cas où la mère ne s’occupe pas de son petit ; reste à gérer le cas où les deux sont séparés) ;
  • Suppression d’un animal ;
  • Suppression d’un enclos ;
  • Début de gestion de l’agressivité des animaux (cette notion servira notamment pour gérer les cohabitations) ;
  • Reprise des décès par faim : un animal peut mourir de faim car le régime n’est pas adapté, car les quantités sont nulles, car aucun soigneur ne n’effectue de nourrissage dans l’enclos ou car on impose sept jours de jeûne par semaine à l’animal ;
  • Et surtout, mise en place du système des soigneurs avec la gestion de leurs occupations. Pour l’instant, on doit paramétrer quel soigneur passe combien de temps dans quel enclos pour effectuer quel tâche.

Plus quelques bugs par-ci, par là.

Pour la semaine à venir, je pense me remettre sérieusement sur le calcul du bien-être des animaux. J’avais déjà l’architecture globale du calcul mais je vais maintenant pouvoir l’alimenter avec tous les nouveaux critères tels que l’alimentation (les bons régimes avec les bonnes quantités et aux bonnes fréquences), la taille de l’enclos, le nombre d’animaux dans l’enclos, l’influence du temps de présence des soigneurs et de leur tâches… Je voudrais aussi formaliser certaines idées pour les cohabitations et les hybridations.

Salut firm1,

En fait, mes sources sont déjà sur un dépôt public de Github ! Simplement, je souhaite d’abord avancer dans le code, corriger ce qui ne me plaît pas et surtout documenter le tout avant de rendre véritablement mes sources publiques. Ah, et il faudrait aussi que je regarde dans le détails les différentes licences !

Ce projet n’a pas de visée commerciale. Je le fais surtout par plaisir et pour m’en servir comme carte de visite.

Tout d’abord, pardon de répondre si tard.

Frim1, ta réponse me fait énormément plaisir ! Je suis contente de voir que mon projet plaît, au moins à certaines personnes. Ca fait plus d’un an que je suis sur ce projet, j’y ai passé énormément d’heures. Je suis que c’est le cas de la plupart des projets présentés ici mais c’est une première pour moi. Du coup, je suis contente de voir que cela paye.

Je n’ai pas pu trop avancer ces deux derniers semaines à cause de journées de travail chargées (vous connaissez l’effet pré-démo ?). Point de vue métier, je n’ai travaillé que sur le calcul du bien-être de chaque animal qui prend maintenant en compte l’alimentation, le biome et la taille de l’enclos et le nombre d’individus dans cet enclos. Par contre, pour la technique, j’ai intégré Spring dans l’application de manière à pouvoir utiliser la JavaConf. Ca va me simplifier la vie pour les tests dans un premier temps, puis pour l’internationalisation quand je m’y déciderai.

J’ai commencé cette semaine à réfléchir sérieusement à la première version de la liste des espèces qui seront disponibles. Et c’est là que j’aurais besoin de votre aide : y-a-t-il des espèces que vous aimeriez particulièrement retrouver ? les critères d’acception sont pour l’instant : - des mammifères terrestres - pas d’espèces disparues - pas d’animaux mythiques - des espèces présentes en captivité.

Evidemment, les critères sont amenés à évoluer en fonction des idées et des propositions. Si vous avez des envies qui sortent des critères, je prends aussi !

Merci !

Des rat-taupes glabres, ces animaux eusociaux sont si fascinants :)

Sinon, projet sympathique. Ça me rappelle l’apprentissage de l’héritage, des interfaces en JAVA pendant mon DUT. On avait un projet de Zoo, mais clairement pas aussi poussé :P

Bonne continuation !

Et c’est là que j’aurais besoin de votre aide : y-a-t-il des espèces que vous aimeriez particulièrement retrouver ? les critères d’acception sont pour l’instant :

LineVa

Des biquettes !!!! Avec gestion de la f**ing biquette qui passe son temps à se sauver et à manger les chapeaux des visiteurs !!!

y-a-t-il des espèces que vous aimeriez particulièrement retrouver ? les critères d’acception sont pour l’instant : - des mammifères terrestres - pas d’espèces disparues - pas d’animaux mythiques - des espèces présentes en captivité.

Evidemment, les critères sont amenés à évoluer en fonction des idées et des propositions. Si vous avez des envies qui sortent des critères, je prends aussi !

Merci !

LineVa

Si on peut avoir des rongeurs: des souris.

Je note donc rat-taupes nus, souris de manière générale, tatous, loups et lamas.

Dwayn > C’est pas moche un tatou ! Et en plus, c’est super marrant je trouve.

Gwend@l > Alors, la biquette qui mange les chapeaux, ce n’est pas dans les tuyaux. D’autant que les visiteurs ne sont pas prévus. Par contre, si un enclos n’est pas entretenu, ou mal adapté, ou si un animal est particulièrement malin, une évasion n’est pas exclue…

tleb > Autant pour les loups, je m’y attendais, autant je suis plus surprise pour les lamas. Et si tu les mets dans le même enclos, je ne garanti pas qu’ils soient encore tous vivants au bout de quelques tours…

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte