Résumé

Développé entre 2001 et 2002, TriWorld est un moteur 3D développé en Visual C++ utilisant OpenGL. Ce moteur utilise aussi DirectX 5 avec DirectAudio pour la gestion du son 3D et de la musique, ainsi que DirectInput pour le module de Joystick.

TriWorld est le résultat de nombreuses lectures sur le sujet des moteurs OpenGL. Tout d’abord moteur de Jyle3D dans sa première version, il est devenu moteur indépendant au fil du temps dans une conception et un développement incrémental.

La suite TriWorld et Jyle3D se présente à présent comme un MiddleWare complet, solution simple et efficace pour le développement rapide d’un jeu-vidéo en 3D. La démo Surf On Mars dont les copies d’écrans sont disponibles ci-après, donne un petit exemple de ce qu’il peut être réalisé à l’aide des versions beta de l’ensemble TriWorld + Jyle3D.

Liste des principales fonctionnalités proposées par TriWorld

  • Graphique :
  • Frustrum culling : boites et sphères englobantes
  • Multitexturing : lightmap, texture détaillée
  • Effets : texture spéculaire, réflexion haute qualité, environnement sub-aquatique, halo de lumière, plans d’eau, etc…
  • Environnement mapping : skybox, nuages, brouillard
  • Particules : générateurs de particules locaux, générateur de pluie
  • Vues multiples : vue à la troisième ou a la première personne et carte d’ensemble (vue satellite)
  • Animations : MD2 animations, water animation, animations paramétrables avec la version éditeur de jyle3d
  • Textures animées : possibilité de mettre un fichier « AVI » en texture d’une face
  • Style de jeu :
  • Hero : mode de jeu de type « shooter » (marcher, tirer, sauter, s’accroupir, nager)
  • SpaceJet : pilotage d’engins spatiaux avec gestion des paramètres physiques
  • Engin : pilotage d’engin roulant à quatre roues (en cours…)
  • Sons :
  • Musique d’ambiance : wave ou mp3
  • Son 3D polyphonique : possibilité de jouer des sons associés à des objets fixes ou mobiles de la scène
  • Interaction Homme Machine :
  • Menus interactifs : choix des options
  • Périphériques : clavier, souris, joystick
  • Collisions :
  • Détection de collisions : collisions sphériques optimisées par volumes englobants
  • Explosion de missiles : Méta-Génération de particules
  • Impactes de balles : Génération de faces « decals »
  • Physique :
  • Physique élémentaire : gestion de différents niveaux de gravité, mouvement aquatique
  • Physique de véhicules : adhérence, masse, puissance des moteurs, etc…
  • Packer :
  • un système de PAQ (TriPaq) utilisé pour protéger les données. Pour des raisons de démonstration, Surf On Mars n’utilise pas cette API. Ainsi, il est aisé de se rendre compte du rendu des textures par rapport à leurs tailles initiales.
  • Réseau :
  • une couche réseaux socket TCP/IP.
  • Editeur de niveau : jyle3d
  • Etc…

La liste est longue et il serait bien difficile d’en faire le tour sans en oublier. Les copies d’écrans ci-dessous montrent quelques effets qui ont été utilisés dans la démo Surf On Mars.

Copies d’écrans de Surf On Mars


















Surf On Mars v0.99 est la beta version d’un jeu réalisé avec TriWorld + Jyle3D. Cette démo est loin d’utiliser la totalité des effets disponibles dans TriWorld, mais elle donne un aperçu du travail réalisé.