PDA

Voir la version complète : SHMµP - Shoot them up minimaliste, procédural et scriptable



Sahnvour
16/09/2014, 22h05
SHMµP

Site web (http://sahnvour.github.io/SHM%C2%B5P/) - Télécharger (https://dl.dropboxusercontent.com/u/9206022/SHM%C2%B5P.zip)

http://i.imgur.com/ZhXGJkz.png




---------



SHMµP est un shoot them up sur lequel je travaille depuis un moment sur mon temps libre, avec des périodes de rush et des (longues) périodes de pause. Il est écrit en C++ avec SFML.

SHMµP est :

1. Minimaliste
Tout le jeu est construit autour des blocs que vous voyez dans l'image au dessus.

2. Procédural
Le jeu est généré par un algorithme, en opposition à des niveaux/stages classiques.

3. Scriptable
Il est possible à n'importe qui d'ajouter des ennemis et des vagues au jeu.



---------



Le principe est classique : vous jouez un vaisseau, et vous devez éliminer le plus d'ennemis possible pour scorer.

Vous et les ennemis êtes composés de blocs. Le joueur possède obligatoirement un unique bloc gris en son centre, et peut construire son vaisseau dans les emplacements restants du carré de taille 5*5.
Chaque couleur de bloc apporte un avantage spécifique (expliqués en jeu) au(x) vaisseau(x), et le gris représente la hitbox du joueur.

Le "hasard" a une place importante, c'est pourquoi il faut une seed (la "graine" du hasard) au début de la partie. Entrer la même seed deux fois conduira au même tirage des ennemis et vagues - dans la limite due au fait que, à terme, le gameplay devrait s'adapter plus ou moins à la réussite du joueur.

Les commandes :


on se déplace avec les flèches
on tire avec S
on lâche une bombe avec D
on répare son vaisseau avec F
on alterne entre jeu et construction du vaisseau avec Entrée

Vous trouverez une description un peu plus détaillée sur la page du jeu, je suis allé à l'essentiel :)


Je poste ici en espérant avoir quelques retours (aussi bien sur le jeu en lui-même que sur la présentation), en précisant bien que c'est une build développement, c'est à dire que ça fonctionne mais que c'est loin d'être un jeu fini.

Pour ceux que ça intéresse, une documentation sur le scripting est disponible ici (https://github.com/Sahnvour/shmup-scripting), et je répète que c'est très accessible !

GdabZ
17/09/2014, 14h55
Hello !

C'est chouette ! Mes remarques :
_ comme on peut customiser son vaisseau n'importe quand on peut se rajouter des blocs de santé puis les utiliser puis s'en rajouter puis...
_ j'ai regretté ne pas pouvoir tirer derrière moi et en dessous/dessus de moi, peut être que la position du canon pourrait influer sur la direction du tir ?
_ les bonus (blocs qui restent sur place, a priori ?) manquent de visibilité. Et je n'en ai eu que des jaunes pales. Etait-ce des bonus ? Ils pourraient avoir un effet d'animation genre un bloc qui tourne autour.
_ le build de vaisseau optimal semble être d'avoir 4 colonnes (rouge obligatoire puis jaune, orange, bleu au choix) plus des bonus sur la colonne centrale, ou du bleu marine. Le fait de rajouter des directions pourrait faire varier ceci ?

Sinon bien cool c'est fluide et propre (bon c'est du C++, ça serait dommage que ça rame ;) )

bilbo10
17/09/2014, 17h23
Yop!

Pas encore eu le temps de tester pour ma part, mais je m'y mets dès que possible ;)

Sahnvour
18/09/2014, 19h52
Merci pour vos (futures :) ) remarques.

Tu as visé juste GdabZ, effectivement on peut totalement abuser sur les blocs vu qu'il y en a une vingtaine de chaque de dispo, c'est plus pratique pour tester rapidement sans devoir progresser.
Je réfléchis aussi à une orientation plus ou moins poussée des cannons justement, je ne me suis pas encore décidé dessus mais c'est quelque part dans un coin de ma tête.
Et effectivement les bonus sont tout sauf user-friendly, je dois trouver un moyen de les mettre en avant (c'est pas les solutions qui manquent).

Jusqu'à présent je m'étais plutôt concentré sur la partie technique (qui malgré le visuel assez simple a demandé pas mal de travail :p ), maintenant la réflexion va plus pencher sur le gameplay en lui-même, l'écriture de nouveaux ennemis etc.