Witch Blast

Roguelite Dungeon Crawl Shooter

a marqué ce sujet comme résolu.

Bonjour, je vous présente mon projet de jeu vidéo, développé en C++ avec la bibliothèque SFML, sur lequel je bosse depuis quelques mois.


# Image utilisateur

Page de projet

Téléchargement


Introduction

Witch Blast est un jeu d'action au contenu procédural dans lequel le joueur incarne un magicien cherchant à secourir la fille de l'Archimage dans un donjon. Les principales influences du jeu sont Binding of Isaac et les roguelikes classiques comme NetHack ou Dungeon Crawl Stone Soup.


Jouabilité

Il s'agit d'un "twin-stick shooter" - ce qui signifie que le mouvement (dans 8 directions) est indépendant du tir (dans 4 directions) - se déroulant dans un donjon. Dans chaque étage du donjon, il faudra traverser des pièces habités par des monstres à détruire, trouver la clef et vaincre le boss avant de poursuivre l'aventure.

De nombreux objets, placés aléatoirement, à trouver ou acheter, aideront le joueur en le rendant plus fort, rapide, résistant, etc… ou en lui octroyant de nouveaux pouvoirs ou sorts (tir de glace, téléportation, double-tir…). Il est également possible de trouver des compagnons qui aideront à vaincre les ennemis.

Image utilisateur


Développement et avancée

Le jeu est stable, sept niveaux sont déjà disponibles (parmi les 8 prévus).

Au programme:

  • de nombreux objets, dont beaucoup se voient graphiquement sur le personnage, comme des vêtements ou des bijoux,
  • des monstres, qui marchent, volent ou sautent, qui peuvent éventuellement tirer,
  • différents types de tir avec des effets différents, et la possibilité de choisir lequel utiliser à tout moment si on en a trouvé plusieurs,
  • des boss redoutables,
  • des sorts (avec temps de rechargement),
  • des états (empoisonné, gelé…),
  • des boutiques,
  • des succès qui débloquent de nouveaux item / fonctionnalités,
  • des scores en ligne,
  • de jolis graphismes et effets visuels,
  • une histoire et tutoriel.

Il y a encore du boulot avant une version finale - du contenu, bien sûr, mais j'aimerais aussi implementé un certain nombre de fonctionnalités, comme un système de divinités/piété, des obstacles destructibles, des consommables comme des potions, mais le jeu est déjà très jouable et propose déjà une bonne dose de fun et de challenge !

Image utilisateur


Détails supplémentaires

Le jeu est 100% libre, et hébergé sur GitHub. Je distribue les exécutables Windows, mais il peut être facilement compilé sur Linux ou OSX - j'ai un fichier CMake et je n'utilise aucune autre dépendance que SFML (à jour).

Voici une video de gameplay de la version 0.5 :


Pour finir

Merci d'avoir tout lu, j'ai essayé de faire court et d'illustrer avec quelques médias, et amusez-vous bien ! ;)

+11 -0

Pas mal du tout !

Ce n'est pas mince affaire de faire un jeu aussi aboutie avec le couple C++ / SFML. C'est une bonne lib et je suppose que ca a été très enrichissant pour toi car rappelons le ce n'est pas un moteur de jeu et tu as surement dus recréer pas mal de choses toi même (à commencer par la physique et les collisions).

Quoi qu'il en soit, je salut la performance et je ne vais pas te cacher mon étonnement en voyant qu'il est 100% free (et avec les sources !). Vu la qualité actuelle du jeu il n'en n'aurait pas fallu bien plus pour qu'il soit digne d'être proposer sur Steam Green Light ! (Après tout ce n'est pas trop tard, mais ce n'est pas forcement l'objectif non plus)

Je vais le tester ce soir, pour le moment je n'ai vu que la vidéo (qui est plutôt bien réalisé d'ailleurs).

Si tu veux une petite remarque supplémentaire, une fois le jeu aboutie à 100% (c'est à dire ta TODO list + le menu que je n'ai pas encore vu mais qui existe peut être déjà). Je te conseil de voir si tu ne pourrais pas proposer une expérience multijoueurs sans trop d'effort avec le même GamePlay. Je ne parle pas forcement de Pvp car ca nécessiterait quelques changements mais plutôt d'un mode coop en local ou en réseau qui rendrait le jeu encore plus fun (particulièrement lors des combats de boss).

