CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Daídalos, FPS 3D en C++

Lapintade
Lapintade
Niveau 30
31 août 2009 à 11:14:21

ahaha j'avais pas lu ... C'est plus rapide parcque c'est du JPG maintenant :ok: :ok: (j'ai câble 30Mb, donc un truc relativement très rapide).

Shakaan
Shakaan
Niveau 10
31 août 2009 à 11:15:16

Et tu trouvais que le chargement des PNG etait lent :question: faut faire une cure de 512 K alors :hap:

Lionhearths
Lionhearths
Niveau 4
31 août 2009 à 14:25:36

Shakaan: Question pas évidente, il y en a eu beaucoup en fait.
Le projet est une constante remise en question avec beaucoup de choses neuves pour moi donc j'ai eu beaucoup de problèmes, surtout au début.

Le premier problème que j'ai rencontré a été de dompter la logique élémentaire d'OpenGL (les piles, les translations et rotations, la gestion de la caméra, de la lumière, des matériaux etc). Quand on découvre OpenGL (ce qui est le cas pour moi avec ce projet), il y a certains points pas évidents à comprendre.

Ensuite un autre problème qui est plutôt important, c'est la gestion des collisions. Pour détecter les collisions ce n'est pas compliqué, mais faire "glisser" le joueur sur la surface m'a posé quelques problèmes pour rendre ça à peu près correct (les coins des objets étant sensibles). Aujourd'hui la version actuelle de Daídalos doit utiliser la 3e révision de ma gestion de collision, et je n'en suis toujours pas satisfait à 100% car il reste des problèmes.

Un autre problème qui me viens à l'esprit a été l'intégration des armes, car il faut qu'elles soient toujours au premier plan. Au départ je n'avais pas totalement en tête la manière de faire. Je gérais les armes comme de simples éléments 3D affichés à proximité de la caméra. Le problème, c'est que l'espace entre la caméra et les objets était trop petit pour contenir une arme (si je me collais à un mur par exemple, l'arme rentrait à moitié dedans). Pour corriger ça, il aurait fallu trier toutes les faces du jeu et les afficher de la plus éloignée à la plus proche, en terminant par l'arme. Ce n'est pas géré dans le jeu, donc l'arme est en réalité affichée en dernier, après avoir vidé le z buffer. C'est plus lourd que la méthode du tri, mais ça reste acceptable je pense.

Concernant la programmation en elle-même, ça n'a jamais vraiment été un problème car j'utilise le c++ depuis quelques temps, donc le projet est codé de manière correct en évitant le plus possible les fuites mémoires. Seuls les passages demandant des maths ont eu un peu plus de mal à sortir, le temps de se rafraîchir la mémoire. Par contre étant donné que le projet n'a pas été pensé dans sa globalité dès le début, la structures du code est peut être légèrement différente de ce qu'elle aurait été si tout avait été pensé dès le départ. Mais bon ce n'est qu'un détail.

Bon j'arrête là parce que sinon je suis parti pour faire un énorme pavé, c'est pas évident de résumer les difficultés rencontrées en un peu plus 1 an de travail :)

Shakaan
Shakaan
Niveau 10
31 août 2009 à 16:45:51

ah ça gère, on a rencontré les mêmes, alors. Je code aussi un FPS en 3D opengl/C++, et j'ai aussi galeré un peu pour les collisions, et les caprices d'openGL. Concernant les armes, je ne pense pas dire une bétise en disant ça mais as tu pensé a utiliser le stencil buffer? Ca permet de mettre plusieurs rendus l'un sur l'autre, en gros comme une barraque. Sur une couche, tu dessine l'arme, et sur la seconde, en arrière plan, tu dessine le reste des graphismes. Comme ça, même contre un mur, l'arme rentrera jamais dedans.. Ca marche comme ça, en gros. Si tu pense que ta methode est pas assez efficace ça peut etre une bonne piste..

Lionhearths
Lionhearths
Niveau 4
31 août 2009 à 17:56:57

