[WIP] Bomberman

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

[WIP] Bomberman

Message par Alesk » 12 Août 2018 13:34

Salut tout le monde !

Bon... ça fait des plombes que je bosse là dessus sur mon maigre temps libre.
J'avais commencé par m'acharner sur la code réseau en premier, mais je ne parviens pas à y consacrer assez de temps d'affilée pour progresser comme je voudrais.
Donc là je repars de zéro, sans le code réseau pour le moment, en faisant un code le plus propre et simple possible.

Image
(capture de la version la plus récente, que je mettrai à jour régulièrement)

Première demo ici : http://alesk.fr/demo/bombertest/Bomberm ... -08-18.zip
Touches fléchées pour se déplacer, barre espace pour poser les bombes.
Le perso est le cube blanc en haut à gauche, la petite sphère rouge indique sa direction actuelle.
Au début on part avec une seule bombe qui pète à une case de distance (le bout de l'explosion ne remplit qu'une demie case, c'est normal)

Les points que j'ai bossé pour le moment :
  • génération aléatoire du niveau
  • contrôle précis sur la quantité de chaque type de bonus insérés dans le niveau : nombre fixe ou nombre variable en fonction du nombre de boites et multiplicateur proportionnel au nombre de joueurs
  • assistance dans les virages lors des déplacements des joueurs, pour que ça glisse bien autour des coins
  • quelques bonus de base (affichés au dessus des boites oranges pour le debug, normalement on ne doit pas les voir bien entendu) : bombe, flamme et golden flamme, speed up
  • calcul du cadrage de la camera pour qu'elle englobe toujours parfaitement l'arène de jeu (changement de focale touches L et O, changement d'altitude : touches M et P)
Pour le moment y'a que des cubes et des sphères, mais Mr. Raton m'a préparé des assets graphiques que j'intègrerai le mois prochain.

Prochaine étape :
  • ajouter le bonus Kick et tout le code qui va avec
  • gestion de plusieurs joueurs et différents contrôles (manettes)
  • prise en compte de la mort des joueurs et redistribution de leurs bonus dans l'arène
  • ajouter d'autres bonus en fonction de mon humeur

Voilà... Vos retours seront les bienvenus ! Merci ! ;)
Dernière édition par Alesk le 23 Jan 2019 10:30, édité 1 fois.

Avatar de l’utilisateur
ID2D3D
Messages : 83
Inscription : 14 Juil 2017 18:33
Contact :

Re: [WIP] Bomberman

Message par ID2D3D » 12 Août 2018 13:47

Salut ! j'ai testé, rien à dire c'est un bomber man :-D .

la mort n'est pas encore disponible sinon je serai déjà mort :hehe:

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [WIP] Bomberman

Message par Alesk » 14 Août 2018 01:56

Hop !

J'ai ajouté le kick : http://www.alesk.fr/demo/bombertest/Bom ... -08-18.zip

- lorsqu'on kick une bombe, elle avance jusqu'à rencontrer un obstacle
- elle efface tous les bonus qu'elle rencontre sur son passage
- si on a ramassé plus d'un bonus kick et qu'elle rencontre une autre bombe, elle s'arrêtera et elle poussera l'autre bombe
Plus on ramasse de bonus kick et plus ça poussera des bombes par ricochets
- touche B pour stopper les bombes en cours de déplacement.

Pas encore testé : si deux joueurs poussent des bombes face à face, la bombe du joueur qui a le plus de kick poussera l'autre, si elles sont de forces égales, elles se stoppent toutes les deux.
A tester quand j'aurai ajouté la possibilité de jouer à plusieurs ;)

Avatar de l’utilisateur
Deceleris
Messages : 57
Inscription : 25 Juil 2018 22:06
Contact :

Re: [WIP] Bomberman

Message par Deceleris » 14 Août 2018 14:08

Salut, j'ai trouvé un bug, fin je sais pas si s'en est vraiment un mais lorsque tu pose un bombe, que tu restes dessus et qu'elle explose, si tu spames le touche pour en poser alors tu peut en faire exploser en boucle sans délais :mrgreen:
Travail actuellement sur : https://deceleris.itch.io/shadows

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [WIP] Bomberman

Message par Alesk » 14 Août 2018 16:12

Deceleris a écrit :
14 Août 2018 14:08
Salut, j'ai trouvé un bug, fin je sais pas si s'en est vraiment un mais lorsque tu pose un bombe, que tu restes dessus et qu'elle explose, si tu spames le touche pour en poser alors tu peut en faire exploser en boucle sans délais :mrgreen:
Merci, mais ce n'est pas un bug, c'est voulu ;)
Et puis normalement le perso est censé mourir à la première explosion !

