SHMUP Creator : build & blast!

Les projets, WIP et démo de shoot them up, c'est ici !
Avatar de l’utilisateur
suny2000
Sous Blister
Messages : 62
Inscription : 11 juil. 2014, 14:39
Localisation : France
Contact :

Image
Un peu en retard, mais tout arrive, voila un sujet sur ce que nous développons en ce moment : le SHMUP Creator.
C'est un outil qui permet de créer des shmups (comme son nom peut l'indiquer assez subtilement) sans programmation, uniquement à l'aide de la souris et d'une interface drag and drop.

Voila quelques unes des specs :
. possibilité de créer des jeux en 2D ou 3D,
. des shmups horizontaux ou verticaux (ou les deux)
. moteur 3D sophistiqué, ombres temps réel, shaders, particules, post FX…
. système de scoring, d'items, de medailles
. éditeur de patterns de bullets
. menus, sons, evenements etc.
. export de jeu standalone pour PC (pour l'instant)

Quelques images et gifs pour illustrer en attendant la suite :

Une démo du snapping et de la création d'un jeu (dont je n'ai manifestement pas les droits) :
Image

Exemple de scrolling multi-directionnel à la desert strike :
Image

Des screenshots de Blade of Death, le level de démo 3D que j'ai presenté au stunfest 2015 et qui sera livré avec l'outil :
Image

Image

Voila pour aujourd'hui. Le projet est trés avancé et arrive bientôt au moment le plus long et le plus pénible : c'est à dire quand tout est la, mais qu'il faut débugger, polir, écrir les docs, faire des tutorials...
Tout ça à mi-temps, j'en ai bien peur.

N'hésitez pas à me poser des questions, je suis la pour ça :)
S.
Avatar de l’utilisateur
togusa
Sous Blister
Messages : 33
Inscription : 04 janv. 2017, 14:13
Localisation : 49
Contact :

Tout simplement magnifique! (L)
Avatar de l’utilisateur
robomatix
Membre Actif de la Bande
Messages : 1144
Inscription : 08 janv. 2016, 20:38
Localisation : Creil
Contact :

Ca à l'air super !

Tu l'as développé avec quoi ?
Avatar de l’utilisateur
suny2000
Sous Blister
Messages : 62
Inscription : 11 juil. 2014, 14:39
Localisation : France
Contact :

Je me demandais si il y aura une partie scripting et si oui, avec quel langage ?
Pour l'instant il n'y a pas de scripting. C'est contraire à l'esprit "pas de code" de l'outil, et c'est aussi en dehors de l'ambition du SHMUP Creator : on peut faire avec des shmups qui sont de qualité pro, mais ce n'est pas pour autant un outil pro, c'est à dire qu'on ne peut pas tout faire avec.
Si l'on veux pouvoir tout controler, il vaux mieux utiliser Unity, qui avec ses 400 developpeurs posséde pas mal d'atouts !
Mais j'imagine ajouter et étendre avec le temps les fonctionnalitées du SHMUP Creator, et pourquoi pas un jour du script ?
Et on pourra exporter ses shmups sur quelle plateforme ?
On pourra exporter sur PC uniquement dans un premier temps. L'outil est à peu prés prêt à être porté sur IOS, mac os ou android, mais ce n'est pas à l'ordre du jour (ou de l'année).

Tu l'as développé avec quoi ?
C'est écrit en C++, avec l'aide précieuse de librairies open source, comme Ogre3D par exemple.

S.
Avatar de l’utilisateur
nephiston
Baby Shmuppeur
Messages : 151
Inscription : 13 déc. 2015, 16:36
A été remercié : 2 fois

Je l'attend énormément votre soft.

Petite question :

y a t'il un éditeur de sprite ou devons nous importer les notres?

Ca me manque tellement les jeux a la desert strike ou zero gunner 2 ca a l'air completement faisable
Avatar de l’utilisateur
robomatix
Membre Actif de la Bande
Messages : 1144
Inscription : 08 janv. 2016, 20:38
Localisation : Creil
Contact :

