Projet Shoota

Montrez-nous vos talents !

Modérateur : L'équipe

Répondre
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Projet Shoota

Message par djidane535 »

Bonjour à tous !

J'ai enfin décidé de me lancer dans le développement d'un vrai JV rétro :D. Pour me motiver à travailler régulièrement dessus, j'ai décidé de publier un article chaque semaine sur Hedg.fr, mais aussi sur Gameblog.fr et Indiemag.fr !

N'hésitez pas à réagir dans les commentaires ;).


Semaine #5
Image
Après 1 semaine d'absence, me revoilà pour la suite du projet Shoota ! J'ai malheureusement été un peu pris par mon travail ces 2 dernières semaines. Bref, dans mon dernier billet, j'avais commencé à vous parler du Game Design que nous allions utiliser (je vous invite à relire l'article précédent pour vous rafraichir la mémoire). Nous avions réussi à intégrer faire coexister l'aléatoire, le Die-and-Retry et le scoring. Reste donc l'exploration ...

Mais comment intégrer l'exploration dans un Shoot em up ? Explorer, mais pour quoi faire ? Pour que le joueur ait l'envie d'explorer, il faut d'une part qu'il y ait quelque chose à explorer, et d'autre part qu'il y ait un intérêt ou une obligation d'explorer.

Dans Sonic 2, le joueur était inviter à explorer les niveaux: nouveaux passages, nouveaux power-ups, mais surtout, il pouvait trouver des chaos emerald (7 au total), lui conférant non seulement une transformation le rendant surpuissant, mais lui permettant aussi d'accéder à une nouvelle fin. Aucune obligation, mais les plus habiles étaient récompensés de leurs efforts.

A l'inverse, Yoshi Story imposait au joueur de collecter un certain nombre de fruits pour pouvoir terminer le niveau. L'exploration était donc obligatoire, ce qui a été pour beaucoup, une grande source de frustration.

J'ai décidé d'introduire l'exploration sous deux formes:
  • Des zones bonus, proposant un challenge relevé et une récompense appropriée (power-up, munitions, gain de temps, ...). Ces zones pourraient se trouver au même niveau que le téléporteurs ramenant au début de la dernière séquence, ou elles pourraient même être cachée dans les séquences elle-même.
  • Chaque séquence pourrait "cacher" des éléments tels que des power-ups. Le joueur pourrait donc avoir envie de refaire une séquence pour être sûr de ne pas être passé à côté de quelque chose.
Image
Mais ce qui a fait le succès de The Binding of Isaac, c'était non seulement l'aléatoire dans la génération des niveau, mais aussi dans le gameplay du personnage. Les power-ups ne sont pas choisi n'importe comment. On peut imaginer que le personnage ne dispose que d'une seule arme (ses larmes), mais que celle-ci possède un nombre impressionnant de propriétés (vitesse, puissance, nombre de larmes par tir, cadence de tir, si les larmes sont à tête chercheuses, si elles explosent à l'impact, si elles passent à travers les murs, ...).

Chaque power-ups de ce jeu ne fait que modifier les propriétés de l'arme du joueur. La diversité du gameplay vient donc de la diversité des propriétés de l'arme (les bonus étant aléatoires, chaque partie donne donc lieu à un gameplay différent).

J'ai donc décidé de reprendre le même concept dans Shoota.
Image
Les questions de la semaine
  • Une zone bonus, qu'est-ce qu'on y ferait ? Qu'est-ce que l'on y gagnerait ?
  • Quelles "propriétés" originale imagineriez-vous pour l'arme dans une Shoot em up ?
A la semaine prochaine ;).

Semaine #3
Spoiler :
Image
Nouvelle semaine, nouvelles avancées ! Bonjour et tous et bienvenue pour ce 3ème billet consacré au Projet Shoota. La semaine dernière, nous avions analysé sommairement le jeu The Binding of Isaac et le Shoot em up. Après avoir identifié les élément-clés qui les caractérisait, je me suis demandé comment intégré tous ces éléments dans un seul et même jeu.

