Island est un projet demandant à plusieurs équipes de réaliser un programme explorant diverses îles virtuelles, générées de manière hebdomadaire. Le but était de récolter un certain nombre de ressources, définies dans un contrat lui aussi généré avec les îles. Un nombre d'actions limité était disponible, en fonction du budget fourni dans le contrat. Les programmes des différentes équipes étaient alors exécutés pour chaque nouvelle île générée, dans une sorte de tournoi. Il était ainsi demandé à chaque équipe de produire de la valeur en continu sur la durée
J'ai pu donc participer à l'élaboration d'un tel programme au sein d'une équipe de 4 développeurs. Il aura été possible pour nous de soulever des problématiques de gestion de projet en groupe et d'architecture de code. Le problème central de l'exploration optimale de l'île aura également demandé de réfléchir à une solution algorithmiquement efficace. Ce projet aura également été l'occasion de découvrir le principe des tests unitaires avec JUnit, un des thèmes principaux du cours trouvant une application directe dans la fiabilité demandée au programme réalisé. Enfin, il nous aura permis de comprendre davantage l'utilisation de la gestion de dépendances, avec Maven, ou de la gestion de versions, avec Git.