En tout cas Bravo, c'est du beau boulot !

(Bravo aussi à Vetea, les sprite 2D ce n'est pas ce qu'il y a de plus simple)

Ps: La SFML étant depuis peu compatible Android et IOS n'envisages-tu pas un portage ? La gameplay s'y prêterai bien.

+2 -0

Bonjour et merci beaucoup Loptr !

Alors, oui, je n'utilise que SFML, et je dois donc gérer la physique moi-même, mais celle-ci est assez sommaire, heureusement. Héhé, oui, certains joueurs m'ont demandé de le proposer sur Greenlight, mais non, ce n'est pas le but, je souhaitais juste me remettre à C++, et mon "défi" actuel est la réalisation de ce jeu jusqu'au bout (ce qui est assez vague puisque je n'ai pas de cahier des charges, mais une dizaine de niveaux et un certain nombre de fonctionnalités restantes).

SFML sur Android et IOS, c'est encore expérimental, mais je ne pense pas le porter, parce que le jeu n'a pas été prévu pour ça à la base, il faudrait donc que j'adapte la résolution, je ne vois pas trop comment adapter un gameplay avec plein de touches à un gameplay touchscreen, et je ne dispose d'aucune tablette, je ne peux donc pas tester.

Pour le mode multijoueur, on me l'a déjà demandé, mais je ne vois pas comment faire de ce jeu un jeu multijoueur, et j'aurais énormément de boulot pour l'adapter ! Et pour du réseau, c'est pareil, j'aurais du penser à une architecture de ce type dès le début, là je suis bon pour recoder le moteur :P

Sinon, oui, il y a déjà un menu, mais aussi des sauvegardes, et du multilingue (anglais, français, allemand, espagnol et russe). Le menu ressemble à ça:

Capture d'écran du menu

J'espère que tu t'amuseras en y jouant :)

+2 -0

Bonjour,

en cette veille de nouvel an, je fais le point sur mes avancées concernant le jeu et qui seront disponible dans la prochaine mise-à-jour, en début d'année prochaine.

Ces améliorations ou nouveautés seront:

  • les scores, avec un écran de meilleurs scores (locaux, pas en ligne), voir capture d'écran,

  • de grosses optimisations : affichage des particules de sang et des cadavres par tableaux de vertex réduisant drastiquement les drawcalls OpenGL, (c'est quand-même assez transparent puisque le jeu tourne bien, en général, mais je vois la différence sur mes tests de stress),

  • effet de sang qui coule, qui est une amélioration de l'ancien effet, et qui est plutôt fun (voir vidéo),

  • lorsque la fenêtre sera étirée, les proportions du jeu seront conservées (utile pour ceux qui jouent en fenêtre maximisée),

  • le jeu sera un peu plus facile après le niveau 4 (puisque les joueurs me disent que la difficulté augmente trop rapidement après ce niveau),

  • ajout dans le menu des contrôles du volume (son et musique),

  • ajout, dans le fichier de configuration, d'options permettant d'activer ou désactiver l'effet de zoom, le nouvel effet de sang, ou la vsync,

  • correction du bug des crédits (crash lorsqu'on appuie sur une autre touche qu'Entrée ou Escape :P),

  • sauvegarde automatique en début de combat, qui permet de ne pas perdre la partie lorsque le jeu plante ou freeze (c'est rare mais ça arrive parfois et je n'ai pas encore identifié ce bug que je n'arrive pas à reproduire).

Bon réveillon, tout le monde ! :D


Vidéo du nouvel "effet de sang":

Nouvel effet sanglant


Capture de l'écran des meilleurs scores: Ecran des meilleurs scores (WIP)

+2 -0

Witch Blast v0.4.1 est sortie !


Téléchargement: https://github.com/Cirrus-Minor/witchblast/releases/tag/v0.4.1

Dans cette nouvelle version:

  • les scores (en local),
  • le nouvel effet de sang,
  • la possibilité de régler le volume dans le menu,
  • la possibilité d'activer/désactiver l'effet de sang, la vsync ou l'effet de zoom dans le - fichier de config (qui se crée au premier lancement du jeu),
  • la sauvegarde automatique qui permet de ne pas perdre le jeu en cas de crash ou freeze durant un combat,
  • les niveaux 5 et 6 sont un peu plus faciles,
  • l'inventaire est trié dans l'écran de pause et l'écran de mort,
  • de grosses optimisations quant à l'affichage de beaucoup de sang/cadavres,
  • l'écran de jeu n'est plus déformé quand on change sa taille,
  • la sauvegarde, par l'appui d'une touche, du certificat de mort dans un fichier image,
  • les cadavres ne restent plus sur les murs,
  • des corrections de bug.

Amusez-vous bien !

Capture d'écran

+1 -0

Witch Blast v0.4.5 est sortie !


Téléchargement: https://github.com/Cirrus-Minor/witchblast/releases/tag/v0.4.5

Dans cette version, principalement:

  • une refonte totale des graphismes,
  • une nouvelle interface,
  • les temples, les divinités et leurs pouvoirs et bonus,
  • les interactions dans la boutique ou au temple.

Amusez-vous bien ! J'espère que vous apprécierez le travail graphique de Pierre, le nouvel artiste 2D, et les évolutions concernant la religion.

Pierre a particulièrement soigné les environnements, qui ressemblent désormais à ça: Image utilisateur


Et voici une vidéo présentant le gameplay à ceux qui ne le connaissent pas, et l'évolution graphique à ceux qui jouaient déjà aux versions précédentes:

Vidéo de présentation

+3 -0

C'est beau. :D

Je vais tester ça tout de suite et je reviendrais donner mon avis. ;)

EDIT

Rapport de test:
- Ton jeu tourne parfaitement bien avec Wine, j'ai pas encore testé la compilation des sources mais je crois que je vais même pas en avoir besoin.
- Les niveaux sont bien gérés et augmentent doucement en difficulté, comme on s'y attend (j'ai atteint le niveau 3 pour le moment).
- Les deux boss affrontés sont vraiment différents, ça fait plaisir et ça promet pour la suite. :)
- J'ai beaucoup aimé le travail graphique et encore plus la quantité de monstres différents disponible.
- Je n'ai pas remarqué de fautes en anglais comme en français (je comprends pas suffisamment les autres langues pour donner mon avis).