J'ai procédé de la manière suivante: partons du Shoot em up, et essayons d'y intégrer les éléments manquants. Notez que j'aurais pu partir dans l'autre sens (à savoir partir de The Binding of Isaac).

Pour rappel, un Shoot em up classique consiste en une successions de stages. Chaque stage peut être découpé en "séquences", qui correspondent à une arrivée massive de vaisseaux ennemis (que l'on peut découper " vagues", mais j'y reviendrais dans un autre billet). La dernière séquence étant un affrontement contre un boss. Si nous reprenons la liste des éléments-clés (en gras ceux que nous avons déjà):
  • L'aléatoire
  • L'exploration
  • La vitesse
  • L'action ininterrompue
  • Le Die-and-Retry
  • Le scoring
Comment intégrer l'aléatoire ? On pourrait naïvement générer les stages de manière aléatoire, mais nous perdrions alors le Die-and-retry et le scoring (si les niveaux changent constamment, on apprend plus à dompter un niveau en particulier, et le score n'a plus aucun sens, car dépendant de la chance). Pour pallier à ça, j'ai imaginé la chose suivante: entre chaque séquence, nous mettrions des "téléporteurs" permettant au joueur de recommencer au début de la dernière séquence. De cette manière, le joueur peut, s'il le souhaite, recommencer une séquence autant de fois qu'il le souhaite (on retrouve donc le Die-and-retry, sans le "Die" puisque le joueur ne meurt pas).

Mais comment motiver le joueur à recommencer une séquence, si on ne le lui impose pas par la mort ? (au fond, c'est ce qui se passe dans des jeux comme les Ghosts'n Goblins, en placant des pièges impossibles à anticiper lorsqu'on y fait face pour la 1ère fois). Je vois deux façons de faire:
  • On récompense le joueur s'il se débrouille bien.
  • On le pénalise s'il joue mal.
Dans le premier cas, j'imagine une sorte de "roulette" qui octroierait des bonus aux joueurs, et qui serait plus "favorable" pour les bons joueurs (en fonction du nombre d'enemis tués, ou du temps passé dans chaque séquence, voir paragraphe suivant).

Dans le second cas, je mettrais en place une limite de temps. Le joueur aurait à sa disposition un mécanisme pour accélérer (ex.: tuer un ennemi augmente une jauge de boost, ou plus simplement des "flèches" qui boosteraient temporairement la vitesse du vaisseau à la manière d'un Mario Kart ou d'un F-Zero, ...). Evidemment, le chrono serait réinitialisé. Par exemple, si vous avez fini la séquence #2 à 1:23, lorsque vous prendrez le téléporteur entre la séquence #3 et la séquence #4, vous reviendrez au début de la séquence #3 et le chrono reviendrait à 1:23.

Un petit schéma pour illustrer:
Image
Les questions de la semaine

Nous arrivons déjà à la fin de cet article ! J'aurais bien aimé vous parler de pleins d'autres choses, mais je ne voudrais pas vous innonder de contenu :p.
  1. Avez-vous d'autres idées pour introduire l'aléatoire sans perdre les autres éléments ?
  2. Comment introduire l'exploration ?
Bonne semaine à tous et à bientôt ;).
Semaine #2
Spoiler :
Image
Nouvelle semaine écoulée, nouveau billet pour le Projet Shoota ! La semaine dernière, je vous avais parlé de deux genres de jeux que je souhaitais combiner, à savoir le Rogue-like (inspiré par The Binding of Isaac) et le Shoot em up (genre "facile" à programmer dans sa forme basique). J'ai pas mal réfléchi à la question , voici mon analyse ...

Lorsque l'on souhaite fusionner deux genres de jeux, il me semble évident de commencer par les disséquer individuellement, afin de comprendre quels sont les éléments fondamentaux qui les caractérisent.

