Published using Google Docs
Chibis Bomba dev
Updated automatically every 5 minutes

Liste des projets :

Game + Engines

- ChibisBomba

Le jeu en lui même.
Il ne doit y avoir que du code spécifique à ce jeu en particulier.

- ChibiBiEngine

Le Game Engine gère :

la physique, les écrans de jeu et surtout les acteurs.

Tout ce qui a une animation et réagit dans le monde est un acteur.
Un objet immobile dans le monde est juste un WorldEntity.

- MoDDEngine

Graphics Engine gère :

partitionnement de l’espace, le scenenode, particules, les inputs la gestion des assets et surtout  le graphisme + eclairage.

- BinaryImporter

Permet d’importer les scenes du jeu en binaire

Editeurs

- ContentBuilder

Permet de build des xnb au runtime : nécessaire pour l’export des editeurs et ainsi faire des tests.

- MoDDEngineWinforms

Version commune du graphics engine pour les editeurs

Content

- AssetsBomba

Contient les assets de chibis bomba utilisés à la fois par les éditeurs et le jeu.

- BombasAssetsHack

Permet d’utiliser un projet de content pour plusieurs projets...

- ChibisBombasContent

Content spécifique au jeu en lui même

- ChibiBiEngineContent

Content spécifique au game engine

- ChibisEditorContent

Content spécifique aux editeurs

- MoDDEngineContent

Content spécifique au graphics engine

AssetPipeline

- BaseModelPipeline

Permet d’ajouter les informations de bounding box et de bounding sphere à un model

- SkinnedModelPipeline

Permet la gestion des modeles animés ( version ecriture )

- SkinnedModelWindows

Permet la gestion des modeles animés ( version lecture )

Autres

- fbDeprofiler

Permet de lancer le jeu normalement sur les cartes ne supportant que le reach en XNA 4.0

- Lidgren.Network

Gestion du réseau.

Actors Editor

Définitions des paths.

Dans Datas\XXXX\user.xml   ( XXXX étant le nom du projet ChibisBomba par exemple )

        - PathCopyDll : Chemin vers lequel sera copiée la dll produite par l'éditeur d'acteurs.

        - PathCopyXml : Chemin vers lequel sera copié la definition xml des acteurs et des entités.

        Il s'agit du fichier Xml qui sera rebuild par la suite en xnb par visual studio

        - PathCopyXnb : Chemin vers lequel sera copié le Xnb contenant la définition des acteurs et entités.

        C'est le fichier lu par le jeu directement.

        - DefaultProject : Nom du projet sélectionné par défaut

        - AssetsPath : Répertoire où se situe les assets en xnb : permet de sélectionner facilement un model.

        - SavePath : Répertoire où sont sauvées les informations des entités et acteurs.

        Pour chibisbomba il faut indiquer XNA4\FilesEditors\ChibisBomba\Entities afin de travailler ensemble sur la même base.

        

Voici un exemple de user.xml fonctionnel :

<?xml version="1.0"?>

<LocalSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <PathCopyDll>

    <string>J:\Chibis\XNA4\ChibisBomba\ChibisBomba\bin\x86\Release</string>

    <string>J:\Chibis\XNA4\Libs</string>

    <string>J:\Chibis\XNA4\ChibisEditor\ChibisEditor\bin\x86\Release</string>

  </PathCopyDll>

  <PathCopyXml>

    <string>J:\Chibis\XNA4\ChibisBomba\ChibisBombaContent</string>

    <string>J:\Chibis\XNA4\AssetsBombas</string>

    <string>J:\Chibis\XNA4\ChibisEditor\ChibisEditorContent</string>

  </PathCopyXml>

  <PathCopyXnb>

    <string>J:\Chibis\XNA4\ChibisBomba\ChibisBomba\bin\x86\Release\Content</string>

    <string>J:\Chibis\XNA4\ChibisEditor\ChibisEditor\bin\x86\Release\Content</string>

  </PathCopyXnb>

  <DefaultProject>ChibisBomba</DefaultProject>

  <AssetsPath>J:\Chibis\XNA4\ActorsEditor\ActorsEditor\bin\x86\Release\Content</AssetsPath>

 <SavePath>J:\Chibis\XNA4\FilesEditors\ChibisBomba\Entities</SavePath>