Prochaine étape : la mort des joueurs justement... :diable:

Avatar de l’utilisateur
Deceleris
Messages : 57
Inscription : 25 Juil 2018 22:06
Contact :

Re: [WIP] Bomberman

Message par Deceleris » 14 Août 2018 19:52

Et puis normalement le perso est censé mourir à la première explosion !
haha ok :mrgreen:
Travail actuellement sur : https://deceleris.itch.io/shadows

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: [WIP] Bomberman

Message par Liven » 18 Août 2018 20:13

Grand classique. Exécuter de façon classique j'ai envie de dire.
En tout cas c'est très propre. Ce qui est censé marcher à l'air de correctement marcher. Les déplacements sont bien fluides et ça n'a pas forcement dut être simple.

Par contre je suggérerais bien de modifier un poil l'aspect de tes obstacles en biseautant un peu leurs coins car à plusieurs reprises je perdais mon temps à essayer de bien me caler pile poil dans l'ouverture alors que comme je disais les déplacement sont suffisamment fluide pour ne pas galérer comme ça. Du coup je me dis que si la forme des obstacle traduisait cette fluidité cela ne pouvais que rendre service. Après je me rends bien compte que cela pose d'autres soucis au niveau visuel, mais je pense que c'est un aspect à réfléchir.

Après pour ce qui est de l'aspect réseau, bon courage. C'est une chose dans laquelle je n'ai encore jamais mis le nez (et qui m’intimide un peu). Je sais pas si t'as commencé à regarder quelles facilités apportent le nouveau partenariat Unity/Google, mais on peut espérer que dans l'avenir les questions réseaux soient un peu moins complexe à gérer. Et si le réseau c'est trop galère et que tu manque d'idée pour rendre l'expérience solo fun, peut être que tu peux regarder du coté du ml-agent pour crafter une IA.