À vrai dire j'ai un point noir à donner : le choix des touches. C'est assez contre intuitif comme système je trouve et c'est pas très pratique.

À part ça, je conseille vraiment ce jeu à tout le monde et je t'encourage à continuer, il est vraiment génial ! :D

+1 -0

J'ai testé et c'est franchement énorme. On sent bien entendu l'inspiration de Binding of Isaac par exemple mais avec une (belle) ambiance sonore et visuelle qui t'es propre. J'ai été bluffé notamment par la qualité de l'animation.

J'ai pas été plus loin que le boss du niveau 2 pour l'instant mais je compte bien essayer de faire mieux.

Bonne continuation !

+1 -0

Bonsoir et merci pour ces retours, ça fait plaisir !

Il y a dans la version actuelle 6 niveaux - avec ses 6 boss - et de nouveaux monstres à chaque niveau. Même si le jeu n'est pas fini, il y a déjà pas mal de contenu !

Ekron, alors oui, au départ, je n'étais pas parti sur un jeu, je souhaitais juste refaire le moteur de Binding of Isaac, c'est pourquoi il lui ressemble tant, mais j'ai essayé d'ajouter des particularités, comme le sélecteur de tirs, ou la religion. Pour ce qui est des musiques, j'ai puisé dans les banques de Creative Common, mais je souhaiterais une refonte totale de la musique. Un ami musicien devrait m'aider (depuis des mois, mais il n'a pas eu le temps). L'animation, et les graphismes en général, c'est Pierre, un dessinateur/illustrateur talentueux, qui a récemment rejoint le projet et qui c'est énormément investi.

Poliorcetics, le jeu compile sans problème sous mac, je fournissais même un binaire OSX auparavant (j'avais un Mac au boulot, mais ce n'est plus le cas). Tu verras que les autres boss sont aussi assez différents et peuvent surprendre ;) J'ai ajouté assez peu de texte depuis la dernière version, mais je le ferai valider par un anglophone. Le travail graphique est au top, et le graphiste devrait me suivre jusqu'au bout de l'aventure, si elle ne s'éternise pas.

Pour le choix des touches, certains préfèrent permuter les touches de déplacement et celles de tir, mais ce n'est pas un problème, puisqu'on peut redéfinir le binding via le menu option du jeu, non ?

