Bonjour, je viens présenter mon projet en cours: Les pirates des cieux
(aux membres du GCN: hé oui, c'est encore moi !)
Le jeu:
Il s'agit d'un jeu multiplatforme de combat aérien jouable à plusieurs en réseau (local ou internet). C'est un projet libre distribué sous GPL.
Deux équipes s'y affrontent pour le contrôle des cieux, plusieurs appareils (2 pour l'instant) au design plus ou moins fantastique/steampunk sont sélectionables pour chacune d'entre elles. Le jeu est jouable en local contre des bots ou (et c'est le plus intéressant) en réseau contre d'autres joueurs.
L'équipe: l'équipe se réduit pour l'instant à un seul membre, à savoir moi
Détails du développement:
Le jeu est basé sur mon moteur de jeu personnel, Paulo3d (bon ça va, je sais, c'est nul, rigolez un bon coup et ça passera ) développé en C++.
Il utilise OpenGL, GLFW, GLEW, DevIL, OpenAL libogg et libvorbis
Ses fonctionnalités en gros:
- Gestion des ressources
- Chargement des modèles 3D (3ds, md2), des sons (ogg), des images (tout ce que charge DevIL)
- Hiérarchie des entités
- Transformations matricelles, rotations par quaternions
- Scripts (sorte de XML permettant de construire des entités, de les animer, etc)
- Création de terrains (heightmap, etc)
- Optimisations d'affichage (frustum culling, octree, etc)
- Prise en charge des VBOs d'OpenGL
- Moteur à particules
- Ombres portées volumétriques
- Multitexturing, opérations de shading de base (bump mapping, reflexion mapping - pas encore de prise en charge des shaders)
- Support complet de l'animation (transformation/déformation de maillage)
- Affichage de texte artisanal mais fonctionnel
- Gestion des sons 3D, musiques, etc
- Collisions sphere/polygones avec réponse dynamique
Le support réseau est rajoutée directement (la portabilité étant assurée par quelques #defines bien placés) et fonctionne sur un modèle client/serveur utilisant à la fois TCP et UDP. Tout ça est sensé être multiplatforme (au moins Linux, Windows et peut-être OSX), mais pour l'instant des tests concluants n'ont été faits que pour Debian, Windows XP et Vista.
Le projet est bien avancé et jouable (en local en tout cas c'est parfait). Le réseau peut encore poser des problèmes de synchronisation, et il faudrait des vérifications des données au niveau du serveur, car les clients envoient eux-mêmes leur position (oui c'est mal je sais, mais sinon je n'arrivais pas à obtenir quelque chose de vraiment fonctionnel ...)
Screenshots: (j'en devine qui n'attendent que ça )
Si vous voulez tester:
Binaires précompilés pour Windows: skypirates-0.5.2-win32.zip
Les DLLs utiles (OpenAL et DevIL): common-dll-win32.zip
Pour les autres, voila la source (distribuée sous GPL): skypirates-0.5.2-src.tar.gz
Pour Windows, vous avez un projet Visual Studio prêt à compiler.
Pour les autres, il vous faut les paquets de développement de OpenGL, GLFW, GLEW, DevIL, OpenAL, libogg et libvorbis.
Puis le classique:
# ./configure
# make all
# src/planes
Note 1: A l'exception des musiques, les fichiers media sont sous license Creative Commons Attribution-Sharealike 2.0. Les musiques sont extraites de divers jeux en abandonware, je pense que personne ne ralera de leur présence ici, mais c'est pas très légal en théorie... D'ailleurs qui reconnait ces jeux ?
Note 2: Les fichiers sont pour l'instant hébergés chez moi, soyez indulgents, le serveur n'est disponible qu'en journée.
Les contrôles ne sont indiqués nulle part, les voici (c'est plus pratique forcément ):
Molette ou Page up/down -> accélérer ou ralentir
Tourner -> Souris (après avoir allumé les moteurs !/les commandes sont inversées comme pour un manche d'avion)
Clic gauche -> tir principal
Clic droit -> basculer le mode de ciblage camera (cibler l'ennemi/ne pas cibler)
Clic central -> basculer le mode de camera (interne/externe)
Suppr/Fin -> tirs secondaires (dirigeables uniquement)
Discuter -> Entrée
Pour la sélection de l'appareil:
Haut/bas -> sélectionner l'équipe
Droite/gauche -> sélectionner l'appareil
Clic gauche -> valider
Je vous conseille au départ de faire une partie non personnalisée. Si vous voulez jouer seul, il suffit de créer une partie ou personne ne vous rejoint et de se battre contre les bots. Evitez de prendre le gros zeppelin avec les voiles, il n'a pas encore de viseur interne. L'autre marche par contre.
En ce qui concerne l'interface, le premier cadran est un altimètre (le zéro est en bas) et le second est un indicateur de la puissance du moteur (controlable à la molette).
Si jamais vous descendez un bot qui ne riposte pas, demandez-vous si c'est pas un de vos alliés !
Amusez-vous bien !
Faites moi part de tous vos commentaires ou des bugs que vous pourriez rencontrer (on ne sait jamais) !
Partager