Salut,
moi c'est Uriopass, je code en Java depuis 1 an et demi aujourd'hui, et du haut de mes 16 ans, je viens vous présenter SuperGunArena. En gros, c'est un remake d'un jeu que j'ai déjà fait appelé Supergun. La nouvelle version a pour but d'être construite sur une base propre, et d'ajouter tout un tas de fonctionnalités.
En savoir plus sur le projet
Genèse
Comme expliqué dans l'introduction, Supergun est un jeu qui a beaucoup plu et j'ai ainsi décidé de faire un remake en mieux. Par exemple, j'ai changé de librarie graphique en utilisant LibGDX. Cette librarie est plus rapide et me permet de faire des maps de taille indéfini contrairement à l'ancienne version qui était limité à du 25x20. Enfin bref, j'avais envie d'appliquer mes nouvelles compétences à ce mini-jeu qui me tient à cœur.
Généralités et avancement
SupergunArena est un jeu vidéo de type arène dans le style de SuperSmahBrosBrawl (SSBB pour les intimes). Le principe est que l'on possède des armes, qui lorsqu'elles sont utilisées poussent le joueur. Et lorsque celui-ci tombe dans le vide, il meurt tout simplement. Le jeu se joue à deux sur le même clavier (même si un mode en ligne est prévu), et j'ai aussi implémenté une I.A. basique mais efficace. Le jeu est pour l'instant en "beta" si on peut dire, c'est à dire qu'il implémente toutes les fonctionnalités de base, comme les mouvements des personnages, un éditeur fonctionnel, une I.A. et la gestion du score et des morts. Mais bien sûr, il reste encore beaucoup de choses à faire.
Pour faire ce jeu, j'ai utilisé le langage de programmation Java car c'est celui que je maîtrise le plus. J'ai aussi utilisé la librarie graphique LibGDX car elle est puissante, maniable et que je sais aujourd'hui convenablement l'utiliser. J'ai effectué les graphismes sur GIMP, excepté pour les personnages et le fond.
Objectifs
SupergunArena n'est pas un jeu qui se veut connu, mais simplement un petit jeu pour jouer 10 min. avec un pote quand on en a envie. Mon objectif est de faire plaisir au plus de personne possible, ainsi Java est adapté car il faut simplement télécharger un jar et l'on peut directement lancer le jeu. J'ai actuellement une todo list, et j'essaie du mieux que je peux de m'y tenir et de l'améliorer et la compléter quand je le peux, elle est disponible un peu plus bas dans le sujet.
Par ailleurs, le projet est OpenSource et disponible sur github --> ici
Le projet et son originalité
Le projet ne se veux pas particulièrement original au sens où c'est un jeu "d'arcade" et il n'y a pas d'histoire. Le principe est simple : "pousser ou se pousser". Et donc comme prévu, voici ma todo list avec les choses déjà faites, en production et à faire.
Todo list :
[FAIT] Mode de "vie" (--> Mort si vie = 0)
[FAIT] Mode de "brawl"
[FAIT] Camera dynamique
[FAIT] Effet de sang
[FAIT] Editeur de map
[FAIT] Sauvegarde des maps
[WIP] Options
[TODO] Touches personnalisées
[FAIT] Boites des munitions et d'armes
[FAIT] Meilleures munitions (gestion des collisions et angle)
[FAIT] IA
[WIP] Plus de blocs pour la map
[WIP] Mode plus customisable
[WIP] Plus d'armes
[FAIT] Shotgun
[FAIT] Sniper
[FAIT] Mitraillette
Bazooka
Epee
Lance-flammes
Mode de Parkour
[FAIT] Generateur de parkour
[TODO] Multiplayer en ligne (ou local)
[TODO] Support de plusieurs maps
[TODO] Mode "survival" (avec des zombies par exemple)
Et bien sûr, si vous avez des idées, n'hésitez pas à les poster en commentaire !
Bon alors maintenant, je vais un petit peu expliquer le principe interne du jeu.
Le jeu possède pour l'instant 4 armes: le pistolet, le sniper, le shotgun et la mittrailletes, ayant toutes leurs avantages et leurs défauts.
Il y a quatres options :
Ammo, active ou désactive les munitions.
Brawl mode, active ou désactive le fait de "pousser" le joueur.
IA, active ou désactive l'IA
Parkour, active ou désactive le mode "parkour". Activer le mode parkour élargit la caméra et fait apparaitre le bouton "generate parkour" dans l'editeur.
Voici les touches pour les personnages :
Personnage vert
Gauche : S
Droite : F
Sauter : E
Tirer : Espace
Personnage noir
Gauche : Fleche gauche
Droite : Fleche droite
Sauter : Fleche du haut.
Tirer : Enter ou Ctrl droite
Bonus : En jeu, si vous appuyez sur 'M', le jeu sera au ralenti.
Editeur :
Dézoomer avec la souris
Clic droit pour bouger la caméra.
Clic gauche pour poser le bloc
Chiffres (1, 2) pour changer de bloc.
Le bouton switch mode permet de passer en mode "gomme".
Téléchargements
Le lien de téléchargement n'est pratiquement pas susceptible de changer, et contiendra toujours la dernière version :
pas mal ,trop court mais je pense que tu as du mettre du temps a le faire alors je te mets la note de 13.9/20 ce qui est tres bon pour mes critiques habituels
Edit : Bon plus sérieusement, GG. La GUI est clairement plus jolie et c'est cool d'avoir ajouté des éléments au gameplay. J'attends les futures implems J'ai déjà passé plus de temps sur ton jeu que sur certains jeux triple A. Mine de rien quand tu t'ennuie avec quelqu'un à un tel point que tu regarde ton bureau de PC d'un air blasé, trouver supergun.jar c'est cool.
- Edité par alexandre.tsu.manuel 4 juin 2015 à 23:14:38
Hey ! Je me souviens de ta première version, j'avais eu l'occasion de tester
Content de voir que t'es toujours actif, ça a l'air bien parti pour ton remake, bonne chance pour la suite
Haha merci beaucoup ! J'espère que la nouvelle version te plaira ;-)
tsunami33 a écrit:
pas mal ,trop court mais je pense que tu as du mettre du temps a le faire alors je te mets la note de 13.9/20 ce qui est tres bon pour mes critiques habituels
Wouah tsunami33 ! Je suis beaucoup vos critiques et effectivement par rapport aux autres, 13.9 c'est incroyable ! Merci beaucoup
Edit : Bon plus sérieusement, GG. La GUI est clairement plus jolie et c'est cool d'avoir ajouté des éléments au gameplay. J'attends les futures implems J'ai déjà passé plus de temps sur ton jeu que sur certains jeux triple A. Mine de rien quand tu t'ennuie avec quelqu'un à un tel point que tu regarde ton bureau de PC d'un air blasé, trouver supergun.jar c'est cool.
Ouais le fait d'avoir implém un caméra dynamique me permet d'utiliser un peu mieux l'écran, et de rajouter un GUI plus agréable.
Coucou !
J'ai récemment ajouté le bloc du néant. C'est un bloc animé qui tue le personnage lorsqu'il le touche.
Pour l'ajouter, il faut aller dans l'éditeur et taper la touche "2", puis cliquer.
Un petit screenshot pour vous montrer à quoi ça ressemble :
Ha oui j'avais oublié de le préciser, mais si vous appuyez sur la touche "M", vous activer le mode "matrix" qui, en gros, met le jeu au ralenti.
Perso je trouve ça vachement marrant et je vous invite à l’essayer !
L'IA est d'ailleurs peut-être un peu trop bien faite J’envisage de mettre des temps de réaction, mais en échange de faire en sorte qu'elle aille chercher des armes.
Sinon la partie ne se termine.. jamais. En fait je ne sais pas quelle règle mettre, et c'est pour ça que je vais faire en sorte qu'on puisse choisir entre par exemple score ou temps. Donc c'est normal si tu n'as pas vu la fin du jeu.
Euh sinon j'avoue que je n'ai pas la moindre idée de la provenance du bug, normalement les munitions n'ont aucun impact sur le joueur, mais seulement sur l'arme. D'ailleurs, je n'ai jamais eu ce bug, donc j'espère qu'il ne se reproduira plus.
Enfin, le jeu est vraiment beaucoup plus fun à deux, et je t'encourage vivement à l'essayer avec quelqu'un d'autre.
tsunami33 a écrit:
Nice !
Bon j'ai passé une bonne heure dessus avec mon frère et ma sœur hier
j'avais testé supergun, j'ai beaucoup aimé et la je vois que tu en fait un remake alors j'ai des idées à te soumettre :
faire un menu de "sélection" de son personnage et l'adversaire (si ce n'est pas une IA) pourra choisir son perso
-> chaque perso aura des caractérisques différentes : possiblités d'avoir 2 armes, de taper a main nue si on a plus de munitions, double saut, magie, invocation de demons | chats tueurs japonnais | oiseaux de twitter (en mode what the hell, oui xD) etc ... vitesse différente, résistance aux dégats différentes, et attaque différente en fonction de chaque perso
en jeu, si on a choisi IA, si on veut utiliser les commandes du 2eme joueur (donc qu'un autre joueur vient en pleine partie), le mode IA se désactive automatiquement
avoir plus de blocs dont des liquides (eau, lave, morve ...), du feu, du bois (si on reste + de 2-3 secondes dessus, le bloc tombe et toi avec ), des arbres (on pourrait grimper dessus) ... etc !
j'avais testé supergun, j'ai beaucoup aimé et la je vois que tu en fait un remake alors j'ai des idées à te soumettre :
Juste pour info, la nouvelle version est vraiment différente, et je t'invite sérieusement à l'essayer.
faire un menu de "sélection" de son personnage et l'adversaire (si ce n'est pas une IA) pourra choisir son perso
-> chaque perso aura des caractérisques différentes : possiblités d'avoir 2 armes, de taper a main nue si on a plus de munitions, double saut, magie, invocation de demons | chats tueurs japonnais | oiseaux de twitter (en mode what the hell, oui xD) etc ... vitesse différente, résistance aux dégats différentes, et attaque différente en fonction de chaque perso
Alors c'est vrai que je trouve ça sympa, mais le problème majeur que je vois c'est que ça nuit au "fun" du jeu, on va passer trop de temps à créer le perso relativement au temps passé en jeu.
en jeu, si on a choisi IA, si on veut utiliser les commandes du 2eme joueur (donc qu'un autre joueur vient en pleine partie), le mode IA se désactive automatiquement
Oui effectivement, mais à ce moment là l'IA se réactive après ou pas ? En tout cas c'est pas dur à implémenter ! Le seul problème que je vois c'est que si tu missclique sur une des touches, pouf l'IA se désactive et tu peux plus rien faire..
avoir plus de blocs dont des liquides (eau, lave, morve ...), du feu, du bois (si on reste + de 2-3 secondes dessus, le bloc tombe et toi avec ), des arbres (on pourrait grimper dessus) ... etc !
Alors le problème c'est que la map n'est pas faite pour gérer ce style d'entité pour l'instant, mais je prend note de ces suggestions.
Enfin, j'admire beaucoup ton projet d'UrWorld et je suis honoré que tu viennes commenter mon jeu.
j'avais testé supergun, j'ai beaucoup aimé et la je vois que tu en fait un remake alors j'ai des idées à te soumettre :
Juste pour info, la nouvelle version est vraiment différente, et je t'invite sérieusement à l'essayer.
j'y vais alors !
Uriopass a écrit:
faire un menu de "sélection" de son personnage et l'adversaire (si ce n'est pas une IA) pourra choisir son perso
-> chaque perso aura des caractérisques différentes : possiblités d'avoir 2 armes, de taper a main nue si on a plus de munitions, double saut, magie, invocation de demons | chats tueurs japonnais | oiseaux de twitter (en mode what the hell, oui xD) etc ... vitesse différente, résistance aux dégats différentes, et attaque différente en fonction de chaque perso
Alors c'est vrai que je trouve ça sympa, mais le problème majeur que je vois c'est que ça nuit au "fun" du jeu, on va passer trop de temps à créer le perso relativement au temps passé en jeu.
nan pas du tout on s'est pas compris, en fait tu vois dans pokémon ? tu as 721 pokémon je croirs. mais c'est les dev qui les ont créés ! et c'est là ou je voulais en venir, on ne pourrait pas créer de perso, il y en aurait deja de proposé !
Uriopass a écrit:
en jeu, si on a choisi IA, si on veut utiliser les commandes du 2eme joueur (donc qu'un autre joueur vient en pleine partie), le mode IA se désactive automatiquement
Oui effectivement, mais à ce moment là l'IA se réactive après ou pas ? En tout cas c'est pas dur à implémenter ! Le seul problème que je vois c'est que si tu missclique sur une des touches, pouf l'IA se désactive et tu peux plus rien faire..
et ben mettre le jeu en pause dans ce cas, et réactiver l'ia ! ou ajouter une touche pour que le joueur 2 se deco et que l'ia revienne
Uriopass a écrit:
avoir plus de blocs dont des liquides (eau, lave, morve ...), du feu, du bois (si on reste + de 2-3 secondes dessus, le bloc tombe et toi avec ), des arbres (on pourrait grimper dessus) ... etc !
Alors le problème c'est que la map n'est pas faite pour gérer ce style d'entité pour l'instant, mais je prend note de ces suggestions.
Enfin, j'admire beaucoup ton projet d'UrWorld et je suis honoré que tu viennes commenter mon jeu.
oké cool !
c'est plutot qui m'honore là 1 tu me fais de la pub et 2 tu admires un projet d'un lycéen boutonneux plus jeune que toi d'un an
1/ Héhé merci, c'est tout fais maison ! (A part le moteur bien sûr)
2/ Alors on saut effectivement assez haut, mais ça permet d'avoir une bonne mobilité ce qui est crucial dans le jeu. Sinon moins tu as de vie, plus tu es poussé fort.
3/ Arf, je sais pas trop ce que je pourrais expliquer à part "Y'a des armes qui tombe du ciel et il faut se pousser pour gagner".
4/ Je suis en train de l'améliorer pour qu'elle ne tombe pas dans le vide de manière stupide.
3/ ben un tuto sur les touches car je m'attendais a utiliser WASD ou ZQSD et en fait c'est ESDF
et pis sur l'utilisation des armes (les nouvelles qui n'existent pas encore) et sur l'effet que de nouveaux blocs si il y en aura ont sur toi (ralenti, accélère, colle le personnage ...)
Oui effectivement, ça me semble être crucial. M'enfin du coup je vais faire un système pour changer les touches, et je vais juste faire un bouton "help" qui explique quelques trucs du jeu comme les nouveux blocs et armes.
Eviter le spawn kill ? (genre je sais pas moi, 3 secondes d'invulnérabilité à l'apparition)
Choisir ses persos pourrait être cool ouais (genre fais en 5 ou 6 rien de dément). Si tu le fais donne le choix de prendre un personnage féminin
Peut-être réduire la poussée ? Parce que arriver à s'eject alors qu'on a 100PV c'est chaud. Une poussée moins violente au début et qui s'agrandit un peu plus avec la perte de PV serait pas mal (là on a quand même du mal à voir la différence entre 100PV et 50PV niveau poussée)
La caméra est pas géniale quand les deux persos sont vraiment éloignés. On voit aucun des deux persos. Ça ruine le parkour à deux joueurs quand un des deux meurt. Ce serait bien de pouvoir voir d'un peu plus loin
L'IA en parkour est insupportable.
Le double saut est clairement bogué. Des fois on l'a des fois on l'a pas. En parkour ça rend les choses difficiles.
Pouvoir cut son adversaire ?
Le pistolet fait trop de dégâts. C'est censé être une arme de base. Ça ruine le jeu en mode pas brawl.
Plus de munitions pour la mitraillette ou moins pour les autres armes ? Les munis de la mitraillette partent trop vite par rapport aux autres armes.
Récupérer le pistolet quand on a plus de munitions sur son arme ?
Munitions infinies pour le pistolet ?
Éditeur plus évident ? (j'ai eu du mal à comprendre de quelles touches je devais me servir pour changer de bloc. Et la suppression de bloc pourrait être un bloc en soi. Genre la touche 0)
Pouvoir choisir les touches serait vraaaiiiment cool.
Système de handicap pour les joueurs ? Genre sélectionnable au choix du perso ou automatique en fonction du score ?
Pouvoir revenir au menu sans quitter le jeu ?
Le jeu bug dans le menu et l'éditeur quand on resize la fenêtre
Pouvoir ajuster la distance de la caméra par rapport au jeu avec la molette in game ?
Un genre de "3... 2... 1... Partez !" au début de la game ?
Woah ! Ca c'est du feedback, y'a pas à dire !
Bon du coup je vais répondre point par point
tsunami33 a écrit:
Eviter le spawn kill ? (genre je sais pas moi, 3 secondes d'invulnérabilité à l'apparition)
Ajouté dans la dernière version :-)
Choisir ses persos pourrait être cool ouais (genre fais en 5 ou 6 rien de dément). Si tu le fais donne le choix de prendre un personnage féminin
C'est dans ma todo list !
Peut-être réduire la poussée ? Parce que arriver à s'eject alors qu'on a 100PV c'est chaud. Une poussée moins violente au début et qui s'agrandit un peu plus avec la perte de PV serait pas mal (là on a quand même du mal à voir la différence entre 100PV et 50PV niveau poussée)
Mouarf, en l'occurence y'a une enorme différence entre 100 et 50, mais sinon je vais peut-être réduire toutes les armes et encore augmenter le facteur de vie. Mais tu sais au pire tout ça c'est changeable très facilement, c'est 2-3 constantes, t'as qu'à faire une pull request
La caméra est pas géniale quand les deux persos sont vraiment éloignés. On voit aucun des deux persos. Ça ruine le parkour à deux joueurs quand un des deux meurt. Ce serait bien de pouvoir voir d'un peu plus loin
Tu es bien sûr d'avoir activé le mode Parkour dans les options ? Normalement ça change le comportement de la caméra pour qu'on puisse se voir.
L'IA en parkour est insupportable.
L'IA est désactivé en parkour, enfin quand tu actives le parkour en tout cas.
Le double saut est clairement bogué. Des fois on l'a des fois on l'a pas. En parkour ça rend les choses difficiles.
J'ai changé l'algo dans la dernière version, c'est corrigé maintenant.
Pouvoir cut son adversaire ?
En fait j'ai effectivement refactorisé mes classes pour pouvoir gérer des armes au corps à corps, mais j'ai un peu peur de faire la classe "Knife" parce que... Bah chais pas.
Le pistolet fait trop de dégâts. C'est censé être une arme de base. Ça ruine le jeu en mode pas brawl.
Oui ça j'ai aussi remarqué, je vais changer sa puissance de suite.
Plus de munitions pour la mitraillette ou moins pour les autres armes ? Les munis de la mitraillette partent trop vite par rapport aux autres armes.
Alors sur ce point, j'avoue que j'ai pas joué en mode munitions depuis longtemps et je sais pas du tout si elles sont bien ou pas, donc je vais ajouter des munitions à la mitraillette
Récupérer le pistolet quand on a plus de munitions sur son arme ?
Ouais ok.
Munitions infinies pour le pistolet ?
Nan, je vais en mettre genre 100.
Éditeur plus évident ? (j'ai eu du mal à comprendre de quelles touches je devais me servir pour changer de bloc. Et la suppression de bloc pourrait être un bloc en soi. Genre la touche 0)
Oui, j'ai pensé à changer la manière dont est gérer l'éditeur. Parce que effectivement là c'est un peu chiant de devoir cliquer sur "switch mode" à chaque fois.
Pouvoir choisir les touches serait vraaaiiiment cool.
C'est sur ma todo list :-)
Système de handicap pour les joueurs ? Genre sélectionnable au choix du perso ou automatique en fonction du score ?
Je le met sur ma todo list.
Pouvoir revenir au menu sans quitter le jeu ?
On peut, faut faire escape. (Il faut la dernière version BTW)
Le jeu bug dans le menu et l'éditeur quand on resize la fenêtre
On ne peut plus resize la fenêtre maintenant
Pouvoir ajuster la distance de la caméra par rapport au jeu avec la molette in game ?
Ouais ok. je l'ajoute de suite.
Un genre de "3... 2... 1... Partez !" au début de la game ?
Hmm. Je le met sur ma todo list.
Des sons/musiques ?
J'ai essayé quelque sons, mais j'ai eu des gros problème car ils ne vont pas du tout avec le jeu. Sinon j'ai pensé à certaines musiques que je pourrai mettre, et j'en rajouterai une dans pas longtemps je pense.
Par ailleurs, lorsqu'on à désactivé les munitions, la barre est remplacé par le temps de rechargement, très pratique pour les snipers
idée : faire un système d'updater pour le jeu ? (oui ca doit etre complexe, j'y pense encore pour uw mais je vois pas comment faire car j'arrive pas a me co a une ip publique ^^)
Mieux : Un menu d'options pour régler la puissance et les munitions d'une arme. Je dirais même pouvoir créer ses propres armes. Ce serait swouague. Mais bon tranquille te presse pas pour ça. C'est pas hyper rapide à faire et pas vraiment urgent par rapport au reste
Et c'est dommage de plus pouvoir resize. Ça reste un truc vraiment pratique pour mieux voir en jeu
Bon bah je prends en compte vos remarques ! Je vais mettre les munitions du pistolet en infini, et je vais réflechir à l'éditeur.
Et sinon pour le resize, dans la nouvelle version le jeu prend la fenêtre maximale possible pour ton écran en 16/9 (sans prendre en compte le fullscreen pour le moment). Donc normalement le jeu n'est jamais désagréable.
Mais bon comme on dit "un morceau de code vaut mieux que mille mots", voilà comment je fais :
Et sinon chers amis, je suis prêt a vous annoncer que l'updater est terminé ! J'ai fini de le coder ce matin ! Désormais, vous n'aurez plus à cliquer sur mes liens, (ou du moins, c'est la dernière fois) car dans la dernière version que vous allez télécharger maintenant, supergun se met automatiquement à jour lorsque vous le lancez !
C'est donc la dernière fois que vous cliquez sur ce lien ! :
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.