BomberFrag : déplacement des persos

J’arrive d’une LAN bien traditionnelle entre potes, avec de la bouffe dégueu, des vannes plus basses que terre bien grasses et de bons jeux, bref que du bonheur.
Et cette LAN a été l’occasion de rejouer sur un coup de tête à Atomic Bomberman, et je dois avouer que je ne m’attendais pas à m’amuser autant avec cette vieillerie, certes en grande partie à cause de l’aspect "cheap" de la chose (musiques ultra ringardes, ambiance sonore décalée, réseau IPX, …). Alors bien sûr, j’en ai aussi profité pour faire le parallèle avec BomberFrag (cf articles précédents, si besoin) sans y trouver toutes les solutions, en particulier à propos du sujet qui me pose problème, contrairement à ce que j’imaginais : le déplacement des persos.

tableau, Marise :

En rouge, les cases du monde, en bleu, la boite englobante du perso.
Question : comment gérer les déplacements avec cette situation ?
Si on considère la taille actuelle de la boite englobante, et le fait que cette boite ne peut pénetrer une case du monde non vide, comment permettre par exemple au joueur un déplacement sur la case 1 ?

regarde :

(Ce montage est laid, mais c’est pas le sujet)
Donc oui, le problème est évident : il faut que le joueur soit au pixel près en face de la ligne horizontale avec la case 1 pour pouvoir se diriger à droite. Pas jouable.

Comment régler le problème, toi qui souhaites participer au projet ?

– Créer une boite englobante plus petite que les lignes ? Ca ne règle qu’en partie le problème, et ça engendre un nouveau truc pas cool : la possiblité de se déplacer (un peu) verticalement sur une ligne horizontale.

– Faire des déplacement à la Pacman (déplacement case par case) … je ne sais pas si ce genre de déplacements est tolérable pour un bomberman like.

Kess t’en dit ?

PS : le projet principal utilisant le moteur 3D, MeMak, est peut être en train de naître en ce moment, après plus de 4 ans de gestation. Je vais attendre avant d’en parler plus, mais si c’est le cas, il va se passer de grandes choses pour le projet Raydium/MeMak d’ici peu de temps.


Publié

dans

par

Étiquettes :

Commentaires

6 réponses à “BomberFrag : déplacement des persos”

  1. Avatar de Xfennec
    Xfennec

    Au vu du nombre de commentaires, j’ai la sombre et persistante impression de ne pas avoir été très clair … quelqu’un pour confirmer ? 🙂

  2. Avatar de Dr.Loser
    Dr.Loser

    Y a pas moyen de faire une boite ronde pour le joueur et de la faire glisser sur les coins ?

  3. Avatar de Deis
    Deis

    Pourquoi ne pas controler le déplacement du joueur ?

    Lorsque celui-ci demande un déplacement dans une direction x , on le déplace d’une case (ou d’une demi case ) dans la direction x (idem pour la direction y bien sur ).

    De cette manière lorsqu’il sera dans la position indiquée par la seconde image il est sur et certain qu’il se trouve exactement dans le prolongement du chemin de gauche et peut donc le prendre sans rentrer dans les blocs de la carte..

    Je sais pas si c’est très clair, ni si cela peut-être envisagé comme solution…

  4. Avatar de Xfennec
    Xfennec

    Dr.Loser: l’idée de la sphère englobante n’est pas mauvaise, mais induit des blocages (légers, certes) quand le joueur "force" sur un angle (à mi-chemin entre deux direction, par exemple).

    Deis : je ne suis pas certain d’avoir saisi : tu parles d’un déplacement case par case ?

  5. Avatar de lapinou-Kynes
    lapinou-Kynes

    Je vais essayer d’expliquer ma méthode par un exemple.

    Le personnage évolue dans une colonne. Il s’approche d’une intersection et demande à tourner pour avancer en ligne. Si il est parfaitement aligné, il peut se déplacer horizontalement tout de suite. Sinon, tu fais déplacer le joueur à la verticale vers l’intersection, jusqu’à ce qu’il soit bien aligné puis tu commences à le déplacer horizontalement afin d’obéir au mouvement demandé.

    J’essaye moi même de développer un bomberman-like et c’est la méthode que j’ai retenu pour gérer au mieux les déplacements des joueurs. Si tu n’appliques cette méthode que quand l’écart entre le joueur et le croisement n’est que de quelques pixels (5 maxi) le mouvement semble normal.

    Cette valeur de 5 pixels doit aussi dépendre de la vitesse de déplacement. Elle devrait être plus grande pour un joueurs allant très vite.

    Voilà!

    Sinon en commentaire des autres commentaires, une boîte ronde n’est pas très pratique étant donné que le joueurs doit (enfin je pense) se trouver toujours au milieu des cases.

    En ce qui concerne le déplacement case par case, il n’est pas très réaliste et manque de réactivité par rapport au explosion de bombes. Qui n’a jamais été sauvé par ses réflèxes qui lui ont fait quitter une case alors que celle-ci s’enflamait…

  6. Avatar de Deis
    Deis

    Un déplacement case par case ne veux pas dire qu’on interrompe le control du personnage par le joueur.

    Si en plein milieu du déplacement il fait demi-tour, le personnage fera demi-tour ! Si le joueur ne continue pas à appuyer il s’arrête dans la première case qu’il croise..

    Si maintenant le joueur veut que son personnage tourne dans une autre direction ( alors qu’il vient de faire demi-tour en plein mouvement ) c’est simple : lorsque le personnage arrive sur la case on regarde la touche pressée par le joueur et le perso prend cette direction..

Laisser un commentaire