Commencons par The Binding of Isaac. Essayons de résumer ce jeu en quelques phrases:
Le joueur se retrouve piégé dans un labyrinthe, dont il ne connait pas la structure. Armes, objets, ennemis, tout y est aléatoire. Son but est d'explorer celui-ci afin d'en trouver la sortie, gardée par un puissant boss qui, une fois vaincu, lui permettra de continuer son aventure dans un autre étage.
Dans cette définition, je retiens 2 élément-clés: l'aléatoire et l'exploration. En effet, le plaisir de jeu vient d'une part du côté imprévisible de chaque salle/étage, des combinaisons de power-ups aux effets surprenants. L'exploration procure également beaucoup de plaisir. Nous partons à la recherche de certaines salles récurrentes (le magasin, la salle secrète, la devil room, ...), mais aussi de nouveaux objets (des power-ups pour renforcer son personnages, ou des bombes/clés pour ne pas devoir abandonner un coffre inaccessible sans ceux-ci).

Analysons maintenant le Shoot em up. Prenons la définition donnée par Wikipédia:
Un Shoot em up est un type de jeu vidéo dérivé du jeu d'action dans lequel le joueur dirige un véhicule ou un personnage devant détruire un grand nombre d'ennemis à l'aide d'armes de plus en plus puissantes, au fur et à mesure des niveaux, tout en esquivant leurs projectiles pour rester en vie.
A cette définition, j'aimerais rajouter que dans ce type de jeu, l'action y est généralement très soutenue. On essaye souvent d'en mettre plein la vue au joueur, soit parce que le jeu est très rapide, soit parce qu'il y a beaucoup de choses qui se passent à l'écran (beaucoup d'animations en arrière plan, ou juste un grand nombre d'ennemis à affronter). N'oublions pas aussi que, contrairement à The Binding of Isaac, il n'y a pas énormément de pauses (seulement entre 2 niveaux), l'action est omniprésente et ne laisse que peu de répit au joueur. Il y a également le concept du Die-and-Retry, permettant au joueur d'affiner sa manière de jouer en anticipant de mieux en mieux chaque niveau, chaque vague d'ennemis, afin d'optimiser au mieux son score.