+0 -0

C'est super bien fait !

Par contre moi je le lance sous XP (si si !) et y a 2 truc graphique qui déconnent: à l'ouverture le moustique qui vient se scratcher sur l’écran (la fée ?) je le voie bien mais par contre j'ai un gros carré blanc en plein milieu (donc y a un truc sous se carré).

Et le perso est toujours recouvert d'un rectangle blanc. Sinon tous le graphisme est ok. Donc je pense qu'il doit me manquer un truc sur mon ordi mais le jeu ne me le dis pas.

La suite sur la difficulté en sachant que je suis pas un bon joueur mais pas trop naze non plus, donc le joueur classique quoi (enfin il me semble, mais il parait qu'on se sur-estime toujours un peu alors … alors disons que je suis joueur médiocre++ :p ) zone 1 : est est facile c'est cool. zone 2 : les emmerde commence sérieusement, la salle de la clé est bien difficile au début, mais on apprend et on peut la gérer sans se faire toucher avec le temps, le boss pareil, dure au début, après on comprend qu'il faut regarder les ombres, ça passe mieux. Donc grosse difference de niveau entre la Z1 et la Z2 mais pas si dure finalement zone 3 : la salle de la clé est un peu plus dure que la zone 2 mais ça va si on arrive bien celle de la zone 2 on choppe vite le truc pour la 3. Par contre le boss est juste SUPER DUR. Sur un 15ene d'essai je l'ai battu 2 fois et a chaque fois c'est l’équipement que j'ai eu avant aléatoirement qui à permis cela. Bref si tu as chopper un peu trop d’objets pas hyper puissant (tir aléatoire, tir opposé, tir qui prend en compte le déplacement, les bottes etc) ça me semble beaucoup trop dur. Je m'explique : ils a 2 attaques : les rochers qui tombent du ciel, ça pas de problème ça se gère facilement. Le jet de rochers avec les petits rocher qui rebondissent pas et les gros rocher qui rebondissent. Alors je suis pas sur mais il me semble que plus sa vie descend plus le nombre de gros rocher augmenter et plus il lance beaucoup de rocher (ou alors a chaque jet tous est totalement aléatoire). Enfin le faite est qu'il me semble très dur et aléatoire d’éviter les salves avec beaucoup de gros rocher qui rebondissent et la y a les skills de joueur qui rentre en compte. Alors soit j'ai pas trouvé la solution et y en a une "facile" a mettre en œuvre, soi ça me semble quand même très dur et aléatoire pour le joueur lambda. Pour moi le problème ne sont pas les skills mais le nombre de point de vie il en a trop, ca dur longtemps (surtout si on a pas de bons objet c'est.... interminable) et donc forcement a un moment on se fait décalquer par une sale de rocher. (je dis ça car actuellement j'arrive à chaque fois a lui descendre 80% de sa vie "facile" et d'un coup j'ai l'impression que ça devient impossible, il se met à résister à mes attaques, à balancer des cailloux comme jamais etc)

Ensuite les dieux semble buger : systématiquement quand je mœurs je peux voir apparaitre : "XXXX intervient en votre faveur" ou un truc du genre, mais je suis mort, et il y a la fiche de progression qui est afficher et c'est Très très très FRUSTRANT :D

Tu prévois pas d’insérer de check point, pour éviter de reprendre lvl 1 à chaque fois ? EN tous cas très beau travaille, c'est soigné, fluide, jolie, vraiment cool.

Bonjour et merci, Vael !

Pour le bug graphique, et bien, dans 99% des cas, la cause est un pilote pas à jour.

Le troisième boss est pas si difficile que ça, je n'ai jamais eu de retour en ce sens, il suffit de se mettre un peu à distance et d'éviter ses rafales. Avec moins de points de vie, le problème est que, lorsqu'on est trop bien équipé, on le tue sans qu'il puisse envoyer la moindre rafale.

Concernant les dieux… Oui, ils bugguent ! Ils sont encore expérimentaux, et une prochaine màj corrigera déjà le problème des messages qui s'affichent pour un oui ou pour un non, et le fait de pouvoir mourir même si on se fait "sauver".

Non, il n'y aura pas de check point, c'est pas trop compatible avec l'idée de donjon aléatoire, et les parties ne sont pas si longues que ça.

+0 -0

ok ok pour le boss 3 (je crois que j'ai trouvé une méthode plus efficace pour gérer les rafales avec plein de gros rocher rebondissant !) Bon par contre il est clairement plus dur que le boss suivant. D’ailleurs le boss Z4 me semble plus facile que les zones normal de la Z4 de manière général.

OK ok pour les pilotes, le soucis c'est que y a rien qui me permet d'orienter ma recherche ( a priori mes pilotes sont a jours, mais bon c'est sous XP…). Tu utilises quoi de différent pour ces 2 éléments ? ici quelque screen :Image utilisateur

J'imagine que c'est marqué le même Witch Blast que sur le menu ?

Image utilisateur

Ici le "Witch Blast s'affiche bien"

Image utilisateur

J'essayerai de le compiler sous Linux pour voir si ça va mieux !

+1 -0

Ah ! Le boss de la zone 4, il en a fait baver plus d'un ;)

Alors, pour le bug, j'ai une idée d'où ça peut venir: le carré blanc de l'intro (c'est une animation du titre en une douzaine d'images) et le personnage principal (formé de plein de sprites différents suivant son équipement) ont des textures assez énormes, et je suppose que leur taille n'est pas supportée par ta carte graphique ou son driver (un échec de chargement d'une image ou d'un son ne stoppe pas le jeu).

+0 -0

Witch Blast v0.4.6


Téléchargement: https://github.com/Cirrus-Minor/witchblast/releases/tag/v0.4.6

Dans cette version, principalement:

  • les nouveaux effets sonores faits par Pierre - notamment des sons plus variés pour les tirs,
  • la minimap complète dans l'écran d'information,
  • les ombres manquantes des œufs d'araignée (pas gentil, ce bug !),
  • quelques modifications de gameplay (IA des serpents, latence avant la téléportation des diablotins touchés),
  • correction de plein de bugs, surtout en ce qui concerne les divinités,
  • versions germanique et hispanique du jeu.

Image utilisateur

+1 -0

Vael, une autre personne a le même problème de chargement de textures que toi: sur certaines cartes graphiques, la taille maximale est de 2048x2048. J'aurai bientôt un correctif pour que le jeu tourne bien sur vos machines (puisqu'il me suffit de couper les sprites dans les images différemment, ou diviser une image en 2 ou plus).

Et voici ce qu'a dessiné le graphiste du jeu cette nuit: Image utilisateur

+0 -0

et voila le travail :

Image utilisateur (ps: on peux voir que le F1 déconne pour la capture qui est pas bien faite !) J'ai pas osée faire le 3eme défis, je préférai découvrir le boss 5 :p et si c'est 3 boules ca doit pas être évident évident alors je suis resté prudent, sans compter que la boule de feu est pour moi le meilleurs sort (d'assez loin même) du coup j'y voyais pas d’intérêt. Bref assez fier :D

Donc pour moi je confirme boss 3 (golem) plus dure que le 4 (rat mutant). Après les araignées sont plus dur (pas encore battu).

Par contre y a une salle beaucoup plus dur que les autres, c'est celle rempli de slim avec des slim ver mais surtout beaucoup de bleu et rouge ( j'aurais tendance a dire 4 bleu et 4 rouge, mais je peux pas dire j’étais tellement concentrer à éviter les slim et les boules de feu/glace dans tous les sens que j'ai pas pû compter !). Bien cette salle est bien plus dur que tous le reste (y compris le Boss araignée). Elle peut se rencontrer lvl 4 ou 5 je sais plus trop.

Tu prévois de mettre une fin ou bien tu vas mettre assez de niveau pour qu'il soit quasi impossible de gagner ?

Ok cool que ce bug soit corrigé. En fait je joue sur un petit, vieux portable qui n'as pas de carte graphique, juste un chipset, donc c'est fort possible qu'il y ait une limite et même assez basse !

Bonsoir Vael, et bravo ! Les slimes sont redoutables, en effet (mais un objet - assez rara - est efficace contre eux). Alors oui, il y aura une fin, on prévoit une dizaine de niveaux. La capture - avec F1 - ne fonctionne que si on n'a pas redimensionné la fenêtre, il faudrait que je fasse le calcul adéquat…

Et voici la version qui corrige (j'espère) le bug d'affichage: https://github.com/Cirrus-Minor/witchblast/releases/tag/v0.4.6b

Tiens-moi au courant !

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte