IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Projets Discussion :

Moteur de jeux (ODFAEG) et jeux.


Sujet :

Projets

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Moteur de jeux (ODFAEG) et jeux.
    Salut,
    ODFAEG (Opensource Developpement Framework Adapted For Every Game)

    je suis actuellement entrain de développez un moteur de jeux opensource ainsi que un petit jeux comme démo.

    je recherche d'éventuels personnes pour m'aider un peu. (Car le travail pour moi tout seul c'est un peu beaucoup)
    je n'ai pas beaucoup de moyens non plus donc je dois faire avec ce que j'ai mais je ne parlerai pas de ma vie privé ici.

    Je veux que le framework soit le plus simple possible aussi bien au niveau interne que utilisation (vous verrez d'ailleurs qu'il y a beaucoup de classes mais peu de fonctionnalités), compatible avec le plus de plateformes possible et le plus générique possible c'est à dire "templatisé" un maximum afin d'éviter les contraintes due à l'héritage et des algorithmes qui fonctionne aussi bien en 2D que en 3D (le projet est similaire à unity mais je ne veux pas devoir dépendre d'une interface graphique)
    Le projet vise à supporté toutes les versions d'opengl, mais pour le moment je ne peux utilsier l'opengl moderne pour la démo car ma platforme ne le supporte pas.
    J'ai donc du faire recours à des techniques pour un rendu rapide avec les anciennes versions de opengl.

    Le moteur de jeux est déjà bien avancé même si il me reste encore quelques fonctionnalités évoluées au niveau du graphismes à implémenter, voici une liste de tout ce qui est déjà implémenter et des idées de ce qui pourrait être implémenté afin d'améliorer le moteur.
    Le moteur utilise les dépendances suivantes pour le moment il ne fonctionne qu'en linkage statique mais je ferai aussi un linkage dynamique sur la fin, et il est écrit entièrement en c++11. (Donc votre compilateur doit supporté le c++11)

    Dépendances utilisées : SFML 2.1 (en espérant que la version 3 sorte assez vite pour le portage sur android et la gestio multi écran), openssl pour la cryptographie (obligé à cause de tout les bots qui parcours le net) et je pense que c'est tout, je ne veux pas utiliser de trop grosses dépendances.
    Il vous faut donc installé SFML (ainsi que tout ses dépendances) et openssl pour pouvoir compiler.
    Au pire j'ai tout expliqué dans un tutoriel sur le github : (Le développement se fera sur la plateforme git-hub :

    https://github.com/Lolilolight/ODFAEG

    Ce qui est implémenté : (Il y a plusieurs modules)

    Le module core : comprends toutes les fonctionnalités de bases c'est à dire :

    -Un système de gestion des ressources externes.
    -Un système de gestion de commandes.
    -Un système de gestion des states.
    -Et pleins de classes utilitaires utilisée par les autres modules du framework.
    -Un système de sérialisation de données utilisant les flux du c++. (Similaire à boost mais sans le système de registration, je préfère que le framework soit templatisé un maximum et donc que ça soit le développeur qui décide du type de l'objet et qui décide d'appliquer le cast adéquat lors des actions à effectuer sur les entités dérivée et non pas le framework qui décide)

    Le module Graphique :

    Se divise en 3 sous modules :

    Le sous module de base :

    -L'affichage de forme de base. (2D)
    -Un système de composant et un gestionnaire de composants. (Composant de rendu uniquement, sorte de pipeline qui gère la transparence, génère le depthbuffer, la normal map, le framebuffer, etc..., peut être utiliser pour faire du rendu multi-pass également.)
    -Le module graphique de SFML que j'ai modifié pour afficher des sommets en 3D, optimiser l'affichage à l'aide de VBO et regrouper toutes les faces utilisant la même texture ensemble pour éviter les appels trop nombreux à glBindTexture.
    Le module graphique doit pouvoir aussi choisir la méthode de rendu en fonction de la version d'opengl supportée par la plateforme.

    Le module 2D qui utilise le module de base :

    -Un système d'entités. (Avec entités parent et enfants, transformations, etc...)
    -Un gestionnaire d'entités.
    -Un moteur de lumière et d'ombrage.
    -Les animations.
    -Un gestionnaire d'entités.


    Le module 3D qui utilise aussi le module de base n'est pas encore implémenté.

    Le module graphique est le plus conséquent et le plus compliqué des modules.

    Le module physique et méthématique :

    -Un système de gestion des collisions. (hiérarchie de volumes englobants)
    -Un système de gestion des particules.
    -Calcul de position sur une courbe en fonction du temps.
    -Rayon pour sélection d'objets.
    -Etc...

    Le moteur réseau :

    -Un système de communication en mode TCP et UDP de manière assynchrone et sécurisé avec une liste pour la réception de messages.
    -Possède une liste d'utilsateurs égalements et garde une trace des utilisateurs qui ont envoyé une requête côté serveur.
    -Calcule du ping moyen pour chaque utilisateur.(Côté serveur)

    Je suis actuellement entrain de testé ça avec 3 projets : le 1et n'utilise pas le module réseau.
    Le second projet est un serveur.
    Le 3ème est le client.

    -Le moteur de son :
    Gère le chargement des musiques et des bruits, et également la spartialisation du son (la 4D) grâce à SFML.

    Voici actuellement ce que je suis capable de faire avec le framework :





    Le 1er vidéo concerne la démo hors réseau et la second en réseau (je n'ai pas mis les lumières en réseau car je dois justement finir la sérialisation pour toutes les classes du framework pour simplifier le transfert des entités plus complexes du serveur vers le client.)

    Maintenant je vais terminé par vous parler des fonctionnalités qu'il reste à implémenter :

    -La génération de terrains en 3D.
    -Le chargement de modèle 3D à partir de fichiers externe. (Je ne compte utiliser que des fichiers .obj car c'est le plus simple à charger et les animations je peux gérer ça facilement avec le framework en faisant une interpolation linéaire)
    -Les animations en 3D. (Avec interpolation)
    -L'affichage de formes simples en 3D.
    -Le moteur d'éclairage et d'ombres en 3D.
    -Le gestionnaire d'entités pour les entités en 3D.
    -Un driver MySQL.
    -Des composants GUI en plus des composants de rendus.
    -Et pourquoi pas des composants spécialisé pour le développements de jeux par navigateur.

    Voilà donc en gros j'en suis à un peu plus que la moitié, mais je compte faire une pause et m'amuser un peu avec le framework là en créant un jeux en 2D et ensuite je passerai à l'implémentation de la 3D.

    Si vous êtes partant pour coder ne fuse qu'une fonctionnalité ou bien pour corriger un bug ou encore si vous penser pouvoir optimiser le code, n'hésiter pas à m'en faire part.

    Voilà merci d'avance pour votre contribution.

    La majorité des fonctionnalités contenue dans le framework lui même ont été implémentée par moi seul, et une minor partie est du code source que j'ai repris tel quel.
    Dernière modification par LittleWhite ; 23/01/2018 à 17h06. Motif: Changement tag sur demande de l'utilisateur

Discussions similaires

  1. [jeux video] Souvenir, jeux de baston
    Par Faith's Fall dans le forum Jeux
    Réponses: 80
    Dernier message: 25/01/2013, 11h18
  2. Moteur de regles pour un jeux web
    Par lastico21000 dans le forum Jeux web
    Réponses: 0
    Dernier message: 03/03/2012, 20h17
  3. Moteur 3D pour mon petit jeux.
    Par Invité dans le forum Moteurs 3D
    Réponses: 1
    Dernier message: 17/01/2010, 10h13
  4. [X360] jeux xbox et jeux PC
    Par Biosox dans le forum Consoles
    Réponses: 1
    Dernier message: 06/01/2009, 15h34
  5. creer des jeux intelligent comme jeux d'echec
    Par hkader dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 14/09/2007, 08h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo