CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : Faire un level ?

DébutPage précedente
1
Page suivantePage suivante
TommyVercittee TommyVercittee
MP
Niveau 10
28 juillet 2015 à 18:37:52

Salut salut ! En attendant d'attaquer mon post-bac je profite de ces deux mois de vacances pour bidouiller des trucs sur libgdx. Ça me fait passer le temps, et en plus ça me permet de m’entraîner sur mon bon vieux Java et la POO ce qui n'est pas trop mal vu que c'est une des matières que j'aurai à la rentrée. Pour le moment , j'ai un petit tas de pixel que j'ai appelé Kiwi.

Toute la physique basique de Kiwi est au poil, j'ai maintenant besoin d'un level plus développé que celui que j'utilisais jusqu'ici (je vais pas éternellement rester sur un escalier composé de 6 carrés). Hey là vient le soucis, je me suis perdu dans l'étendu de machins proposés. Jusqu'ici pour faire mon petit level bah j'y suis allé à l'ancienne avec Vector2() et la classe Rectangle, donc ma classe level c'est un gros pavé style :

blocks[9][2] = new SquareShape(new Vector2(9, 2));
blocks[9][3] = new SquareShape(new Vector2(9, 3));
blocks[9][4] = new SquareShape(new Vector2(9, 4));
blocks[9][5] = new SquareShape(new Vector2(9, 5));

Avec SquareShape, une classe ou j'ai définit les attributs basiques de l'élément qui forme mon niveau : le carré (un peu à la minecraft en fait, j'ai définit ce qu'était un bloc puis j'en ai foutu plein partout pour faire mon environnement). Alors c'est bien gentil pour tester mon code, mais pour jouer je pense que c'est pas THE méthode, j'imagine. Doit bien y avoir un moyen de faire un level sans systématiquement passer par :

:d) La création d'une classe qui définit les attributs de ma forme (une classe pour le carré, une classe pour le triangle ou je ne sais quoi etc)
:d) La mise en place de la forme en question à un emplacement (x;y) quelconque

Sinon bonjour la classe Level de 1500 lignes de code redondantes. J'ai fait un tour sur le net et ça parle de Tile Map, ça parle de scéne2D, ça parle de BitMap, ça parle de Pixmap, et bien d'autres choses. Houlà doucement. Je suis pas mauvais en anglais mais pas au point de faire une recherche approfondie sur la masse de solutions proposées ! Donc je me tourne vers vous, à savoir si par votre expérience, vous connaissez quelque chose de sympathique pour faire son level en 2D (la vraie 2D, en vue de profile quoi, pas à la Final Fantasy ou autre vieux RPG, vous voyez).

J'avais dans l'idée de trouver quelque chose de similaire à ma classe level (donc je place des formes correspondantes à la tronche de mon niveau) que je "recouvrais" ensuite d'un dessin que je faisais sur GIMP par exemple ! Un truc dans ce style :

http://www.rocket5studios.com/wp-content/uploads/2011/11/XS_Force-sprite-lg.png

Recouvert ensuite d'une image crée par mes soins pour rendre tout ça regardable.

C'est possible ? Que dois-je faire pour ça ? Y'a que le placement manuel des formes qui rend ça possible ? Bref je cherche une lanterne pour éclairer ma route, je suis totalement perdu coté level ! Merci d'avance, j’espère m'être exprimé clairement :)

Message édité le 28 juillet 2015 à 18:40:23 par TommyVercittee
Lapintade Lapintade
MP
Niveau 18
28 juillet 2015 à 18:49:42

En général, toutes les données qui compose ton jeu sont stockées dans des fichiers. Tes images par exemple. C'est la même chose pour les niveaux. Tu peux les stocker sous forme de texte par exemple et les relire dans une classe "niveau" qui ira créer tes entités ou shapes ou sprite, ou ce que tu veux.
On ne stoque pas un niveau dans le code.

TommyVercittee TommyVercittee
MP
Niveau 10
28 juillet 2015 à 19:04:58

C'est déjà très rassurant et très utile à savoir ! Merci Lapintade ! Mais puis-je savoir vers ou m'orienter pour en apprendre plus à ce sujet ? Parce que je suppose que c'est pas sur une page de bloc note qu'on peut faire tout un level, même simple. Y'a des logiciels pour ça ? Fin en fait mon soucis c'est que je ne sais pas quoi utiliser déjà, le "comment" je le trouverai tout seul comme un grand, mais le "quoi", là par contre j'attends de voir ce que vous pouvez me proposer :noel:

Message édité le 28 juillet 2015 à 19:05:13 par TommyVercittee
Lapintade Lapintade
MP
Niveau 18
28 juillet 2015 à 19:41:26

Et bien si tu peux très bien faire un niveau sous bloc note. Admettons que ton jeu utilise un niveau sous forme de quadrillage, tu peux très bien faire un fichier avec des X et des O (X les murs, O du vide).
Tu peux très bien les placer à la main.

La question qui se pose est en effet "est ce que je peux faire mon niveau dans un editeur de texte ou ai je besoin d'un outil" ?

