Community Play 3D (ou CP3D) est un moteur de jeux vidéo 3D collaboratif. Il fournit aux développeurs des outils puissants permettant une création rapide et abstrait un maximum de concepts pouvant coûter cher en développement. Le "blog" de développement est disponible à l'adresse suivante : https://medium.com/community-play-3d
CP3D est une API complète fournie avec son éditeur. L'éditeur est conçu pour permettre un développement complet de jeux vidéo, via des scripts LUA et les outils proposés, pour les développeurs qui préfèrent s'affranchir du développement C++.
L'API a été conçue pour couvrir un maximum de features C++11, ainsi les développeurs C++ peuvent en tirer les bénéfices.
Je travaille actuellement avec OhmForce (https://www.ohmforce.com) sur la partie collaborative de CP3D. Le fait que CP3D soit collaboratif offre aux équipes de développement de jeux vidéo 3D des méthodes de création bien plus intéressantes que les méthodes classiques de merge ou même des techniques plus avancées. C'est-à-dire que tous les membres d'une même équipe seraient capables de travailler en même temps, en temps réel, sur un même projet. Ceci permet de faciliter les échanges sur le design, des parties de code, etc. En fait, tout serait en temps réel dans l'éditeur de CP3D comme si c'était un jeu vidéo multi-joueurs : si un membre modifie des propriétés sur un objet (comme sa position) alors les autres membres voient la différence en temps réel.
Le moteur lui-même propose des features intéressantes pour les développeurs comme :
- Support des plateformes Linux, Windows & Mac OS X (mobiles WIP)
- Gestion complète des ombres, entièrement personnalisables
- Gestion de la physique (rigid, liquid, soft bodies)
- Gestion complète de scènes et environnements complexes, partiellement optimisé automatiquement par CP3D, configurable
- Développement avancé de matériaux (shaders) avec support des dernières API OpenGL & Direct3D (materials & post-processes)
- Prise en charge des matériaux les plus complexes (occlusion parallax mapping, normal mapping, reflection, light scattering, etc.)
- Prise en charge de différentes passes utiles pour le développement de shaders (light scattering pass, normal pass, reflection pass, depth pass, etc.)
- Support de multiples formats 3D et images
- Système complet de plugins (custom mesh loaders, custom image loaders, GUI plugins, scene nodes plugins, monitors plugins (pour ceux qui veulent créer leurs propres implémentations de deffered shading par exemple))
- Gestion avancée des modèles animés
- Gestion et création avancée de systèmes de particules
- Scripting complet avec LUA
- Screen-based global illumination, SSAO
- Gestion complète du son
- Contrôle complet sur l'effet Depth-Of-Field, image-based et object-based
- Made in CP3D : Création automatique de Normal Maps, probability-based
- Export HTML5 avec Babylon.js
La liste ci-dessus énonce des features encore en développement (comme le support D3D11 et la gestion du son), mais qui verront le jour à la sortie de CP3D.
Quelques captures d'écran :
Depth-of-field + parallax occlusion mapping
Utilisation de la normal pass
Développement de shaders post-process
Support Linux avec la dernière release de mesa
Développement de matériaux personnalisés
Développement de systèmes de particules avancés
Court métrage mettant en oeuvre l'animation de personnages à travers un scénario temps réel (Macbook pro i7 & HD4000)Le blog de développement démontre en quoi CP3D est collaboratif, et avec quels outils.
Démonstration sur le développement de systèmes de particules avancés
La liste complète et approfondie des outils proposés par CP3D sera présente lors des tutoriels pour les beta-tests. Nous sommes actuellement à la recherche de bêta-testeurs pour les prochaines release de développement et ainsi recueillir un maximum de retours supplémentaires sur votre expérience.
Pour les informations les plus importantes sur le développement vous pouvez suivre la page de Community Play 3D sur Facebook : https://www.facebook.com/pages/Commu...06777366157996
Partager