A downloadable game for Windows, macOS, and Linux

Mettez vos ennemis en pièces, récupérez leurs ressources et devenez plus fort pour affronter votre adversaire final !

Proto réalisé en LUA avec LÖVE2D pour la Game Jam 19 - GameCodeur.fr.

Jouable au clavier en intégralité, et à la manette en jeu (testé avec XBox Controller).
Navigation dans le menu pour l'instant avec le clavier seulement.
N'hésitez pas à rapporter les bugs ou difficultés que vous pourrez rencontrer.

Version actuelle : 0.19.1 - 14/03/19
Devlogs : 0.180.17 / 0.16 / 0.15


Commandes clavier [manette]

Avancer, reculerZ, S [Trigger gauche, Bumper gauche]
Tourner à gauche, à droiteQ, D [Stick gauche]
Tirerflèche du haut [Trigger droit]
Super pouvoirE [A]
Infos ennemisAlt gauche [Bumper droit]
Arrêter, jouer la musiqueM
Afficher le menu pendant le jeuEchap [Start]
Activer, désactiver la visée à la sourisT



===================================

  • Les graphiques 2D d'origine des tanks proviennent de DepositPhotos.com.
    J'en ai créé des variantes d'autres couleurs, puis les ai reproduites en 3D à l'aide de MagicaVoxel et mis en situation avec Blender. Image de la clé : atelier The Binding of Isaac GameCodeur.fr.


  • Les sons de tirs viennent de SoundBible.com. Je ne les ai pas utilisés tels quels et les ai mis à mon goût avec Reaper. Les sons de ramassage des objets sont faits avec BFXR.
  • La musique en jeu est une évocation Punk d'un morceau de M.Laplaine : "Fumer réduit l'afflux sanguin et peut provoquer l'impuissance". Un album dans lequel j'ai joué la basse. Je l'ai ici rejoué en mode crado-punky-grunge pour le plaisir et aussi parce que j'aime ce mec. (Enregistré / édité / mixé / exporté une heure avant la clôture de la jam :P [Edit : bon bah en fait on avait le temps ! Aaarrggh])

  • Codé seul en LUA/LÖVE2D, avec pour objectif la mise en application d'un maximum de concepts abordés dans les ateliers GameCodeur.
  • Librairies externesMoonShine pour quelques dégradés, pas indispensables mais je voulais tester cette librairie d'effets visuels.
  • Temps passé : plusieurs dizaines d'heures, la centaine ne devant pas être loin.