Non non ma méthode fonctionne très bien en fait et l'arme sera toujours au premier plan car le z buffer est vidé juste avant d'afficher l'arme (l'arme est le seul élément dans le z buffer lorsque je demande son affichage, donc toute l'arme est affichée).
Le seul point négatif que je vois avec ma méthode, c'est que le z buffer est vidé deux fois par frame au lieu d'une normalement, donc ça engendre un petit surplus de travail qui est négligeable sur mon projet mais qui serait peut être plus embêtant pour un jeu commercial plus gourmand que Daídalos.
Quand au stencil buffer non je ne m'en suis jamais servi donc je n'ai qu'une connaissance assez vague dessus. La seule chose qui pourrait encore m'intéresser avec ça serait la gestion des ombres, mais apparemment ce serait moins lourd de gérer ça avec des shaders. Enfin bon faudrait encore que les ombres soient prévues, ce qui n'est pas du tout le cas actuellement.

Shakaan
Shakaan
Niveau 10
31 août 2009 à 17:58:43

Pas mal comme technique pour le gun, en fait, je n'aurais pas fait mieux.. Mais oublie le stencil buffer pour ce problème, en fait, après renseignement, ça sert pas trop a ça :( faudrait approfondir le sujet. Tu bosse a quelle fréquence, sur ce projet? Tous les soirs?

Lionhearths
Lionhearths
Niveau 4
31 août 2009 à 19:02:59

C'est très variable en fait. Au début du projet je travaillais souvent 7-8h par jour car il y avait toute les mécaniques de base à faire, et c'était des gros morceaux. Maintenant ça dépend des jours car je travail par objectif. Ça peux m'arriver de travailler 4-5 heures comme de ne pas travailler du tout de la journée (il y a des jours comme ça où on a pas envie de coder lol).

Lionhearths
Lionhearths
Niveau 4
19 septembre 2009 à 23:39:52

En attendant une prochaine vidéo qui illustrera les nouveautés à venir dans la prochaine version, voici une courte vidéo qui montre le fonctionnement des impacts et du système de particules.
Ce n'est pas une nouveauté mais ça permettra à ceux qui ne veulent / peuvent pas tester le jeu d'avoir un aperçu en vidéo.

http://www.youtube.com/watch?v=RYjviNi_0Cg

Pour la prochaine vidéo, à mon avis elle devrait arriver dans deux bonnes semaines.

Lionhearths
Lionhearths
Niveau 4
14 octobre 2009 à 19:48:49

Bon finalement je n'ai pas encore eu le temps de travailler sur la vidéo mais quitte à choisir, je préfère avancer sur le projet quand j'ai le temps plutôt que sur la vidéo.

Parmi les nouveautés de la prochaine version, vous pourrez trouver une première esquisse des ennemis. Les ennemis en question ne sont pas tout à fait des ennemis à proprement parler, mais cela représente une des étapes prévues pour intégrer des ennemis "intelligents".

Les premiers types d'ennemis mis en place dans le jeu seront en fait des pièges. Les quatre prévus proposent chacun une stratégie pour les éviter.

http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_121.jpg
Voici les piques, qui peuvent être facilement évités en sautant par dessus.

http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_122.jpg
De la ventilation. L'air expulsé est chaud donc il vaut mieux ne pas s'en approcher.

http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_123.jpg
Une tourelle de flèches, qui lance des flèches dans quatre directions. Elles sont à mi-hauteur donc impossible à esquiver en s'accroupissant ou en sautant.

http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_124.jpg
Un pilier de haches qui lance des haches dans quatre directions. Elles sont lancées sur deux hauteurs différentes en alternance et il est possible de les éviter en sautant ou en s'accroupissant.

Shakaan
Shakaan
Niveau 10
15 octobre 2009 à 01:03:40

Ca gère :hap: mais c'est toujours atrocement sombre :-(

Lionhearths
Lionhearths
Niveau 4
15 octobre 2009 à 18:38:22