Je retiendrais donc les éléments suivants: la vitesse, l'action ininterrompue, le Die-and-Retry et le scoring. Il faudra également garder à l'esprit que le joueur doit se sentir puissant (en dégommant beaucoup d'ennemis et/ou des ennemis qui paraissent très forts).

En résumé, voici les élément-clés que j'ai pu dégager de mon "analyse":
  • L'aléatoire
  • L'exploration
  • La vitesse
  • L'action ininterrompue
  • Le Die-and-Retry
  • Le scoring
Les questions de la semaine

Cette semaine, je vous propose donc de réfléchir sur la manière d'intégrer ces différents éléments dans un seul et même jeu (plus il y en a, mieux c'est !).
  1. Partez d'un shoot em up "classique", et essayez d'y intégrer les éléments manquants (ex.: comment intégrer l'aléatoire/l'exploration/le Die-and-Retry ? ).
  2. Partez d'un jeu à la "The Binding of Isaac", et essayez d'y intégrer les éléments manquants (ex.: comment intégrer l'action ininterrompue/le scoring/la vitesse ?).


A la semaine prochaine !
Semaine #1
Spoiler :
Image
Aujourd'hui, je vous propose une expérience communautaire un peu particulière: participer au développement d'un jeu vidéo ! Le principe est simple: chaque semaine, je vous proposerais un récapitulatif de l'avancement du jeu, et vous poserais différentes questions sur lesquelles vous serez libre de débattre dans les commentaires (je participerais évidemment aux discussions). Ce sera l'occasion pour vous d'orienter le développement d'un jeu en fonction de vos envie, et pour moi de partager l'avancée du projet et de bénéficier d'avis extérieurs.


Qui es tu ?
Jeune homme de 25 ans, diplômé en informatique à l'université. Cela fait maintenant 2 ans que je travaille dans la recherche en IA en vue d'obtenir un doctorat (croisons les doigts :p). Lorsque j'aurais terminé mes études, j'aimerais me lancer sérieusement dans le développement de jeux vidéo. Ce projet est donc l'occasion pour moi de mettre un pied à l'étrier.


Tes compétences ?
Je suis avant tout un programmeur. Je programme surtout en C++ et en Lua. Cela fait maintenant 2 ans que je développe un moteur 2D dédié à la création de jeux vidéo en 2D (nommé Mist2D). Initiallement, je comptais développer Mist2D avant d'entamer la création de mon 1er jeu, mais après réflexion, je pense qu'on ne peut pas proposer un outil sans avoir "prouver" que celui-ci "fonctionne" au préalable. C'est pourquoi je souhaite développer un 1er jeu avant de le rendre publique (ce sera aussi l'occasion d'y ajouter de nouvelles fonctionnalités en fonction de nos besoins).

Je n'ai aucune notion de dessin (mes dessins sur Photoshop/Gimp ne sont vraiment pas beaux à voir :p), ni en musiques/bruitages. Ce sont des lacunes qu'il faudra donc que je comble d'une manière ou d'une autre durant le projet (soit en utilisant des ressources libres, soit en recrutant les bonnes personnes).

Au passage, si vous pensez avoir des compétences qui pourraient être utile au projet, n'hésitez pas à me contacter par MP ou dans les commentaires ;).


Le "Projet Shoota"
Comme le titre le suggère, j'ai choisi le nom de code "Projet Shoota" pour mon 1er jeu. Lorsque j'ai commencé à réfléchir ce à quoi pourrait ressembler mon 1er jeu, plusieurs idées me sont venues à l'esprit:
  • Ce sera un Shoot'em up: c'est un genre de jeu relativement simple à programmer par rapport à un plateformer (pas de gravité, toutes les collisions blessent/détruisent l'avatar du joueur, scrolling automatique, ...). J'ai un certain affect pour les Shoot'em up en général (ça peut aider ^^).
  • J'ai adoré le concept de The Binding of Isaac, à savoir un jeu dont le contenu est généré dynamiquement (les salles/powerups/ennemis sont générés par la machine). Ce système permet non seulement de gagner du temps pour le développement (car on ne doit pas à faire les niveaux nous-même), et offre une certaine rejouabilité/originalité au jeu.

Les questions de la semaine
Voici la section récurrente de cette série d'articles dédiée au "Projet Shoota".
  1. Que pensez-vous d'un Shoot'em Up dont le contenu serait généré dynamiquement par la machine ? Fausse bonne idée ?
  2. Comment se déroulerait une partie ? (on enchaine les "séquences" en continu à la manière d'un "Jet Pack Joyride" ? on passe par une "carte du monde" ?)
Voilà voilà, je vous donne rendez-vous la semaine prochaine ! A vos claviers !
Dernière modification par djidane535 le 01 mars 2015, 14:35, modifié 2 fois.
Image
Avatar de l’utilisateur
Hedge
Messages : 9255
Inscription : 20 juin 2011, 02:25
Sexe : ♂ Masculin
Localisation : Paris
Contact :

Re: Projet Shoota

Message par Hedge »

Ca te dirait pas de faire un RPG sur Snes financé par Hedg.fr ??? :p
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Shoota

Message par djidane535 »

C'est vrai que ça serait chouette ça :) (surtout un RPG <3). Mais côté programmation, ça m'a l'air quand même tendu de développer sur Snes :s. Si un jour tu as envie de te lancer là dedans et que tu montes une petite équipe, je vous rejoindrais avec grand plaisir ;).
Image
Avatar de l’utilisateur
Hedge
Messages : 9255
Inscription : 20 juin 2011, 02:25
Sexe : ♂ Masculin
Localisation : Paris
Contact :

Re: Projet Shoota

Message par Hedge »

djidane535 a écrit :C'est vrai que ça serait chouette ça :) (surtout un RPG <3). Mais côté programmation, ça m'a l'air quand même tendu de développer sur Snes :s. Si un jour tu as envie de te lancer là dedans et que tu montes une petite équipe, je vous rejoindrais avec grand plaisir ;).
Franchement j'ai TRES envie de le faire...
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Shoota

Message par djidane535 »

J'imagine ^^. Moi aussi développer un RPG ça me ferait trop plaisir :). Mais c'est un genre de jeu qui demande un boulot gigantesque (rien que le background/scénario & les sprites, c'est déjà un sacré morceau !). Pour la technique, il y énormément de petites "routines" à développer (menus, dialogues, "cut-scene", le système de combat, ...). Et si tu arrives jusque là, il reste un énorme travail côté équilibrage, car il faut s'assurer que le jeu ne soit ni trop dur ni trop simple dans chaque zone (on doit estimer correctement le niveau du joueur "moyen" lorsqu'il arrive dans la zone, bien choisir les objets qu'il pourra acheter/trouver, sans compter la manière dont les statistiques du/des héros vont évoluer, ...). Développer sur Snes ajoute encore une difficulté supplémentaire.

Une équipe me semble indispensable pour mener à bien un projet de cette envergure. Malheureusement, je ne connais pas grand monde qui pourrait aider, mais je serais ravi de faire partie de l'aventure (j'imagine déjà le jaquette avec le logo Hedg.fr, la grande classe :D).
Image
Avatar de l’utilisateur
perchu
Meilleur détective hedg.fr
Meilleur détective hedg.fr
Messages : 1860
Inscription : 18 déc. 2012, 21:08

Re: Projet Shoota

Message par perchu »

djidane535 a écrit : [*]Que pensez-vous d'un Shoot'em Up dont le contenu serait généré dynamiquement par la machine ? Fausse bonne idée ?
Bonne idée mais je te conseillerai plus d'utiliser une génération comme dans spelunky, à savoir un mélange entre pré crée et aléatoire.
En gros tu crées des "scénario" que tu enchaines aléatoirement avec un système de liaison.
djidane535 a écrit : [*]Comment se déroulerait une partie ? (on enchaine les "séquences" en continu à la manière d'un "Jet Pack Joyride" ? on passe par une "carte du monde" ?)
Dépend de ta vision, si tu veux rester oldschool, il faut enchainer, si tu veux être un peu plus moderne, il faut rassurer le joueur et utiliser une carte du monde.
djidane535 a écrit :Développer sur Snes ajoute encore une difficulté supplémentaire.
Et pas qu'un peu, la Snes est une architecture spécialisé avec énormément de contrainte. Les différents SDKs sont très "rustique" par rapport à nos habitudes et il y a la gestion des différents mode de la console + les palettes. On a besoin de repasser derrière le compilateur en plus en assembleur pour nettoyer le code. Même si je me doute que tu le sais, tout ça pour dire que ce n'est pas juste une "simple" difficulté.
Image
TimeSpinner: Castlevania DS :o
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Shoota

Message par djidane535 »

Merci perchu, je pensais exactement à la même chose ! A mon avis, il faudra que je teste avec et sans carte du monde pour comparer. Pour la génération aléatoire, oui il faudra que je définisse des patterns que j'assemblerais ensuite de manière aléatoire, reste à définir les bons patterns :p.
Image
Avatar de l’utilisateur
Hedge
Messages : 9255
Inscription : 20 juin 2011, 02:25
Sexe : ♂ Masculin
Localisation : Paris
Contact :

Re: Projet Shoota

Message par Hedge »

He ben écoute Djidanne, ça ne coute RIEN de lancer un tel projet.... Allons-y soyons fou !!!
Dis moi tout simplement le type d'annonce que je dois faire (tu en serai le chef de projet) !
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Shoota

Message par djidane535 »

Nouvel article disponible ! On attaque (enfin) le Game Design :).
Hedge a écrit :He ben écoute Djidanne, ça ne coute RIEN de lancer un tel projet.... Allons-y soyons fou !!!
Dis moi tout simplement le type d'annonce que je dois faire (tu en serai le chef de projet) !
Oups, on dirait que je suis passé à côté de ton dernier message :s. Je te réponds par MP dans la journée ;).
Image
Avatar de l’utilisateur
djidane535
Messages : 1975
Inscription : 31 juil. 2012, 11:54
Sexe : ♂ Masculin

Re: Projet Shoota

Message par djidane535 »

Avec 1 semaine de retard, c'est reparti pour le Projet Shoota ! Nouvel article sur le Game Design.
Image
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Semrush [Bot] et 3 invités