Pour l'outil, cela va dependre aussi de ton jeu et comment son fait les niveaux. Tu as des outils pour faire des décors en tile (l'outil que tu mentionne).

Perso, j'ai déjà codé des outils qui me permettent de créer des niveaux pour mes jeux.

Certains de mes jeux utilisent aussi un modeleur 3D comme editeur de niveaux (3dsMax, Maya, Blender).

TommyVercittee TommyVercittee
MP
Niveau 10
28 juillet 2015 à 20:52:34

Oh, voilà qui est sympathique ! Comment ça se passe ? Je code en Java une petite classe pour dire, par exemple que "X" dans tel fichier équivaut à la déclaration d'un carré et qu'un "V" fera un triangle, par exemple ? Ensuite j'ai plus qu'à faire mes différents niveaux, mes dessins bloc note feront automatiquement mes levels avec les formes appropriés, quelque chose comme ça ?

Pour être franc j'aime bien tout faire moi même, je voudrais bien me passer d'un logiciel (enfin si quelqu'un ici connait un truc super dynamique et fonctionnel, je prends) donc je vais me renseigner sur cette histoire de bloc note. Faut aussi que je me renseigne sur ce que sont des décors en tile, j'en ai aucune idée pour l'instant (si ce n'est que ça répéte plusieurs fois les mêmes motifs, quelque chose de ce genre).

Un modeleur 3D ? Mais pour faire du 2D ou de la 3D ? Parce que pour l'instant seul le premier cas de figure m’intéresse :fier:

Message édité le 28 juillet 2015 à 20:53:10 par TommyVercittee
Lapintade Lapintade
MP
Niveau 18
28 juillet 2015 à 21:30:26

Modeleur 3D c'était pour des jeux 3D oui.

Pour la 2D, tu peux regarder le dernier jeu que j'ai fait par exemple :
http://toxic.dk-games.com/
C'est un jeu audio. La gestion est fait comme un FPS en 2D.
Si tu decompresse les fichiers, tu peux aller voir dans le repertoire data.

Tu verras deux types de fichiers texte:
- Le décor (dans "room")
- Les scripts de l'histoire (dans "scripts")

C'est un format de fichier que j'ai défini moi même. Aussi simple que ce que j'avais besoin.
Le jeu va lire ces données et crée les pièces et scripts à partir des données dans les fichiers.

ScientificBird ScientificBird
MP
Niveau 9
29 juillet 2015 à 00:19:48

Je suis dans le même cas que l'auteur mais je n'ai pas tout compris, qu'est ce qu'on doit faire exactement ? Quelqu'un n'a pas un bon tutoriel à ce sujet ? Jusqu'ici je faisais des jeux styles Space Invaders, ou le démineur. J'ai jamais construit de niveaux et j'ignore tout à ce sujet.

Lapintade Lapintade
MP
Niveau 18
29 juillet 2015 à 00:29:22

Il n'y a pas un tutoriel pour répondre à chaque question.
As tu lu tout ce qui a été dis dans ce sujet ?
Quel type de jeux fais tu ? de quoi son composés tes niveaux ?

ScientificBird ScientificBird
MP
Niveau 9
29 juillet 2015 à 00:54:10

J'ai lu ce sujet il y a quelques jours : https://www.jeuxvideo.com/forums/42-31-40191823-1-0-1-0-libgdx-debut-quelques-questions.htm et jusqu'ici je pensais donc que faire level c'était un truc tout bête comme le décrit le post de [-Shana-] donc on fout nos surfaces de collisions là ou on veut puis ou les planque derrière un jolie dessin et voilà. Mais non en lisant ici je vois que c'est un gros bordel en fait, et en cherchant sur le net je trouve que dalle contrairement à l'auteur de ce sujet. J'aurai jamais cru que la mise en place de niveaux soit si peu accessible en fait...

Je veux pas faire GTA V mais un simple petit platformer tout simple genre http://ingame.fr/wp-conteent/uploads/2014/09/VVVVVV.png (oublie tous les trucs sur la gravité et les subtilités du gameplay de cet exemple, dans mon cas je parle d'un personnage qui ne peut qu'avancer et sauter pour éviter les obstacles). Comment on fait un niveau de ce style ? Le mec passe par bloc note ou autre ? Sérieusement ? Fin voilà je veux juste comprendre comment je peux faire mes niveaux pour un petit jeu de plateforme en 2D c'est pas plus bête. Et j'ai aucune idée de ce je dois faire. Vraiment. Je n'ai même pas de petit micro-level comme l'auteur pour tester mon code, jusqu'ici mon personnage était sur une fenêtre noir, la collision s'effectuait au bas de la fenêtre (comme ça le perso ne tombe pas) et la gravité bah le saut fonctionne, et si j'efface la collision il tombe, donc je pense que c'est ok.