Si jamais plus tard je change la méthode d'éclairage, je pourrais mettre en place des sources de lumières autre que la lampe torche.
Pour le moment c'est quelque chose de difficilement faisable car avec l'éclairage actuel je suis limité en nombre de sources lumineuses. Je pourrais donc quand même en mettre d'autre, mais si jamais la scène à un moment donné demande plus de source lumineuses que je ne peut en fournir, il y aura forcément des zones qui devraient être éclairées mais qui ne le seront pas.

GTO25
GTO25
Niveau 10
18 octobre 2009 à 16:57:32

Je le trouve pas si sombre que ça...
Perso je vois bien les détailles, on voit assez loin en plus.

C'est pas comme dans Doom3 où l'on a que l'endroit de la lampe torche et les zones illuminés par les flammes, et d'autres petites sources de lumières, avec le reste de l'écran complètement noir lol

Nan franchement, c'est excellent! Quand je regarde certains jeux de maintenant, et ce que tu viens de faire, je me dis franchement à quoi ça sert d'être 70/100 sur un projet, travailler pendant 2 ans, et faire quelque chose qui n'est pas poussé, voir complètement bidon. Franchement j'hallucine quand je vois ton travail!
Parce qu'en plus les développeurs de jeux ont un moteur graphique et physique, déjà tout fait.

Il manque plus que les ennemis et c'est t'as une véritable base de FPS.

Bonne continuation !

Lionhearths
Lionhearths
Niveau 4
28 octobre 2009 à 22:39:36

Bon voilà la nouvelle version est en ligne :) (version Alpha 0.8)
Voici donc la liste (normalement) complète de ce qui change dans cette version. La plupart des choses ont déjà été vues, mais je fais un petit rappel pour donner une description complète des changements.

Ajout de portes verrouillées par carte magnétique - Bleu, Rouge, Jaune ou Vert:
http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_118.png
http://www.stephane-baudoux.com/imgs/screens/daidalos/min/daidalos_111.png

Ajout de quatre pièges:
http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_121.png
http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_122.png
http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_123.png
http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_124.png

Ajout de l'objet plafond abaissé:
http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_125.png

Gestion des dégâts et de la mort du joueur:
http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_117.png
http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_120.png

Ajouts de messages informatifs suivante certaines actions du joueur:
http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_118.png

Ajouts de nouveaux éléments dans l'interface:
http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_119.png

Mise à jour de la gestion des mods:
- Possibilité d'utiliser des sons et des textures customs
- Possibilité de choisir les équipements par défaut (armes, munitions, lampe torche, santé, armure)
- Possibilité de choisir l'emplacement des éléments de l'interface
- Possibilité de supprimer les textes de chargement
- Possibilité de supprimer les séparateurs d'environnement
- Possibilité de régler la lumière ambiante
L'ensemble des réglages des mods se fait par des fichiers xml, et vous pouvez voir toutes les syntaxes dans le fichier conf.xml du mod par défaut fourni avec Daídalos. Un fichier lisez-moi est également présent dans le dossier mods

Corrections diverses:
- La formule de calcul du son suivant la distance de la cible et du joueur est ajustée
- Passage du fichier option config.txt en version xml
- Suppression des clignotements de certains objets à proximité de la lampe torche
- Il n'est plus possible de changer de direction durant un saut
- Le Frustum Culling est désormais moins strict
- Les problèmes de sons non joués suivant certaines conditions son corrigés
- La résolution 1920*1200 fonctionne correctement
- Intégration des particules et des impacts dans le Frustum Culling
- Correction du problème de son lorsque celui-ci était mis à 0 depuis le jeu
- Correction des impacts qui réagissent maintenant correctement à la lampe torche
- Les textures des menus sont maintenant en puissance de 2
- Modification de la gestion des fichier lang pour permettre des ajouts plus aisés
- Correction d'une fuite mémoire récurrente qui était présente depuis quelques temps

Version Windows: http://www.stephane-baudoux.com/programmes/daidalos_win32_last.zip
Linux: http://www.stephane-baudoux.com/programmes/daidalos_unix_last.zip

Si vous avez des remarques, n'hésitez pas à m'en faire part.

Lionhearths
Lionhearths
Niveau 4
14 décembre 2009 à 18:08:21

Une nouvelle version est prévue pour dans quelques jours, contenant son petit lot de corrections et d'ajouts, ainsi que la mise en ligne pour la première fois du code source (qui sera maintenant publié à chaque sortie de démo).
En attendant cette sortie, une nouvelle vidéo est disponible et présente 2min de gameplay.
Je n'avais jusque là jamais vraiment fait de vidéo purement gameplay, donc je corrige cette erreur avec cette nouvelle vidéo.

Lien de la vidéo: http://www.youtube.com/watch?v=Zq3NVPaLSyA

Lionhearths
Lionhearths
Niveau 4
16 décembre 2009 à 18:14:27

La dernière version de Daídalos est enfin disponible. Cette version est numérotée Alpha 0.85 et contient les modifications suivantes:

Ajouts:

http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_126.png
Ajout du piège "Sol piégé". Lorsque vous marchez sur ce type de piège, un clic se fait entendre et des piques sortent du sol peu de temps après. Ces piques sont trop haut pour que vous puissiez sauter par dessus, donc il faudra attendre qu'ils se désactivent.

http://www.stephane-baudoux.com/imgs/screens/daidalos/med/daidalos_127.png
Ajout de l'objet "Arche". C'est surtout un objet décoratif, qui permettra de varier un peu plus les niveaux comme vous pouvez le voir sur l'image ci-dessus.

Corrections / Modifications importantes:

- Correction du saut. Il est maintenant possible de légèrement dévier de sa trajectoire ainsi que de légèrement ralentir l'impulsion.
- Suppression d'un bug qui empêchait parfois le joueur de sauter.
- Réduction du rayon d'action des pièges. Les pièges "Piques" et "Ventilation" sont plus laxistes sur la détection du joueur, vous permettant de vous approcher plus et facilitant du coup leur traversée.
- Correction de la détection des impacts de projectiles sur des machines ayant la synchro verticale de désactivée et ayant des FPS élevés (> 150).
- Correction de l'animation des armes sur des machines ayant la synchro verticale de désactivée et ayant des FPS élevés (> 150).
- Réactivation des mipmap qui étaient inactives depuis quelques temps. Cela permet d'améliorer légèrement les performances du jeu.

Corrections / Modifications diverses:

- Ajout d'une distance minimale pour le déclenchement des projectiles des pièges
- Correction de la détection d'impact des projectiles lancés par des pièges collés aux murs
- Correction de la taille et du placement des textures du piège "mur de haches"
- Ajout d'un timer dans les menu pour éviter d'utiliser trop de ressources pour rien
- Les portes devérouillées restent ouvertes

Ce qui est prévu pour les prochaines versions:

A vrai dire beaucoup de choses sont prévues, et il est très probable que ces idées soient coupées en plusieurs sorties si le temps de développement est trop long (à mon avis ce sera le cas xD). Je devrais commencer à bosser sur ces idées durant les vacances de Nöel si tout va bien, ayant pour une fois assez peu de boulot durant ces vacances.