Ce qui se passe dans le jeu :

  • Le héros peut tirer, son canon peut pivoter indépendamment et a un temps de rechargement (jauge verticale à gauche de l'avatar).
  • Le héros et son canon ont des attributs qui changent leur comportement : points de vie, expérience, dégâts, blindage, vitesse, portée, vitesse de tir.
  • Le héros a un pouvoir spécial qui étourdi les ennemis pendant une courte durée et inflige des dégâts (touche "E" du clavier / bouton "A" de la manette) [v0.18]
  • Les dégâts infligés de part et d'autre varient en fonction des dégâts de base du canon, du blindage de la cible, et du niveau de l'unité. 
  • Plusieurs types d'ennemis sont repartis aléatoirement dans le donjon. Chaque type a des caractéristiques différentes.
  • Un ennemi tué a un pourcentage de chance de lâcher un objet qui, en étant ramassé, procure un bonus à l'un des attributs du héros. Chaque objet est comptabilisé dans un inventaire.
  • Une clé doit être ramassée en éliminant tous les ennemis d'une des salles du donjon, laquelle donne accès à la salle du boss.
  • Le héros gagne de l'expérience à chaque unité abattue, le cumul d'XP permet d'augmenter le niveau du héros.
  • Le héros a une jauge de vie, le vie remonte lentement au fil du temps, et plus vite lorsque des objets correspondants sont ramassés.
  • Battre le boss permet d'accéder au niveau de donjon suivant. Chaque niveau passé augmente le donjon d'une salle supplémentaire et augmente les attributs des mobs, donc la difficulté.
  • Le tank du héros est amélioré à chaque niveau du donjon.



Élève de GameCodeur depuis le 16/08/2018

===================================

[PPM]

S'extasier devant un pixel qui bouge, s'émerveiller devant un carré qui tourne, sourire béatement devant une jauge qui monte et qui descend... Les petites victoires et les grandes satisfactions sont nombreuses et mènent encore et encore à d'autres plaisirs de création pure.

Le couple LUA/LÖVE2D est déterminant dans la progression du développeur débutant. Il devient possible de se concentrer sur les personnages que l'on veut voir prendre vie, sur les mécaniques que l'on veut mettre en oeuvre et d'oublier (presque) d'apprendre un langage et une syntaxe.

Quel pied de pouvoir appliquer à son propre jeu des éléments de gameplay de jeux auxquels on a soi-même joué ! Et c'est là que la pratique du code pour ce qu'il est et non pour relier des assets entre eux devient quasi extatique. Un débutant dans le monde du jeu vidéo ne pourrait jamais faire autant avec un moteur AAA qu'avec douze lignes de code, un peu de réflexion et la formation de David. C'est IM-PO-SSIBLE !  😁


Difficultés

  • Au début, définir les priorités. 
  • Au milieu, faire le deuil de certaines fonctionnalités. 
  • À la fin, rendre un jeu sans bug !

Bénéfices de la Game Jam

  • Avoir progressé dix fois plus vite que sans y avoir participé,
  • avoir réalisé un projet consistant, avec un début et une fin,
  • avoir utilisé plus profondément le framework (obligé d'éplucher la doc), 
  • avoir engrangé des automatismes et gagné en efficacité, coder plus vite, 
  • avoir pris du plaisir à produire ses propres contenus,
  • être davantage en confiance pour la suite de la formation.
StatusPrototype
PlatformsWindows, macOS, Linux
Rating
(2)
AuthorJray
GenreSurvival
Made withLÖVE
Tagsdonjon, gamecodeur, Game Jam, proto, tank, Tanks
Average sessionA few minutes
LanguagesFrench
InputsKeyboard, Xbox controller

Install instructions

INSTALLATION

Téléchargez le fichier selon votre OS : .exe pour Windows, .love pour Linux et MacOS (requiert la présence de  LÖVE 11)

[WINDOWS] Veillez à ce que votre anti-virus ne bloque pas l'installation : ne s'agissant pas d'un programme connu il peut refuser la copie de certains fichiers. Vérifiez les alertes et ajoutez les fichiers concernés en liste blanche.

[LINUX] Vérifiez que vous possédez bien la dernière version de LÖVE. Si ce n'est pas déjà fait, ajoutez les dépôts suivants :

sudo add-apt-repository ppa:bartbes/love-stable
sudo apt-get update

Download

Download
TankMeOut!_0.19.1 - INSTALLATEUR 21 MB
Download
TankMeOut!_0.19.1 - LÖVE 18 MB

Development log

Comments

Log in with itch.io to leave a comment.

Coucou ! Tres bon jeu. Petits retours:

Je comptais le finir (si c est faisable) avant de poster maiiiiis lvl 8, j appuie sur E et HA: error particleManager.lua:31 attempt to index local pWeapon (a nil value) héhé

Ensuite, on peut se mouvoir pendant le pause (echap) ... :o dur dur! a changer ;)

Quoi d autre! AH oui, tu mets une bonus de +1% au degat lootable... 1% de 20 ... bah il bouge pas, j suis pas si tu manipules un float ou non mais lvl 8 apres je crois bien 5 bonus, j etais encore a 20 (normal me direz vous mais a changer quoi ;p) Si je puis me permettre enleve les +X% , mets des valeurs fixes (en effet le joueur s'en moque d avoir la valeur precise, +1% portée??? +1Portée c'est plus... jeux videos :p

Sinon j'ai rien vu d autres... hmm en tout cas il en jette. Il est super dur à prendre en main en zqsd + arrow!! Mais j me suis pris au jeu ^^

Bonne continuation, en vrai, tu bosses dessus, peaufine les IA, ajoutes une histoire, et ce jeu ce vend! Et il marche j'en suis sur! GL pour la suite.

(+1)

Hello ! Merci Sungie pour ce retour détaillé !

Pas encore envisagé de fin, la seule issue étant d'établir le meilleur score. Je prévoie d'ajouter un leaderboard.
Je vais jeter un oeil au bug du Stun (E). Merci de l'avoir signalé.
Pour la pause, c'est un bug. J'ai dû cassé quelque chose à un moment puisque le jeu n'est pas censé être actualisé pendant la pause. Ce qui signifie qu'on ne doit pas pourvoir faire quoi que ce soit dans le jeu. Je corrigerai.

Les bonus d'attributs sont en % pour pouvoir s'appliquer proportionnellement au niveau du héros. J'ai changé les échelles de certains attributs pour qu'il soit cohérents avec les bonus et qu'on puisse voir la valeur bouger. Puis j'ai mis ça de côté car je vais revoir tous les équilibrages. Les pourcentages de bonus sont courants, tout dépend de ce qu'on veut appliquer comme effet sur le perso et si on connait la valeur de départ ou pas. Par exemple, les bottes de vitesse dans Dota 2 : https://dota2.gamepedia.com/Boots_of_Speed

Si tu veux une petite histoire, fais un tour dans le menu > "le Commencement". C'est un embryon. Certes, peut-être un peu long, mais j'avais des choses à raconter. Il est possible que tous les mots ne soient pas forcément audibles. J'ai fait les sous-titres mais je ne les ai pas gravé dans la vidéo, je n'ai qu'un fichier sidecar pour l'instant. Je les intégrerai dans la prochaine MàJ.

En tout cas merci pour ton test acharné, car je ne me suis moi-même pas encore rendu au niveau 8 ! Et merci pour ton com sympa :)

A bientôt Sungie, nous nous recroiserons certainement. ;)

