Jeu 3D Shoot 'em Up
Fork me on GitHub

Le projet SpeedWay

Présentation

Speedway est un doom-like 3D où des voitures, divisées en deux camps, se combattent jusqu'à ce que l'un des deux camps ait réduit le nombre de ses adversaires à zéro ! On peut jouer sur une demi douzaine d'univers et de voitures différentes.

Speedway est un projet d'étudiants fait à l'école EPITA en 2001-2002. Il fut, pour l'ensemble de ses développeurs, notre premier projet en équipe et nos premiers pas dans le monde de la programmation. Il a été développé en Opengl, Borland Delphi 5 et DirectSound et fonctionne uniquement pour Windows 95/98/2000/XP. Il devrait fonctionner et compiler pour sur les versions plus récentes de Windows et de Delphi.

Le scénario est très simple : éliminer toutes les voitures ennemies en leur tirant dessus et en convertissant les morts. La conversion se fait en se rapprochant de la voiture détruite et cette dernière ressuscite instantanément et devient un allié. Goûter alors aux plaisirs de la nécromancie mécanique ^^.

Pour jouer, vous devez connaître les touches suivantes :

  • HAUT/BAS/DROIT/GAUCHE : avance/recule/droite/gauche.
  • 1 à 6 : change d'armes.
  • ESPACE : tirer.
  • HOME : arme suivante.
  • A : change de vue (3 différentes).
  • TABULATION : change de voitures.

Aperçus du jeu

picture picture picture
picture picture picture
Cliquer sur les images pour les agrandir.

downloadTéléchargement

Ce projet n'est plus développé mais ses sources sont disponibles sur GitHub github. Ce programme est disponible en open source. Il vous faudra un Delphi Borland pour compiler les sources (au moins la version 5). Attention: pour des soucis de poids, certaines ressources graphiques et sonores n'ont pas forcément été toutes stockées sur le repo git. Vous pouvez les télécharger ci-dessous.

Le rapport SpeedWay version 0.1 Les Sources Delphi
pdf tarball tarball
100 Ko --- format PDF 10 Mo --- format RAR 750 Ko --- format RAR

Au coeur de SpeedWay

Etant des programmeurs novices à l'époque, le jeu est très lent même avec un PC actuel. Cela est du aux nombreux tests de collisions (véhicules contre véhicules et véhicules contre les murs) non optimisés car lancés sur tous les triangles de la scène. Un arbre BSP ou un Quad-Tree aurait aidé le jeu à réduire le nombre de calculs, mais nous n'avions pas eu le temps de le faire à l'époque. Autre problème: les voitures peuvent démarrer le jeu dans le décor.

Ce que le code contient :

  • Dessins (voitures et cartes) dessinés grâce au logiciel 3D Studio Max et conversion des fichiers ASE de 3D Studio Max en une liste de triangles directement utilisables pour OpenGL.
  • Détection de collision sur les triangles de la carte (avec la caméra et les voitures).
  • Champs de force entre voitures et sur les murs (attractifs et répulsifs) des voitures contrôlées par l'ordinateur pour simuler une IA de pelotons et d'ennemis.
  • Quelques effets avec OpenGl comme des explosions (avec des particules ou uniquement avec des textures), des arcs électriques, des effets d'éblouissements.
  • Tirs des voitures, bonus sur le sol à récupérer, sons, etc...

Liens utiles pour la programmation OpenGL

Voici quelques sites qui, à l'époque, ont retenu mon attention concernant OpenGL et Delphi. Malheureusement la plupart de ces liens sont morts, mais je les laisse au cas ou.