</LocalSettings>

Edition d’acteurs

1 : Sauvegarde des dernières modifications.
Le dossier backups enregistre toutes les versions précédentes à chaque sauvegarde.

2 : Build : compile et copie les dlls + xnbs vers le jeu les solutions visual et les editeurs.

Il suffit de lancer le jeu pour tester les modifications apportées par ce build.

3 : Ajout / suppression d’acteurs

4 : Type d’entités :

- WorldEntities : Entité de décoration disposant simplement d’un model graphique et pouvant contenir une primitive physique.

- Actors : toute entité animée et/ou déclenchant des actions est un acteur.
- Triggers : Déclenchement d’évenements lors d’un passage dans une zone

5 : explorer d’entités

6 : duplique l’objet sélectionné dans l’explorer

7 : Mouvement de caméra sur l’aperçu

8 : Sortie d’erreurs lors des builds

9 : Afficher/Cacher la physique

10 : Liste des animations disponibles sur ce model

11 : Assignation d’un model/texture à cet acteur

12 : Propriétés de l’élément sélectionné

13 : Propriétés racines de l’acteur( voir ci dessous )

Un click droit permet d’ajout des états ou des actions

14 : Etat de l’acteur

15 : Action de l’acteur

Un click fait apparaître le code de la condition nécessaire au déclenchement de cette action

16 : Sélection d’un effet sur l’action

Un click fait apparaître le code de cet effet.

Le temps permet de spécifier à quel moment de l’animation l’effet doit être joué

17 : Sélection d’une action référence :

Il s’agit d’une action qui peut couper cette action si sa condition est vraie

18 : Vu du code C# compilé par le Build qui définit les effets et conditions d’un acteur.

Propriétés racines

- CanBePut : l’acteur peut il être posé via l’éditeur de scènes ?

- Category de l’acteur pour faciliter sa recherche et le precache de ces assets ( tous les bonus sont précachés via un Actor.PrecacheActorsInCategory("Bonus") par exemple )

- Collisiongroup : filtre sur les collisions

- ControllerType : type de mouvement sur un acteur dirigé par le joueur ; aucun effet sinon

- DefaultRotation : Rotation par défaut de cet acteur.

- DefaultState : etat par defaut de l’acteur ( !!! ne pas oublier de le définir )

- GravityCoeff : Coefficient de gravité de cet acteur

- Life : vie de l’acteur

- ModelName : model 3d de l’acteur

- Name : identifiant de l’acteur

- PhysicsCenter : position du centre de la primitive physique de l’acteur

- PhysicsConserveEnergy : conservation de l’energie en cas de choc ?

- PhysicsElasticity : rebond de l’acteur

- PhysicsMasse : poids de l’acteur

- PhysicsMobile : l’acteur peut il se déplacer ?

- PhysicsSize : taille de la primitive physique

- PointLightActive : Attacher une lumière à cet acteur ?

- Type : type de primitive de collision de l’acteur

- UpdateClass : nom de la classe updater C# permettant l’éxécution de code à chaque frame pour cet acteur ; surtout utilisé pour l’IA

- UpdateOutOfFrustum : cet acteur doit il être mis à jour si il est en dehors de la caméra ?

Propriétés d’un état:

- AnimationName : nom de l’animation jouée dans cet état

- Hidden : true : l’acteur est invisible dans cet état

- MoveSPeed : vitesse de déplacement dans cet état

- Name : nom de l’état

- ParticleId : système de particules joué lorsque l’acteur est dans cet état

- PlaySpeed : vitesse de l’animation

Propriétés d’une action :

- AnimationName : nom de l’animation lors de cette action

- BlockMove : Cette action stoppe elle les mouvements ?

- IsRoot : est ce une action racine ? c’est à dire est ce une action qui est vérifié à chaque fois ou une action en référence d’une autre action uniquement ?

- Name : nom de l’action

- NotBlocableAction : est ce une action qui n’empêche pas de tester et d’effectuer les autres actions meme lorsque celle ci est déclenchée ? Dans ce cas cette action n’a pas d’animation

- PlaySpeed : vitesse de l’animation

- Priority : priorité de test de l’action : par exemple la mort est testée en premier et ainsi si l’acteur est mort les autres actions ne seront pas testées lors de cette frame.