Petits détails divers : La fenêtre de lancement Unity est elle indispensable pour ce genre de projet ? Une petite touche echap pour sortir du jeu serait bien venu (aller, c'est une ligne de code). Un petit gif/image pour présenter le jeu c'est pas mal non plus.
J'ai l'impression que tu build en 64bit, hors cela n'est utile que pour les jeux qui utilisent +4Go de ram, mieux vaut privilégier le 32bit car ceux qui ont un système d'exploitation 32bit pourront aussi y jouer (et cela ne fera aucune différence pour les autres selon l'adage 'qui peut le plus peut le moins').

Pour finir, j'ai pas compris la mécanique de kick que tu évoque plus haut. Lorsque tu as des mécaniques qui ne sautent pas yeux comme ça, un petit texte ingame (visible en permanance, après tout on est encore dans du proto) pour la rappeler est toujours bien venu. Perso c'est en revenant sur le forum que j'ai appris qu'il y a avait cette mécanique et qu'il y avait une touche B.

Voila, c'est tout pour moi, bon courage pour la suite...

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [WIP] Bomberman

Message par Alesk » 18 Août 2018 23:18

Liven a écrit :
18 Août 2018 20:13
Grand classique. Exécuter de façon classique j'ai envie de dire.
En tout cas c'est très propre. Ce qui est censé marcher à l'air de correctement marcher.
Merci :mrgreen:
Liven a écrit :
18 Août 2018 20:13
Les déplacements sont bien fluides et ça n'a pas forcement dut être simple.
Ouep, la gestion de l'assistance dans les virages a demandé quelques heures de réflexion !
Liven a écrit :
18 Août 2018 20:13
Par contre je suggérerais bien de modifier un poil l'aspect de tes obstacles en biseautant un peu leurs coins car à plusieurs reprises je perdais mon temps à essayer de bien me caler pile poil dans l'ouverture alors que comme je disais les déplacement sont suffisamment fluide pour ne pas galérer comme ça. Du coup je me dis que si la forme des obstacle traduisait cette fluidité cela ne pouvais que rendre service. Après je me rends bien compte que cela pose d'autres soucis au niveau visuel, mais je pense que c'est un aspect à réfléchir.
Ajouter des coins biseautés aux obstacles de changera strictement rien à la maniabilité car je n'utilise aucun collider ni raycast, tout est fait "mathématiquement" dans mon script.
Et donc pour la prise de virages, je parlais de l'assistance un peu plus haut, j'explique : lorsque l'avatar du joueur se trouve à moitié collé contre un obstacle et à moitié dans une allée, si la direction est maintenue, l'avatar va glisser le long de l'obstacle pour s'insérer dans l'allée parfaitement, sans avoir à "viser juste".
Le plus simple pour constater ça est de nettoyer l'arène de jeu pour avoir de la place pour se balader et de maintenir une direction de déplacement en diagonale : l'avatar avancera en faisant des zigzags sans soucis.

Il y a un réglage, que je peux moduler, qui me permet de définir à partir de quand l'avatar glisse autour du coin de l'obstacle ou bien s'il reste collé contre lui. Il est actuellement réglé sur 50% de la largeur d'une case.
Ce qui veut dire que si le centre de l'avatar sur un axe donné se trouve à 25% de distance d'un coin, il glissera, mais s'il se trouve dans les 50% centraux de l'obstacle, il ne bougera pas

Et donc, pour ce qui est de l'aspect, là ce ne sont que des cubes pour le proto en chantier, il y a aura des assets bien plus jolis dans les versions à venir ;)
Liven a écrit :
18 Août 2018 20:13
Après pour ce qui est de l'aspect réseau, bon courage. C'est une chose dans laquelle je n'ai encore jamais mis le nez (et qui m’intimide un peu). Je sais pas si t'as commencé à regarder quelles facilités apportent le nouveau partenariat Unity/Google, mais on peut espérer que dans l'avenir les questions réseaux soient un peu moins complexe à gérer. Et si le réseau c'est trop galère et que tu manque d'idée pour rendre l'expérience solo fun, peut être que tu peux regarder du coté du ml-agent pour crafter une IA.
Pour le réseau, le plus chaud c'est de gérer correctement la latence. Pour ce type de jeu ultra speed, c'est primordial... Mais pour le moment, je n'ai pas assez d'expérience dans ce domaine. Donc je verrai plus tard, tout en tenant compte de mon expérience sur les protos réseau précédents pour que le code que je fais actuellement reste majoritairement exploitable lorsque le moment sera venu.
Liven a écrit :
18 Août 2018 20:13
Petits détails divers : La fenêtre de lancement Unity est elle indispensable pour ce genre de projet ? Une petite touche echap pour sortir du jeu serait bien venu (aller, c'est une ligne de code). Un petit gif/image pour présenter le jeu c'est pas mal non plus.
J'ai l'impression que tu build en 64bit, hors cela n'est utile que pour les jeux qui utilisent +4Go de ram, mieux vaut privilégier le 32bit car ceux qui ont un système d'exploitation 32bit pourront aussi y jouer (et cela ne fera aucune différence pour les autres selon l'adage 'qui peut le plus peut le moins').
Merci pour tout ces détails, je vais m'y pencher pour la prochaine build !
Liven a écrit :
18 Août 2018 20:13
Pour finir, j'ai pas compris la mécanique de kick que tu évoque plus haut. Lorsque tu as des mécaniques qui ne sautent pas yeux comme ça, un petit texte ingame (visible en permanance, après tout on est encore dans du proto) pour la rappeler est toujours bien venu. Perso c'est en revenant sur le forum que j'ai appris qu'il y a avait cette mécanique et qu'il y avait une touche B.
Pour le kick : ce bonus permet à l'avatar de mettre un coup de pied dans les bombes qui lui font obstacle, simplement en allant dans leur direction. Le kick se fait automatiquement lorsque l'avatar entre en contact avec une bombe en face de lui, il n'y a pas besoin d'appuyer sur un bouton spécifique, juste se déplacer jusqu'à entrer en collision avec une bombe.

Si on prend un seul bonus kick, on pourra pousser une bombe qui avancera jusqu'à ce qu'elle rencontre un obstacle (un mur ou une autre bombe)
Si on prend 2 bonus kick, la bombe avancera jusqu'à rencontrer un obstacle. Si c'est un mur ou un autre joueur, elle s'arrêtera simplement, et si cet obstacle est une autre bombe, c'est cette bombe qui sera alors "kickée" par la bombe qui vient de s'arrêter.

Si on prend 3 bonus kick, le première bombe kickée pourra en kicker une seconde, qui pourra à son tour en kicker une troisième.

Etc... plus on prend de bonus kick et plus la réaction en chaine dans les collisions de bombes peut se propager.
Chaque bombe reçoit la "force de kick" de la précédente -1, et donc quand ça arrive à 0 la dernière bombe impactée ne pourra pas en pousser une de plus et s'arrêtera dès qu'elle sera confrontée à un obstacle.

Dans les cas où deux joueurs se font face et se balancent chacun des bombes, c'est la bombe qui aura le kick le plus fort qui repoussera l'autre s'il y a collision.

Je bosse actuellement sur cette partie de collisions entre les bombes, il y a quelques cas ou ça ne fait pas exactement ce que je voudrais... Avec un peu de bol, j'aurai une nouvelle version à faire tester demain... ou sinon dans la semaine.
Liven a écrit :
18 Août 2018 20:13
Voila, c'est tout pour moi, bon courage pour la suite...
Merci pour ce retour détaillé ;)

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: [WIP] Bomberman

Message par Liven » 18 Août 2018 23:41

Pour l'histoire des obstacles bizautés, c'était juste l'aspect visuel des obstacles qui me perturbait. Les déplacements en eux même sont niquel. Mais comme tu dis c'est en chantier.

Pour le kick, à te lire (et te relire) je fini par comprendre.
Maintenant il faut s'assurer que le joueur le comprenne aussi ingame (si possible sans tuto ou du moins pas un pavé de texte), car des variations de comportements non explicites peuvent agacer (car au final on ne sait pas trop à quoi s'attendre) voir être pris pour un bug.
Un bon gros feedback visuel (pour l'instant un changement de couleur de l'avatar par exemple) peux aider au moins à montrer qu'il se passe quelque chose, que le joueur à une nouvelle possibilité de gameplay.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: [WIP] Bomberman

Message par Alesk » 19 Août 2018 00:15

Liven a écrit :
18 Août 2018 23:41
Pour le kick, à te lire (et te relire) je fini par comprendre.
Maintenant il faut s'assurer que le joueur le comprenne aussi ingame (si possible sans tuto ou du moins pas un pavé de texte), car des variations de comportements non explicites peuvent agacer (car au final on ne sait pas trop à quoi s'attendre) voir être pris pour un bug.
Un bon gros feedback visuel (pour l'instant un changement de couleur de l'avatar par exemple) peux aider au moins à montrer qu'il se passe quelque chose, que le joueur à une nouvelle possibilité de gameplay.
C'est le comportement classique du kick dans le Bomberman original, mais oui, je vais essayer de rendre ça compréhensible visuellement ;)

Répondre

Revenir vers « Vos créations, jeux, démos... »