Me manque un niveau. Et je ne sais ni ou, ni comment faire. J'ai lu tout le sujet mais ça ne m'a pas avancé. Je ne veux pas être insolent mais tu dis "on peut utiliser le bloc note" mais c'est comme si un enfant te demande comment on pilote un avion et que tu lui réponds "il faut un tableau de bord", d'accord mais ça répond pas vraiment à la question (enfin l'auteur semble avoir pigé le truc mais moi j'ai pas suivi dans ce cas). Puis ça me semble zarb, le gars qui a fait super meat boy, ou bien pour un truc à la Mario Bros (le premier), c'est un truc style bloc note qu'on utilise ? Y'a pas un éditeur ou quelque chose ? Le fait qu'il existe des graphismes pixelart et vectoriels ne changent rien à la donne ? Fin voilà je suis totalement paumé là :pf:

(merci de me consacrer du temps au fait, j’espère ne pas avoir l'air insolent ou trop incompréhensif, pour quelqu'un qui a fait de nombreux jeux auparavant je dois avoir l'air sacrément perdu, mais d'un autre coté c'est le cas donc si je pouvais avoir des explications claires à ce niveau...tu pourrais limite les ajouter à la FAQ du forum d'ailleurs ? Je pense que ce serait une bonne idée, les différentes possibilités de créer des levels selon les langages, les libraires ou les logiciels...)

Message édité le 29 juillet 2015 à 00:56:07 par ScientificBird
Lapintade Lapintade
MP
Niveau 18
29 juillet 2015 à 08:19:21

En fait, à la base, il n'existe rien pour créer des niveaux.
Les éditeurs de niveaux sont tellement spécifiques à chaque jeu que souvent ils sont crées AVEC le jeu.

J'ai travaillé sur plusieurs jeux de plateformes, j'ai du créer mon éditeur de niveau.

Comme je dis plus haut, si ton jeu est très simple (genre juste des cases), tu peux imaginer un outil très simple pour éditer ton niveau (comme un bloc note). Si le jeu necessite des données un peu plus complexes alors il faudra un outil un peu plus complexe.

Certains moteur comme Unity ont des parties 2D. Il est peut être possible d'utiliser ces editeurs pour ensuite reprendre les données crées dans ton jeu. J'imagine que les outils comme Game Maker, Construct 2 ont aussi leur editeur. RPG Maker par exemple contient tous les outils necessaires pour faire un RPG.

T'as des outils qui peuvent aider, mais pas beaucoup. Celui la par exemple:

http://www.mapeditor.org/

LeuNoeleeste LeuNoeleeste
MP
Niveau 10
29 juillet 2015 à 09:49:14

ScientificBird : Tu as lu mon sujet, tu pouvais m'envoyer un MP pour savoir comment je me débrouilles alors. Au final pour l'instant je trafique quelques trucs avec ça : http://www.gamefromscratch.com/post/2014/04/15/A-quick-look-at-Tiled-An-open-source-2D-level-editor.aspx sert toi en pour voir si ça te permet de faire ton level. En ce qui me concerne c'est bon.

TommyVercittee TommyVercittee
MP
Niveau 10
29 juillet 2015 à 14:35:27

Ok, merci pour tout, je suis actuellement entrain de me frotter à TileMap Editor vu que c'est celui qui revient le plus souvent. Mais j'ai du mal à comprendre la relation entre le "dessin" qu'on y fait, notre map donc, et le reste de notre code. Par exemple, là j'ai terminé de dessiner un level, mais je vois pas comment l'implémenter dans mon code sans perdre tout mon précédent travail (les collisions, surtout). C'est vrai que c'est chelou la création de niveaux en fait, enfin quand on a pas encore la main :rire:

Message édité le 29 juillet 2015 à 14:36:07 par TommyVercittee
Lapintade Lapintade
MP
Niveau 18
29 juillet 2015 à 15:49:36

Dans un jeu de plateforme tu as les tile visuelles, et les tiles de collision (ou de type ou de gameplay).
Tu peux par exemple dessiner ton levels dans l'editeur. Et dans ton code, tu dis : Je charge toute les tiles et cela constituera mon decor, et pour les tile 3, 12 et 22, je sais qu'elle sont collisionable, cela fera mon niveau "physique".

TommyVercittee TommyVercittee
MP
Niveau 10
29 juillet 2015 à 17:21:08

D'accord, pour le moment Tile Edit' répond à ce que je recherche. J'imagine qu'il ne me reste plus qu'à me pencher dessus et me trouver un bon tutoriel dessus (j'ai vu qu'il y en a un bon nombre, dans le tas doit bien y en avoir un qui me convient !). Merci Lapintade, je laisse le sujet sans le "résolu" quelques jours si jamais d'autres veulent aussi poser des questions comme c'est arrivé au dessus, mais pour ma part c'est plié.

Bonne soirée et bon dev à tous :-)))

LeuNoeleeste LeuNoeleeste
MP
Niveau 10
29 juillet 2015 à 17:59:48

J'avais utilisé celui-ci :

http://www.gamefromscratch.com/post/2014/04/15/A-quick-look-at-Tiled-An-open-source-2D-level-editor.aspx

Mais en français et pour du 2D tu as également celui-ci :

http://www.demonixis.net/blog/creer-une-map-avec-tiled/

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
La vidéo du moment