Merci de tes réponses !
C'est sur que j'aurais aimé pouvoir publier sur PC, Mac et linux, mais il faut bien commencer par quelque part.
Pourra-t-on distribuer ses jeux sur Steam ?

En fait, je voulais faire des SHMUPS 2D avec Unity. Mais ce SHMUP Creator pourrais me servir à faire des POCS et à voir si je fais des SHMUPS qui plaisent avant de passer des mois, voir des années sur jeu et de faire un bide...

Et ça me laisseras aussi plus de temps pour faire mes jeux débiles avec Unity apprendre à bien l'utiliser avant de me lancer dans un jeu plus sérieux et plus poussé !

Bon, j'ai vraiment hâte.

Si tu veux un bétâ testeur, je peux y passer quelques samedi ou dimanche en février !

Sinon, tu as déjà une idée du prix de vente ?

[EDIT]

Est ce que l'on pourra animer ses sprites ?

Est ce que l'on pourra faire des leaderboard online ?
Avatar de l’utilisateur
suny2000
Sous Blister
Messages : 62
Inscription : 11 juil. 2014, 14:39
Localisation : France
Contact :

Quelques réponses en attendant mon update de janvier (qui tarde un peu) :
y a t'il un éditeur de sprite ou devons nous importer les notres?
Non, pas d'éditeur de sprites. Je ne me sens pas d'écrire un logiciel de graphisme en plus d'un créateur de shmups, il existe assez d'outils excellents dans le commerce ou en open source pour plaire à tout le monde. C'est trés facile d'importer un sprite : on le copie dans un répertoire, et hop, il apparait dans la gamebox prêt à être ajouté dans le jeu.
Est ce que l'on pourra animer ses sprites ?
Oui, mais le systeme d'animation pour l'instant est basique : on peut uniquement rêgler la vitesse d'animation, et celle-ci boucle. Donc, pas de chose compliquées dans cette V1, comme associer des animations à des comportements précis. Je vais y travailler à l'avenir.
Pourra-t-on distribuer ses jeux sur Steam ?
et
Est ce que l'on pourra faire des leaderboard online ?
Je ne sais pas, et pas pour l'instant.

Je retourne à mon snap 3D, qui permettra de facilement positionner des éléments de décors. Ça marche presque, mais presque, c'est pas assez...

S.
Avatar de l’utilisateur
robomatix
Membre Actif de la Bande
Messages : 1144
Inscription : 08 janv. 2016, 20:38
Localisation : Creil
Contact :

Merci de tes réponses et bon courage !
Avatar de l’utilisateur
suny2000
Sous Blister
Messages : 62
Inscription : 11 juil. 2014, 14:39
Localisation : France
Contact :

Hello !
Une petite update sur notre blog :
http://bulostudio.com/2017/03/06/update-de-fevrier/

DEBUG, POLISH :
J’ai corrigé le code des armes et du gameplay, ainsi qu’un gros paquet de petits bugs. Il y avait notemment une erreur dans le système de ressources qui pouvait causer des problemes quand 2 jeux differents utilisaient des assets qui avaient le même nom. Tout est maintenant bien séparé et c’est plus propre.
J’ai aussi corrigé beaucoup de petites choses et modifié l’interface jusqu’a ce que je me sente bien avec : ce sont beaucoup de modifications discrètes qui rendent plus agréable l’expérience de l’utilisateur.

LAYER PRIORITY :
J’ai travaillé pendant longtemps sur la priorité et l’ordre d’affichage des sprites et des objets : on peut utiliser des calques/layers pour contrôler l’ordre de rendu, et en plus de cela je force l’ordre d’affichage des bullets et des items : les boulettes ennemies sont toujours affichées par dessus tout, puis les boulettes du joueur, puis les items.
Pareil pour les explosions : l’idée est de ne jamais cacher les balles des ennemis.

PARALLAX :
En parlant des layers, j’ai écrit un petit outil qui permet d’ajouter et de régler le parallax entre les calques. Ce n’était pas simple du tout, parce que tout, dans le SHMUP Creator, est en 3D, avec une profondeur et une position dans l’espace. Pour ralentir un layer, il faut dont le déplacer plus loin. Mais du coup celui-ci devient plus petit… L’idée est de l’agrandir automatiquement pour compenser et conserver son apparence visuelle sur l’écran.

SNAP 3D :
Je travaille en ce moment sur le snap 3D : je n’étais pas peu fier de mon snap pour les sprites mais j’ai découvert que parfois il ne fonctionnait pas bien. Plutôt que de le corriger, j’ai choisi d’écrire un nouveau snap qui fonctionne aussi bien pour la 2D que pour la 3D. Ça marche bien pour l’instant, encore quelques tests et je valide.

ET APRÈS ?
Ensuite, je vais travailler sur quelques tutorials in-game : cela ne va pas être un vrai tutorial à la Nintendo, parce cela représente trop de travail et de budget, mais cela va permettre au moins de présenter succintement l’interface et d’apprendre les bases de l’outil.
Pour la suite, l’utilisateur aura à sa disposition une documentation et des tutorials online. Qu’ils faut écrire (zut…).
Le snap 3D et le tutorial in-game sont les deux dernières vrais fonctionnalitées du SHMUP Creator.

Ça avance !

S.
Avatar de l’utilisateur
suny2000
Sous Blister
Messages : 62
Inscription : 11 juil. 2014, 14:39
Localisation : France
Contact :

Pas de news depuis longtemps : ma culpabilité m'etrangle. La vérité, c'est que je n'avais pas grand chose à dire, ne pouvant pas travailler sur le SHMUP Creator par manque de temps.
Je m'y suis remis, ça avance bien, et je donnerai des news très bientôt.

En attendant :
J'ai ajouté un Snap 3D, qui permet de snapper n'importe quel object sur un autre (3D, sprite, trigger...). Ça permet de faciliter et d'accelerer la création d'un level.

Image

La prochaine fois, je raconterai comment j'ai optimisé les bullets et qu'on peut en afficher plein.
A bientôt !
S.
Avatar de l’utilisateur
TOMaplan
Colonel à l'Ancienne
Messages : 3092
Inscription : 31 mai 2015, 15:44
Localisation : Occitanie
A été remercié : 5 fois
Contact :

Cool! pouceair

Je sens qu'un certains Robomatix va fouiner par là, du coup.
:D
Rejoignez l'armée de Shmup'Em All (SEA) sur Steam => http://steamcommunity.com/groups/shmupemall

Rejoignez l'armée de Shmup'Em All (SEA) sur Youtube =>
https://www.youtube.com/channel/UClzzLz ... ZwF-4h5mCw
Avatar de l’utilisateur
robomatix
Membre Actif de la Bande
Messages : 1144
Inscription : 08 janv. 2016, 20:38
Localisation : Creil
Contact :

Oui, j'y jetterais un oeil avec intérêt ! Mais, je suis passé à Unity3d ! Ceci dit je pourrais m'en servir pour faire des pocs ! ( Proof Of Concept )
Avatar de l’utilisateur
suny2000
Sous Blister
Messages : 62
Inscription : 11 juil. 2014, 14:39
Localisation : France
Contact :

Des nouvelles !
(Et je vais en donner de plus générales trés bientôt).
Un petit post sur le moteur de boulettes. Un peu technique pour changer.

Image

OPTIMISATION DU MOTEUR DE BULLET

Mon code pour les bullets était horrible : je l’ai écris il y a très longtemps sans aucune optimisation en tête. Ça marchait et j’étais déja bien content comme ça.
Et puis j’y ai repensé, j’ai mal dormi, j’ai fait des cauchemars et finalement j’ai décidé de faire quelquechose et d’écrire un vrai moteur de bullets plus rapide et plus propre.
Tout ça sans être un vrai programmeur : je suis un artiste technique / programmeur, alors ne rigolez pas si j’ai choisi une approche un peu naive :)

. GESTION des BULLETS
Je savais que créer et détruire beaucoup d’objets (au sens programmation, pas bullet hell) était mal, alors j’avais quand même dès le début créé un pool d’objets bullets lors du lancement du SHMUP Creator. Déja ça.
Ce qui n’était pas top, c’était la manière de gérer efficacement les bullets actives. Par exemple, je devais itterer toutes les bullets pour en trouver une libre (inactive) avant de la spawner, j’iterrai toutes les bullets pour les updater etc.
Avec la puissance des CPUs en 2017, ça va, mais pas super pour gérer 6000 bullets.
Alors j’ai écrit un vrai gestionnaire de bullets qui s’occupe de tout ça. Je crée toujours le pool d’objets bullets mais aussi deux listes : une qui liste les IDs des bullets libres (inactives) et une qui liste toutes les bullets actives (que l’on voit sur l’écran). Les IDs étant des références qui pointent vers les bullets du pool.
Quand je veux spawner une bullet, je récupère le dernier ID de la liste « bullets libres » et je mets en « active » la bullet du pool qui correspond à cet ID. Je supprime cet ID de la liste des bullets libres et je l’ajoute à la liste des bullets actives.
Cette liste de bullets actives me permet de n’updater que les bullets que l’on voit sur l’écran et aussi de maintenir un ordre d’affichage dont j’ai besoin pour le rendu (voir plus bas)
Quand une bullet est morte, je mets son état à « DEAD » et je supprime son ID de la liste des bullets active et je le rajoute à la liste des bullets libres.

. DESSINER les BULLETS et les DRAW CALLS
La pire des choses que je faisais c’etait de dessiner chaque bullet individuellement. Sur mon portable ça marchait, donc pas de problème. Mais avec 6000 bullets le jeu commençais quand même à ralentir. En plus, avoir un rendu de bullets dans le bon ordre est très important, et ça ralentissait d’autant plus l’affichage.
Donc, j’ai écrit un Bullet Renderer. Pour chaque type de bullets affiché à l’écran je crée une liste de polygones qui utilisent la position, rotation et échelle de chaque bullet et qui est dessinée en une seule fois avec son propre materiau.
Grâce à la fameuse liste ordonnée de bullets actives, je peux dessiner ces bullets dans le bon ordre, avec en plus des prioritées : les bullets des ennemis toujours par dessus tout, puis celles du joueur etc.
Au final, je n’ai plus qu’un draw call par type de bullets au lieu de 3000 pour 3000 bullets. C’est mieux !

. ON PEUT FAIRE MIEUX !
Le nouveau gestionnaire de bullets est loin d’être optimal et parfait, mais c’est déja un grand progrès. Peut-être qu’un jour je m’y remettrai, mais pas tout de suite :)
Et pour l’instant, il est beaucoup plus rapide, et c’est bien :)

Image
Avatar de l’utilisateur
suny2000
Sous Blister
Messages : 62
Inscription : 11 juil. 2014, 14:39
Localisation : France
Contact :

Des nouvelles !!!!
Ça avance en ce moment, donc profitons-en.
(publié sur le blog la : http://bulostudio.com/2017/11/14/update-de-novembre-2/)

UPDATE de NOVEMBRE

La dernière update mensuelle date de Février… Ouch. Il s’est passé tellement de choses ces 10 derniers mois… Le temps passe. Vite.
Mais d’abord, une bonne nouvelle:
Le SHMUP Creator est feature complete !
Ça veux dire que toutes les fonctionnalitées sont programmées et integrées et que l’on peut enfin démarrer la dernière partie du voyage : terminer le SHMUP Creator et enfin le sortir pour le public. On n’y est pas encore, mais on commence à voir la lumière au bout du tunnel.

NOUVELLES FONCTIONNALITÉS:
. j’ai un peu parlé du snap 3D dans la dernière update : il est terminé et fonctionne bien.
. il y a une scroll bar en bas de l’écran qui permet de naviguer rapidement dans un level.
. on peut importer directement des modèles 3D en FBX
. il y a des tutoriels directement dans l’éditeur. Professeur Bulo va vous apprendre les bases du SHMUP Creator !
. l’outil est prêt à être traduit. Il sortira en Anglais et en Français pour commencer.

Image

FONCTIONNALITÉS AMÉLIORÉES :
. les builds des jeux sont plus compacts
. des tonnes de petites amélioration dans l’UI : transitions animées, nouveau raccourcis clavier, aide contextuelle…
. des dizaines de bugs sont partis. D’autres sont toujours dans l’ombre, mais je les surveille.
. j’ai amélioré le systeme de score et de médailles
. un nouveau et plus rapide moteur de boulettes (voir post précedent)

CE QU’ON FAIT EN CE MOMENT :
. je travaille sur la documentation. Ça avance, mais ça prend du temps…
. nous travaillons toujours sur l’UI : l’éditeur de menus et l’éditeur d’HUD sont un gros bazard et ont besoin d’être mis en forme
. je suis toujours mécontent de certaines parties de l’outil : le système d’armes est trop compliqué et à besoin d’être retravaillé. Il faut vraiment corriger ça avant de sortir une béta.

Image

CE QUE J’AIMERAIS FAIRE, mais je n’ai PAS LE TEMPS MAINTENANT:
. on a toujours besoin de faire un petit niveau en 2D pour tester l’outil et pour l’inclure dans le SHMUP Creator
. il manque quelques assets : plus de types de boulettes, de presets de mouvements pour les ennemis…
. nous devons faire plus de marketing. Comme ne pas poster une update tous les 10 mois….
. nous devons traduire le SHMUP Creator et la documentation en Français.

Donc oui, ça avance bien. Je peux sentir des forces externes m’attirer loin du SHMUP Creator, et c’est pour ça que je profite d’avoir du temps pour avancer aussi vite que je le peux.

La beta approche, je le sais !!!
Avatar de l’utilisateur
robomatix
Membre Actif de la Bande
Messages : 1144
Inscription : 08 janv. 2016, 20:38
Localisation : Creil
Contact :

Bon courage !

J'ai hâte de le tester !
Avatar de l’utilisateur
suny2000
Sous Blister
Messages : 62
Inscription : 11 juil. 2014, 14:39
Localisation : France
Contact :

Post original : http://bulostudio.com/2018/05/23/update-de-mai/

Ah lalaaa, ça fait tellement longtemps que je n'ai pas donné de nouvelles... Et le pire, c'est que je n'en avais pas vraiment... Mais !!!
Je me suis remis à la tâche, et je fais de mon mieux.

UPDATE de MAI

Quelque chose s’est passé : j’ai eu une offre d’emploi que je n’ai pas pu refuser, et j’y travaille à temps plein depuis début janvier.
La conséquence est que je n’ai plus beaucoup de temps libre pour travailler sur le SHMUP Creator et ça fait pleurer mon coeur.
Mais depuis le mois dernier je me suis remis à la tâche, doucement mais surement.

SHMUP 2D :
Je travaille sur un niveau d’exemple en 2D utilisant des sprites.
C’est un niveau horizontal, comme Gradius ou R-type, et il sera fourni avec le SHMUP Creator.
C’est une bonne manière pour moi de débuger l’engin : je fais beaucoup de petites modifications et de corrections.
Pour l’instant, il n’y a que le vaisseau du joueur, son arme et une explosion animée, mais ça avance :)

ANIMATIONS des SPRITES :
En travaillant sur ce niveau je me suis rendu compte que la manière d’animer des sprites n’était pas super. Jusqu’a maintenant j’utilisais la méthode fournie par Ogre3D, dans laquelle l’utilisateur doit sauvegarder un fichier image par frame d’animation, ce qui n’est pas optimisé et peu pratique. Maintenant l’utilisateur peut regrouper toutes les frames en une seule page d’animation et donner à l’outil le nombre de rangs, de colonnes et la vitesse, et le shader s’occupe du reste.

Image

Image


CORRECTIONS des BUGGS :
Beaucoup.
C’est ma préocupation principale : j’aimerai faire un Early Access aussi vite que possible, mais je ne veux pas fournir aux gens un outil instable.
Une autre préocupation et d’être sûr de stabiliser aussi le format de fichier des niveaux avant de permettre aux gens de commencer des jeux et ne pas casser quelque chose plus tard.