- Ajout de monstres immobiles
- Possibilité d'avoir des plafonds ouverts ( purement esthétique :-) )
- Possibilité de placer des précipices à la place du sol plat (pour varier un peu l'architecture des niveaux)
- Ajout d'une carte des lieux durant le jeu (affichage des murs, des portes fermées, des téléporteurs)
- Gestion des matériaux par fichier (pour permettre d'associer manuellement un son à chaque mur / sol / plafond de chaque environnement)
- Réecriture de l'éditeur de niveau avec ajout de nouvelles fonctionnalitées (Annuler / Rétablir, redimentionner la carte) et modification de l'interface.
- Mise en place d'un éditeur de mods, pour au minimum faciliter la création des fichier conf.xml voir automatiser la création des mods, le placement des sons / textures dans les bons dossiers etc...

Les sources:

Comme je l'avais promis les sources sont disponibles, en tout cas pour le jeu. En effet je n'ai pas distribué les sources de l'éditeur dû au fait justement que je compte le réecrire en grande partie pour le dépoussiérer un peu :-). Le projet est donc disponible sous la licence CC-BY-NC-SA 2.0

Liens:

Version Windows: http://www.stephane-baudoux.com/programmes/daidalos_win32_last.zip
Version Linux: http://www.stephane-baudoux.com/programmes/daidalos_unix_last.zip
Code source: http://www.stephane-baudoux.com/programmes/daidalos_sources_last.zip

godrik
godrik
Niveau 30
16 décembre 2009 à 19:22:41

j'ai pas grand chose a dire a part que c'est cool ce que tu fais. Je voulais juste que tu n'ai pas l'impression que tout le monde s'en fout :)

Lionhearths
Lionhearths
Niveau 4
16 décembre 2009 à 22:27:12

Merci^^
Je dirai pas que j'ai l'habitude, mais c'est pas le seul forum où je poste et où il y a peu de réactions sur les sujets. En général un projet qui se déroule (presque) sans encombres n'attire pas forcément les foules. Mais bon même s'il n'y a pas beaucoup de réponses, ça ne veux pas forcément dire que personne ne lis le sujet, et puis bon faire un peu de pub ici ne peut que faire du bien pour la visibilité du projet :) .

PseudoNumero002
PseudoNumero002
Niveau 5
18 décembre 2009 à 07:20:07

J'y ai joué c'était sympa

Techniquement c'est bluffant en tous cas

Mais y faudrait vraiment des monstres parce que les armes servent à rien, et on s'ennuie.
Mais en parsement l'endroit de monstres ça doit devenir bien sympa :bave:
Bien sûr je réalise la complexité que ça doit être de gérer l'AI le pathfinding et tout le bordel.

Lapintade
Lapintade
Niveau 30
18 décembre 2009 à 14:45:48

Hello
Je viens d'essayer et c'est bien sympa. Tu as fait une belle demo technique.
Je me suis amusé a faire un niveau et a jouer dedans. C'est rigolo (j'avais peur que ce soit trop sombre, mais non ca va bien).
Le seul défaut que je vois pour le moment, c'est au sujet des projectiles qui sont tirés depuis les tourelles. En fait, c'est tellement sombre, qu'on les voit pas et que j'ai pas trop compris pourquoi je me faisais toucher. Après j'ai vu que c'était des tourelles, mais l'emotion "je comprends pas pourquoi" est quelquechose qu'il faut supprimer dans un (bon) jeu

Lionhearths
Lionhearths
Niveau 4
18 décembre 2009 à 17:27:03

Je développe le projet petit à petit donc en fait les monstres vont finir par venir, le facteur le plus important pour leur arrivée, c'est le temps :) Depuis le début je travail par étape en apprenant au fur et à mesure et il s'avère que les monstres sont le plus gros morceau restant notamment avec l'IA et le pathfinding. Ça viendra, je suis pas spécialement pressé dans mon travail donc c'est pour ça que ça peut paraître long, cela dit le projet est toujours au stade de la version Alpha.

Sinon Lapintade c'est une remarque que je me suis fait aussi et c'est vrai que par moment ce n'est pas forcément évident de savoir d'où vient le projectile. Dans cette dernière version j'ai ajouté une distance maximale de déclenchement des projectiles par les pièges afin d'éviter que des projectiles parcourent la carte sans qu'on puisse voir la source. Actuellement les projectiles ne font du bruit que lorsqu'ils touchent une surface et se détruisent, ce qu'il manque c'est peut être un son au lancement du projectile voir en plus un léger sifflement si un projectile passe près du joueur. Ça rendrait leurs détection plus facile pour le joueur j'imagine.

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment