Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Richard Clark

J'aime pas les blogs mais comme j'aime le mouton...

Actualités

  • c2i.fr
DiggersIII les sources (enfin diront certains)

Voici enfin un lien pour télécharger les sources de DiggersIII qui ont été utilisés pour le concours au Moulin de la Forge début Mai. Je les poste ici sur mon blog car elles sont pratiquement sans commentaires et j'ai pas trop le temps en ce moment de peaufiner le tout. Voici tout de même quelques explications sur l'architecture générale et comment le tester :

Il y a une application serveur Diggers.Server.exe exécutée sur un micro qui a deux fonctions :

  1. Gérer les messages DirectPlay envoyés par les joueurs et envoyer des messages DirectPlay aux joueurs.
  2. Créer une instance du GameEngine (le moteur du jeu quoi).

Une application Joueur Diggers.Player.exe exécuté sur le micro de chaque joueur (donc si vous comptez bien, il y a 3 micros en tout - ceci a été imaginé pour éviter de favoriser l'un ou l'autre joueur s'il hébergait la partie). Cette application a deux phases :

  1. Connection au serveur via une interface similaire à Messenger. En réalité, je suis parti de l'exemple DXMessenger du DirectX SDK. Le joueur peut ainsi découvrir les autres joueurs et inviter l'un d'eux à créer une partie Diggers.
  2. Une fois la partie créée, une nouvelle fenêtre pour chaque joueur apparait avec la vue de la carte de la planète de jeu.

Règles du jeu :

Chaque joueur possède un Héro qui au début de la partie est positionné par le Game Engine sur un des ports de la planète. Via son interface (Diggers.Player.exe), le joeur peut lui envoyer des messages (DirectPlay) prédéfinis qui permettent de :

  • créer un robot (qui partira du port d'attérissage) ou un building (à l'endroit ou il est) ou un Plane (idem robot),
  • déplacer le Hero.

Le but est d'aller extraire des diamants dans les mines et de les rapporter dans ses buildings. Le gagnant (ou bout d'un temps prédéterminé dans le fichier Config du Serveur) est celui qui a le plus de diamants dans ses buildings.
Exception : si son Héro est tué, vous avez perdu !!! (stratégie utilisée d'ailleurs par les gagnants de l'épreuve).

Les Elements (Robots, Buildings ou Plane)

C'est Elements possèdent une intelligence artificielle que vous devrez développer dans une assembly qui sera située sur le micro du server. A chaque tour de jeu, le GameEngine interroge votre assembly pour savoir ce que vous désirez faire (j'insiste : ca se passe sur le server). Un Element peut se déplacer (Robot, Plane), attaquer (Robot, Building), Extraire et transférer des diamants dans un Building (Robot).

Ceux ci ont un certain nombre de caractéristiques comme le stock qu'il peuvent transporter, les dégâts qu'ils font, la distance de scan, etc.) qui doivent respecter des limites (définis dans le fichier Config du Server) et dont le total ne doit pas dépasser un certain nombre suivant son type. Au chargement de l'assembly du joueur, le GameEngine vérifie d'ailleurs la validité de vos Elements (n'est ce pas Aleks ?).

Vous pouvez créer jusqu'à 10 types d'éléments différents mais leur nombre totale sur la carte en cours de jeu est illimitée. Au vue d'ailleurs de ce qui s'est passé pendant le week-end, il semble que des Buildings attanquants sont trop forts par rapport aux autres types d'unités. Il faudra donc ajuster le fichier Config pour cela.
J'avais proposé un nouveau type d'unité mais la majorité l'a refusé : le Kamikase. Celui ci faisait pas mal de dégât et mourrait une fois son unique attaque effectuée. A vous d'imaginer d'autres types.

La suite

Je suis déjà en train d'imaginer la suite de Diggers III (ie DiggersIV). La première chose que je compte ajouter est un nouveau micro (donc ca fera 4 minimum ;-)) intitulé Spectator. Celui ci recevra de la part du serveur toutes les informations de la partie. Cela permettra ainsi d'inclure l'interface 3D de Valentin et Cyril et d'assister à une partie en tant que...Spectateur.

Je travaille également à simplifier les interactions Serveur - Joueur pour que le lancement d'une partie soit plus naturelle.

Vous trouverez les sources ici. (attention, près de 9Mo, DirectX9 obligatoire + .NET Framework 1.1 + VS .NET 2003)

Amusez vous bien ;-)))

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mercredi 26 mai 2004 14:37 par richardc

Commentaires

richardc a dit :

Est ce qu'il serais possible d'avoir les sources du II (ce sont celles qui m'interresse le plus...)
# mai 26, 2004 16:38

richardc a dit :

Le principe de l'engine est le même.
# mai 26, 2004 18:06

richardc a dit :

Je sais, mais moi je voudrais un .zip qui ne contient que celui du II (avec le moteur 3D...).

Merci
# mai 26, 2004 19:16

richardc a dit :

Le moteur 3D est dispo depuis un moment. T'as maintenant le concept de l'Engine. Je vois vraiment pas ce que je peux faire de plus !!! Avoir le moteur de DII + la 3D ne t'apportera rien
# mai 26, 2004 20:35

richardc a dit :

Et les sources du IV ;)
Oui je sais, je retourne devant le match de foot ... toujours 0-0 :p

# mai 26, 2004 21:20

richardc a dit :

cool !
# juin 1, 2004 14:35
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [Silverlight] En attendant Silverlight 2 RTW par Blog Technique d'Audrey PETIT le il y a 8 heures et 46 minutes

- Le nouveau Gojira, c’est pour lundi… par CoqBlog le 10-11-2008, 01:18

- SharePoint : nouvel article sur la mise en place des Scopes dans MOSS Searchs par Blog Technique de Romelard Fabrice le 10-10-2008, 17:52

- Hello CS par Le Blog de julz le 10-10-2008, 12:26

- MSDN/TechNet/Microsoft Days Tour 2008 à Lille les 13 et 14 Octobre ! par RedoBlog - The .NET Gentleman !!! le 10-10-2008, 09:35

- MVC Pratique #07 - Un projet concret et le transfert des objets avec les ModelBinders par #Rui le 10-09-2008, 23:39

- SQL Server 2008 : Certifié - TS Admin (70-432) par SQL Server vu par Christian Robert le 10-09-2008, 10:58

- [WPF] Comment changer la couleur utilisée pour sélectionner les éléments d’un ItemsControl ? par Thomas Lebrun le 10-09-2008, 10:49

- Hello World! par Hamid's Place le 10-08-2008, 23:38

- SQL Profiler - Configuration pour un développeur - tracer les requêtes SQL de votre application par Atteint de JavaScriptite Aiguë [Cyril Durand] le 10-08-2008, 15:52