Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/05/2015, à 13:57

MrFaelivrin

Développer un jeu "semi-isométrique"

Bonjour à tous,

Ayant développé déjà quelques jeux en 2D(+ 2D mario-like) avec un fabuleux framework du nom de libGDX.
Un article de lostGarden m'a interpellé.

http://www.lostgarden.com/2007/05/dancs … -game.html

Ce design conviendrait parfaitement pour le prototypage d'un jeu que je m' apprêtais à développer.

Sauf que je ne pensais pas à dire ça un jour, je ne parviens pas à représenter de façon simplifiée ce genre de design.
Je suis en effet confronté à des problèmes de perspectives évidentes pour représenter les différentes hauteurs.

J'étais parti sur une représentation des différents étages en utilisant des couches de tuiles spécifiques à chaque étage.
Mais ça ne suffit pas.

Je pensais après diviser l'image d'un block en trois parties distinctes. (Le bas --> représente la hauteur, la plateforme, et le haut de la plateforme)
Sachant de plus que mon personnage dans mon jeu pourra sauter d'une plateforme à une autre.

Je lance donc le débat.
Auriez-vous des techniques particulières à me proposer?

Merci

Hors ligne

#2 Le 07/05/2015, à 15:56

Morgiver

Re : Développer un jeu "semi-isométrique"

En parcourant le site en diagonale, je suis tombé sur ça:
http://www.lostgarden.com/search?update … -results=5

Il parle de la 2.5D, ça a l'air de ressembler, non ?

Hors ligne

#3 Le 08/05/2015, à 11:33

MrFaelivrin

Re : Développer un jeu "semi-isométrique"

Intéressant. Je l'avais pas vu cet article.

En effet, ça y ressemble très fortement.
Je vais creuser cette solution.

Merci.

En fait, mon idée est la suivante, je reste sur les couches superposées.

La conception des maps se fait avec Tiled.

Je créé pour chaque étage trois couches.
Par exemple, si je souhaite que mon niveau fasse 4 étages j'aurais les couches suivantes. (L'affichage se fait de la couche inférieure 1b à 4t dans cet ordre)

* <--- Si le joueur est à cet étage (étage = 4) alors on l'affiche à ce moment précis

4t
4

* <--- Si le joueur est à cet étage (étage = 3) alors on l'affiche à ce moment précis

3t
4b
3

* <--- Si le joueur est à cet étage (étage = 2) alors on l'affiche à ce moment précis

2t
3b
2

* <--- Si le joueur est à cet étage (étage = 1) alors on l'affiche à ce moment précis

1t
2b
1
1b



Xt: ce sont les éléments du décor qui appartiennent à l'étage X mais qui sont un peu sur-élevés (des herbes, ...)
X: c'est les plateformes de l'étage X sur lequel les joueurs se déplacent
Xb: c'est le bas d'une plateforme


On supposera que le joueur est à l'étage 1.

Ensuite pour résoudre le problème des collisions, je distingue trois types:
* les murs du niveau sont ni plus ni moins les plateformes qui se situent à un étage du dessus.
C'est-à-dire si le héros se situe à l'étage 1: on a 2b et 2 donc le moteur physique, box2d créera des objets physiques.
etc.

* Plateforme, c'est l'étage sur lequel se situe le joueur. Il peut se déplacer donc sur 1 et 1t, dans notre exemple présent.

* Le type VIDE, c'est lorsqu'il n'y a pas de 1, 1t, 2b, 2 pour notre cas
C'est entre autre pour faire descendre d'un étage le joueur lorsqu'il sort des plateformes de l'étage.


Ensuite pour les dimensions des tuiles, j'y travaille encore.
Deux options s'offrent à moi, comme chaque image de block est de taille 101x171
Je prends des tuiles qui sont d'une taille de 101x(diviseur de 171 : 1, 3, 9, 19, 57, 171)

Ou je vais retoucher les images.

En principe ma technique devrait marcher.

Dîtes moi ce que vous en pensez?

Dernière modification par MrFaelivrin (Le 08/05/2015, à 12:06)

Hors ligne