Voir la version complète : Principe de base d'un jeu en 2D
Bonsoir tout le monde,
Apres un long moment d'absence, je me remet enfin au C. Mon but étant de recommencer et de finir un jeu simple en 2D que j'avais commencer il y 2ans. Ce jeu est de type mario-like. Mes problèmes sont :
- Je voudrais utiliser un system de "tile", mais apres avoir utiliser plusieur logicel. Je me suis rendu compte que je devais en fait coder une sorte de "parseur" pour utiliser les fichiers de map ainsi creer. Ne voulant pas perdre de temps avec ca, je voudrais savoir si vous connaissez un programme(linux), qui me permette de faire des maps avec le code C utilisable pour loader ces maps.
- Je me pose des questions pour les collisions aussi. Dois-je detecter les "formes"(rectangle et ligne pour le moment) a partir de la couleur des pixels, ou bien a partir de type de tile que le personnage essaye de traverser etc...
- Toute autre suggestion est la bienvenue...
Allez merci d'avance...
AdEmA
à un moment je programmais un jeu de ce genre ^^ ( sous windows :00000010: ... et je code toujours sous windows ^^ ) javais crée un editeur de niveaux , le rendu du jeu était joli et fluide (enfin je trouve , je me suis donné du mal avec paint ) ... voici le lien si tu veux tester http://cf.geocities.com/thelvyn_32/test.zip ( windows only )
je cherchait un graphiste , il est venu , et puis ma laissé tomber pour un autre projet.. depuis je code autre chose (que je peux finir tout seul )
je te conseille de coder tout seul ton editeur de niveaux c'est pas si dure que ca et ca donne beaucoup de libertés . Pour les collisions dans mon editeur on passait dans une option qui definissait les collisions au tile ( 0 , 1 ) et pas besoin de faire du pixel perfect mais c'est mon avis personnel (j'allais l'utiliser mais pas pour les collisions perso-decors , c'est utilie pour des projectiles mais faut limiter et optimiser(tester les pixels seulement si une collision de la boite est detectée) car c'est plus gourmant que comparer quelques carrés a coté du perso ^^)
sinon une idée que jai utilisé : creer le niveau par plusieures couches arriere plan un plus devant encore un peu plus etc ... tu cases les persos entre les rendus et ta un joli effet (cf. mon lien )
bon jarete pour l'instant
a+
remram44
15/10/2005, 12h48
Un parseur pour un format de map me semble pas très compliqué, surtout qu'ainsi tu peux faire ton propre éditeur.
Il suffit d'écrire un fichier map du genre :
[Bloc]
Position 10.300 12.567
Taille 5.004 14.632
Couleur 255 128 128
[Bloc]
Position 0.000 0.000
Taille 50.120 4.729
Couleur 0 0 255
[Ennemi]
Type piaf
Position 0.562 0.050
Et bam tu lis tout avec <fstream> dans ton programme...
(note que je n'utilise pas de tiles ici, mais des blocs, ce qui est sans doute plus pratique pour un jeu de plate-forme)
Coucou, pour un jeu de ce type, le system de tile convient parfaitement et est assez simple a utiliser .
Le chargement des maps a vivement interet a faire référence a un format de map perso, plutot que du code en dur .
Aprés bien sur il te faut deux choses :
-une classe qui "parse" tes fichier pour en extraire les informations utiles
- un editeur de niveau qui te permette de "mapper" visuelement, et qui transcrive le tout dans ton format perso .
C'est pas trés compliqué a faire, mais ca peut demander pas mal de temps !
( Perso, j'utilise le XML pour mon format de map et je fait mon editeur à partir de rien d'autre que openGL / SDL ) .
Hum ok
L'avantage des tiles, c'est de pouvoir avoir des "dessins". Car avec des bloques de couleur, je me retrouve avec simplement des gros pixels... Ou alors il faut que je fasse des blocs tellement petits pour faire des lignes qu'a mon avis que je vais m'y perdre. De plus pourquoi il ne faut pas utiliser le "pixel perfect" ? Et si vous conaissez un logiciel pour creer des tuiles une explication pour integrer ca dans un code C, je suis preneur...
je met un lien là, sur un exemple de programme de tile fait en dev-c++
http://clairsite.site.voila.fr
c'est sur le dernier lien ^^ tout en bas de la page.
vBulletin® v.3.6.5, Copyright ©2000-2009, Jelsoft Enterprises Ltd. Tous droits réservés - Version française vbulletin-fr.org