"J'ai ensuite créé des variantes d'autres couleurs, puis les ai reproduites en 3D à l'aide de MagicaVoxel et mis en situation avec Blender."

Pourrais tu en dire plus ? 

J'ai 0 connaissance, savoir faire en graphisme mais souhaiterai m'y mettre, tu sembles ne pas avoir commencé dans le domaine depuis bien longtemps mais avec un putin de jolie résultat, j'aimerai savoir si tu as des conseils et des voies à suivre ? merci.

Hello Jmk002 ! Je n'ai pas encore pris le temps de te faire une réponse construite, et j'essaie de ne pas t'oublier. En attendant, recherche des infos sur ces deux logiciels simplement en regardant une rapide présentation vidéo de ce qu'il est possible de faire avec (sur YouTube, par exemple). Je ne tarderai pas à te décrire plus précisément l'usage que j'en ai fait dans le cadre de la Game Jam. Tu pourras sûrement en faire quelque-chose dans tes futurs projets. 👌🏻

Merci !

Super, on est loin ici du premier carre qui bouge 😉

C'est du bon travail, avec tout ces effets et tous les concepts utilisés.

Bravo 👍

(1 edit)

Merci Duruti ! C'est fabriqué avec cœur.
... Je pense que ça va être une drogue de faire ces trucs. 🤪

je confirme, c'est dur de s’arrêter quand on a commencer 😜

Salut Jray, superbe boulot !! C'est magnifique. 
Merci de nous avoir permis de regarder le code !

ps : Il y a un petit bug facile à corriger dans ton menu d'introduction avant d'avoir joué une première fois, on peut bien descendre sans problème mais si on remonte on a un message d'erreur (89 attempt to index a nil value.

Merci S3v@l ! Voilà, j'ai remplacé les fichiers, il me semble que c'est corrigé.
Je pense que c'est un peu pour tout le monde pareil, la rigueur à laquelle on s'était astreint au début s'est transformée en foire au slip de l'empilage de "if jaipaltemps == true then faireCaPlusTardEnMieux() end"... Sur les derniers mètres c'est à l'arrachée. Et à l'arrache aussi. Au risque de péter des trucs qui marchaient bien juste pour rajouter une toute petite dernière fonctionnalité qui nous faisait tripper !