← Back to catalog
Cover image for Tank Armageddon

Tank Armageddon

Ici je vous propose mon proto de jeu inspiré de Worms Armageddon pour la GameJam #19 de GameCodeur sur le thème des tanks. Elève Gamecodeur depuis le 06/09/2018. Ce jeu a été développé en C# / MonoGame. Les graphismes ont été en grande partie récupérés sur kenney. Les images du menu, de victoire, de défaite ainsi que l'animation de la foreuse ont été gentillement réalisé par flashjaysan que je remercie beaucoup (les graphismes c'est pas mon truc...) ! Les musiques ont été récupérés sur le net, les tirs et explosions sont des extraits de réel tirs de tank prélevé sur des vidéos youtube. J'ai réalisé le code seul, cependant j'ai utilisé quelques morceaux de codes provenant d'internet et d'autres élèves que je salue et remercie au passage : - la classe Input --> matutu - la classe Simplex --> HydroGene - la classe Primitives2D a été récupérée sur internet. Cette classe ne m'a servi que pour afficher des formes géométriques à l'écran pour débuguer mes collisions (non utilisé dans le cadre du jeu). - la classe PrimitiveBatch a été récupérée sur internet afin d'afficher directement des triangles (pour réaliser l'eau et ses vagues). Je n'ai pas compté le temps passé mais je l'estime aux alentours de 80-90h. Post-Mortem : J'ai morflé sur plusieurs éléments... La trigo : - Le positionnement du canon en fonction de l'angle du tank. - L'angle des objets qui suit la pente du sol. - Les rebonds des grenades. Le bruit de perlin pour générer aléatoirement les formes (la courbure) de la map. Les performances, au départ l'affichage de la map pixel par pixel se faisait ressentir (évidemment je cherchais à afficher la map comme j'aurais pu afficher une tilemap avec une double boucle...). J'ai donc généré la texture une seule fois au démarrage de la map, puis je n'y touche que sur évènements (sur explosion), cependant au lieu de recréer toute la map, je modifie uniquement la map à l'endroit de l'explosion. Les collisions avec le sol (j'ai du faire une sorte de Continuous Collision Detection pour éviter que les missiles passent au travers des morceaux de map cassés les plus fins). Ensuite mon plus gros souci a été le temps, j'ai placé la barre relativement haute par rapport au temps que je pouvais y passer et par rapport à mes connaissances. Cependant j'ai appris beaucoup durant cette jam, j'ai pris beaucoup de plaisir à la réaliser. Et je suis bien décidé à poursuivre ce jeu après la jam. Effectivement ce jeu se prête bien à d'autres concepts que j'aimerais aborder : - Une IA réalisée à base de réseau de neurones couplé avec de l'algorithme génétique (c'est d'ailleurs la chose que je suis en train de faire). EDIT : C'est fait, l'IA doit encore s'entrainer des dizaines d'heures avant d'être correct et je dois rajouter quelques données d'entrées supplémentaires pour gérer les tirs paraboliques mais on verra plus tard ! - La partie jeux en réseau. - La manipulation des shaders. Pour les petits curieux (je sais qu'il y en a) qui ont envie de voir les sources de mon code, je vous l'ai mis en public sur github (c'est pas parfait, je ne suis pas vraiment satisfait de toutes les dépendances de mes objets mais pour du code de jam, c'est suffisant) : https://github.com/Nono02P/TankArmageddon Bien sûr, si un des concepts que j'ai mis en œuvre vous intéresse, vous pouvez me contacter sur discord, je me ferais un plaisir d'expliquer ce que j'ai pu faire et de vous aiguiller sur l'endroit où j'ai géré la portion de code ! Un grand merci à David, mon inscription chez gamecodeur m'a permis de progresser à une vitesse que je ne soupçonnait pas ! Un grand merci à tout ceux qui ont essayé mon jeu et qui ont pris le temps de me faire un retour sur le jeu ! Un grand merci aussi à duruti, Wazou, HydroGene, Zethzer pour ce soutien, cette aide et ces encouragements au quotidien tout au long du développement :) Merci à tout ceux qui m'ont aidé sur des étapes clefs sur lesquelles j'étais bloqué, je pense à Veronimish, Padawan, raoul, flashjaysan, cehem, etc... Désolé si j'en oublie... De manière générale, merci à tous les membres de gamecodeur, cette communauté est formidable ! :D

Nono02P 20 followers· portfolio 11 View creator →
ItchDB signals
★ 5 avg rating
2 ratings
4 comments
Catalog standing Top 37%
#149,432 of 399,792most rated

Ratings over time

Cumulative · 30d
2 30d ago today
Cumulative ratings