Developpez.com - 2D - 3D - Jeux
X

Choisissez d'abord la catégorieensuite la rubrique :


Programmation de jeu 2D : RPGMaker, Introduction

Date de publication : 05/05/2006 , Date de mise à jour : 05/05/2006

Par Jean Christophe Beyler (Autres articles)
 

Ce groupe de tutoriel va présenter un projet que j'ai récemment arrêter. J'ai terminé ce projet, bien qu'il ne soit pas encore fini, parce qu'il y a d'autres choses à faire, d'autres horizons à voir. L'état actuel du programme contient un éditeur de niveau et le jeu en tant que tel. Cette partie va présenter le projet.

1. Introduction
2. Editeur de jeu
2.1. Présentation générale
2.2. L'éditeur d'événements
3. Le jeu
4. Dernières remarques
5. Conclusion
5. Téléchargements


1. Introduction

Lorsque j'étais enfant, SSI développait des jeux de rôle qui permettaient de s'initier dans un groupe de 6 personnages. Les combats était en 2D, le jeu était dans un faux 3D...

Bref, c'était presque hideux mais, à l'époque, on avait 16 couleurs et les programmeurs faisaient avec ce qu'ils avaient. Je leur remercie de leur tenacité parce que ce qu'ils ont pondu avec les moyens du bord était (et l'est toujours) impressionnant!

Ceci est un tribut à ces développeurs, afin de leur dire que leurs efforts n'ont jamais été en vain. Moi, et bien d'autres, rêvent encore de ce genre de jeux. Bref, j'ai voulu refaire ce genre de jeu mais le pousser un peu plus loin...

Bien sûr, ce jeu est une version moins bonne que les originaux. Et bien sûr, il n'est pas entièrement fini, mais avec les 20k de codes et une peu plus de 100 fichiers, je pensais que cela suffisait pour faire mon hommage au genre.

Cet article va servir pour présenter le programme et, les articles suivants vont présenter les détails de l'implémentation.


2. Editeur de jeu


2.1. Présentation générale

Comme je l'ai dit dans l'introduction, ce programme est divisé en deux grandes parties:

  • L'éditeur du jeu
  • Le jeu
Cette partie va donc présenter l'éditeur du jeu. Je vais commencer par une petite image.

Vue générale de l'éditeur
Nous avons deux vues possibles pour le niveau : une vue 2D et une vue 3D. Remarquez que dans ce genre de jeu, le joueur bouge par case, tout est programmer par case. Donc logiquement, l'affichage se fera par tuile.

Toutes les fenêtres que vous voyez peuvent être bougés comme vous le voulez (en utilisant la barre titre de la fenêtre), on peut aussi en redimensionner une bonne partie (en utilisant le coin inférieur droit). Enfin, l'utilisateur peut les faire disparaître ou réapparaître en utilisant la barre d'outils.


2.2. L'éditeur d'événements

Puisque le jeu fonctionne par case, il est logique d'avoir des événements par case pour le jeu. Nous avons donc un éditeur d'événements, sachant que les événements peuvent se mettre en liste chaînée afin de mettre plusieurs événements sur une seule case.

Voici l'éditeur d'événement :

Editeur des événements
Sans rentrer dans les détails (cela sera fait dans une autre partie), on peut choisir, grâce à cette fenêtre, le type de l'événement, mettre en place les détails de chaque événement...

Vous remarquerez qu'il y a des boutons dans la fenêtre, tout ceci est géré à la main. A l'époque, je ne trouvais pas ce que je cherchais donc j'ai simplement programmer moi-même mes classes pour gérer les boutons, les zones textes...


3. Le jeu

Hormi la vision générale du jeu que nous allons montré tout de suite, il y a la gestion de tous les événements de base qui est prise en compte dans l'implémentation du jeu. Entre autre :

  • Les combats
  • Les magasins
  • Les téléportations intra-niveau
  • Les téléportations inter-niveau
Vu général du jeu
Vous remarquez que l'image ressemble beaucoup mais nous avons en plus la gestion du groupe.

Vu d'info d'un personnage
Enfin, avant de terminer cette courte partie d'introduction, je vais simplement montrer une image de combat.

Vu d'info d'un personnage

4. Dernières remarques

Le code que je présente en téléchargement dans cette partie n'est pas la version finale puisque, pendant que je présenterais les parties importantes du code, je prendrais la liberté de modifier/améliorer les parties concernées.

Par exemple, le code utilise la bibliothéque Glut, mais je vais faire un port vers la bibliothéque SDL.


5. Conclusion

Bien que le programme ne soit pas fini, j'ai eu un plaisir immense à le programmer. Au fur et à mesure de l'avancement du projet, je voyais prendre forme le jeu comme je le voyais.

L'utilisation de sous-fenêtres, des boutons et des zones textes gérées à la main a été encore plus intéressant que ce que j'aurais pu le croire. Le fait que finalement, tout ce que vous voyez dans les images a été fait à la main ajoute aussi un petit plus et une auto-satisfaction à ce projet.

Enfin, j'espére que vous aurez autant de plaisir à regarder et à jouer avec ce code que j'ai eu à l'écrire. Dans les prochaines parties, je présenterais la gestion des fenêtres, la gestions des données externes au jeu, le gestionnaire des textures...


5. Téléchargements

Voici la version pdf : pdf (198 Ko)

Voici le code source de ce tutoriel : zip (3.9 Mo)



Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 Jean Christophe Beyler. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Responsable bénévole de la rubrique 2D - 3D - Jeux : LittleWhite -