LA SUITE :
Travailler de nouveau sur le SHMUP Creator est un plaisir !
Je promets de faire un post sur la suite de l’aventure le mois prochain, même si c’est un petit.
À bientôt !
S.
Avatar de l’utilisateur
suny2000
Sous Blister
Messages : 62
Inscription : 11 juil. 2014, 14:39
Localisation : France
Contact :

Voila, tout le monde est frustré (Surtout moi, je jure), mais ça avance quand même ! Je vais vraiment essayer de me tenir à des nouvelles une fois par mois, avec si possible le plus de contenu possible. En tout cas, demain soir, je m'y remet :)


UPDATE DE JUIN

COLLISIONS AUTOMATIQUES 2D :
On peut cliquer sur Auto dans le panneau de collision et les points de collisions 2D vont automatiquement bouger autour du sprite. C’est rapide et ça fonctionne :)

Image


ORIENTATION et ANIMATION de VIRAGE INCLINÉ :
. J’ai corrigé beaucoup de problèmes avec les options d’orientation du joueur : le joueur peut avoir une orientation fixe quelque soit la direction de son déplacement, il peut se retourner (flip) gauche-droite ou haut-bas, il peut s’orienter dans la direction de son déplacement, avec la souris ou le stick droit du pad.
. Une nouvelle fonction est que l’on peut jouer une petite animation quand le joueur presse une direction avec le pad pour animer son inclinaison quand il se déplace. Ce n’était pas simple à implémenter avec l’ancien système d’animation et c’est facile maintenant.
Je dois toujours dessiner les nouveaux sprites pour le joueur du jeu 2D pour pouvoir vraiment montrer le résultat.

SNAKE :
Un des types possible d’ennemis est le snake : c’est un ennemi composé de plusieurs parties qui se déplace comme un serpent ou un ver. On peut utiliser différents objets ou sprites pour le corps, la tête ou la queue. Meme si le snake est composé de plusieurs élements ce n’est qu’un seul ennemi, à la difference du pseudo-snake que l’on peut créer en spawnant plusieurs ennemis sur une spline.

Image


LEVEL D’EXEMPLE 2D :
J’ai dessiné un snake et des power-ups animés. Je dois maintenant m’attaquer à une tourelle.

GUI :
Je travaille avec Mathilde sur des corrections d’UI. Il y a beaucoup de menus à corriger, des icônes à dessiner, le design pour le Professeur Bulo pour les tutoriels in-game etc…

BUGS :
Est-ce que j’ai dit que j’avais corrigé plein de bugs, comme à chaque update ?

Comme toujours en ce moment, le projet progresse doucement, mais surement. Je vais essayer de continuer à publier une update par mois, donc, à très bientôt !
S.
Avatar de l’utilisateur
robomatix
Membre Actif de la Bande
Messages : 1144
Inscription : 08 janv. 2016, 20:38
Localisation : Creil
Contact :

Super ! Ca avance !!!!
Avatar de l’utilisateur
gekko
Administrateur
Messages : 2963
Inscription : 10 oct. 2010, 18:25
A remercié : 5 fois
A été remercié : 1 fois
Contact :

Ça avance super bien et ça donne toujours autant envie (surtout maintenant qu'on peut au minimum réaliser un remake du stage deux de Recca et ses fameux mid-boss ()).

Keep up the good work ! pouceair
Avatar de l’utilisateur
skoeldpadda
Paladin Shmup Force
Messages : 1443
Inscription : 12 oct. 2010, 11:28
Localisation : norrifrån
A été remercié : 1 fois
Contact :

C'est rigolo (rigolo "bizarre", pas rigolo "haha"), et un peu paradoxal aussi, mais plus j'en vois et plus je suis impressionné par ce programme tout en étant absolument certain de ne jamais l'utiliser. Je sais que si je commence, je serais motivé deux jours et ne finirais jamais rien ; j'ai perdu la patience pour m'amuser avec ces trucs y a quinze ans quand j'ai lâché MUGEN :razz:
Par contre, ça me donne envie de ressortir ProMotion et de faire des sprites. :D
Yan 'skoeldpadda' Holliday. Docteur ès roguelikes. Agrégé en shmup. Blogueur pulp.
Répondre