Ce prototype est conçu dans le cadre de la game jam du site GameCodeur.fr sur le thème Tanks. La version HTML est une version test faite sur Godot mais le vrai projet est fait avec LÖVE pour comprendre comment ça marche sous le capot. Le jeu n'est pas terminé mais j'en ai appris des choses malgré tout. Le personnage peut se déplacer dans un décor, ne rentre pas dans les obstacles, peut tirer des notes de musique et on peut faire tourner la caméra.

L'influence vient du jeu Super Probotector sur Super nintendo.

Utilisez les touches fléchées, WASD / ZQSD pour vous déplacer, J,K, NUM4, NUM6 pour tourner la camera et SPACE, NUM0 pour tirer.

Elève Premium de Gamecodeur  depuis 14 mois.

Langage Lua et framework LÖVE

Pas de lib externes

Temps passé : je ne sais pas trop évaluer ça. Je dirais 20 à 30 heures.

Postmortem :

Je suis plutôt content du code. Tout est modulaire et après plusieurs refactors, j'ai trouvé comment coder proprement les collisions entre les murs et le joueur. Il suffisait de décomposer les déplacements en une suite de déplacements horizontaux et verticaux. J'ai testé quelle composante est la plus importante et c'est celle-là par laquelle je commence. Ensuite, s'il y a collision, je déplace le personnage dans une boucle pixel par pixel jusqu'à ce que ça touche.

J'ai également découvert la méthode pour gérer une collision entre un cercle et un rectangle alignés sur les axes (non utilisé).

La plus grosse difficulté a été de comprendre comment faire tourner la vue sur le personnage placé à un point fixe de l'écran. J'ai passé de nombreuses heures à réfléchir à la philosophie derrière le fonctionnement des transformations dans LÖVE mais au final, c'est le fait d'avoir fait des essais sur un petit programme test qui m'a débloqué. J'ai encore quelques difficultés avec le concept et il est probable que je fasse encore des erreurs à l'avenir mais au moins, je l'ai fait sans lib et je suis content de moi.

Je tiens à remercier raoul pour m'avoir aidé au départ du projet, pour m'avoir fait gagner du temps sur la fonction d'affichage des tuiles et pour m'avoir donné plein d'idée pour la modularité du code.

Download

Download
TankHunterv0.5SourceLOVE.zip 23 kB

Comments

Log in with itch.io to leave a comment.

C'est vraiment sympa l'idée de faire tourner le décor autour du personnage, le jeu prend une autre dimension et ça change de l'ordinaire, bien joué :)

Salut flash, 

c'est vrai que c'est un part fondamental de pouvoir nommé se qu'on fait ou par une fonction ou par un module ça permet de donné et un sens et une intention . 

C'est super si t'en as tiré une satisfaction (bien joué le sous programme je fait ça souvent), je me suis servi de l'idée de la camera  pour le roguelike que je programme, c'est plus simple de visualiser ça comme d'un referenciel et on décale tous selon se referentiel (ex : world{x, y} .. ).
Parcqu'aprés tous c'est ce qu'on fait dans un jeux on  bouge des figures géométrique dans "l'espace... que ce soit un menu un tank c'est encore et toujours des figure géométriques "... 

avec du recul je commencerais par les math et la géo avant d'attaquer l'info mais bon on y est alors autant en profité ;-) 

allez lus