Download - Présentation Technique
Présentation Technique
Gestionnaire des Ressources Système (GRS)
Thread Affichage
- rendu terrain - rendu objet dynamiques - rendu particules - effets basés sur des extensions OpenGL - rendu de l’IHM
2
IHM
RENDU
Initialise la fenêtre
Interception des entrées utilisateur (claviers/sourie)
Initialise
Initialiseur
initialise les différents modules
Initialise
Thread Physique
Application des force et détection des collisions
1
Construction du monde physique
[Thread] Événements
Exécute les événements haut niveau (model 1
avance, model 2 recule, quitter, ...)
0
terrain
liste objets dynamiques
variables globales
Contexte protégé par des mutexModule IA
Branché sur chaque model
de type personnage
Module Scripts
Mise a jour
Mise a jour des information synchronisé
avec la boucle de physique (déplacement
d’objets, etc...)
Reaction
- scénario- événements aléatoires
Module Son
- musique d’ambiance- bruitages
Get
Évènements
SETIn
itial
ise
InitialiseÉvènements
Évènements
Évènements
0
Priorité du thread du plus prioritaire au moins prioritaire
Module Évènements
- lancer un évènement avec source et évènement soit dans la pile, soit directement(+ toute une batterie de fonctions de configuration plus haut niveau: collision, ...)
- ajouter une fonction donnée pour un évènement donné- supprimer une fonction donnée pour un évènement donné- désactiver/activer une fonction donnée pour un évènement donné
Thread Évènements
Boucle sur la pile d’évènements et distribue ceux-ci en fonction de la
table de correspondance
ACTION UTILISATEUR
COLLISIONsource
destination
profondeur
...
Pile évènementsévènements provoques à redistribuer
...
TYPE COLLISION fonction1fonction2fonction3
TYPE ENTREE DANS LE CHAMP DE VISION fonction4
fonction5,,,
Table de correspondancecode évènement à liste de pointeurs sur fonctions
Rendu 3D
Contexte
Terrain Objets dynamiques
Caméra du joueur
Module Événements
Réparti les évènements dans les modules concernés.
Traitement du Terrain
Module d’effets
Applique différents effets avec les extensions opengl, le moteur de particules...
Rendu de l’image
Do
nn
ées
Caméra du joueur
Traitement des objets dynamiques
Do
nné
es
Bu
ffer
vid
éo
Buffer vidéo
En fonction de la position du joueur et de la caméra
En fonction de la position du joueur et de la caméra
Affichage de l’image à l’écran
Données stockées sous forme de BSP
Animations et modeles 3d
Évé
nem
ents
(ent
rée
d’un
obj
et d
ans
le c
ham
p de
vis
ion,
...)
Animation
• Objets dynamiques 3D
– 4 format de fichiers• Modèle• Textures• Squelette• Animation
– 2 modules• Exporteur 3DS• Importeur
Interface Utilisateur
• Fenêtre de configuration logicielle au lancement du jeu avec la librairie
FOX-Toolkit.
• Fenêtre OpenGL du jeu gérée par la librairie SDL, s’occupant aussi de la réception des événements clavier/souris.
• Utilisation de la librairie Crazy Eddie’s pour les interfaces graphiques en jeu.
Simulation physique = réalisme accru
Utilisation d’ODE :librairie libre de simulation physique
• Utilisation d’OPAL : librairie libre facilitant l’usage d’ODE
Création d’un module permettant l’utilisation d’OPAL au sein de notre infrastructure technique.
Physique
ScriptPrésentation
Qu’est-ce que le scripting ?• Langage non compilé• Exécuté dans machine virtuelle
Les outils ?• Langage : lua• Librairie de lien c++/lua: Tolua++
ScriptIntérêt dans notre jeu vidéo
• Accélération du temps de développement de la jouabilité – Elimination du temps de compilation– Pas de gestion de la mémoire
• Apporte plus de souplesse– Passage d’une architecture à une autre, de façon transparente– Possibilité pour une tiers personne de créer un nouveau jeu sans
toucher au moteur
ScriptIntérêt dans notre jeu vidéo
Moteur de script
Traduits les instructions, définies en langage de scripts, en appel réels aux méthodes de modification des
propriétés des objets de base du jeu
Moteur de jeu
plugin de scriptscript
Contient une pile d’instructions en langage de script
Primitves
Module Évènements
Achemine les événements systèmes
Évén
emen
t
Man
ipul
atio
n
Enre
gist
rem
ent
ScriptFonctionnalités implémentées
• Création des cartes du jeu• Instanciation des primitives • Manipulation des primitives• Redéfinition des comportements des primitives• Implémentation de nouveaux comportements non définis dans
les primitives • Définition d’objets plus complexes à partir des primitives
Intelligence Artificielle
• Système de résolution de chemins
• Heuristique de type A* en temps réel
• Gestion d’erreurs
Editeur• Outil simple de création de scène 3D destiné à un usage
interne.
• Utilisation de la librairie graphique FOX-Toolkit.
• Importation des modèles 3DSMAX via l’exporter.
• Affichage des objets en utilisant le module de rendu OpenGL du jeu.
• Manipulation des objets 3D et édition de leurs propriétés.
• Création de graphes de points de passage pour l’IA.
• Placement et configuration des scripts.
Ressources Graphiques
Gestion Humaine
L’équipe de projet en chiffres
Domaine d’application Nombre de personne
Conception et développement 12
Créations 2D 8
Créations 3D 19
Réalisations sonores 2
Conseil et correction 1
Divers (bruitage, capture…) ≈ 10
Total ≈ 50
Nos Infrastructures
• Wiki : documentations techniques
• Forum : communication intérieure et extérieure
• WebDAV : centralisation des ressources (graphiques, sonores, …)
• Subversion : centralisation des ressources de développement
• Espace de travail collaboratif : centralisation des contacts, des agendas, …
• Sauvegardes : partenariat avec Touch’
Organisation & Dialogue
• Validation régulière des avancées.
• Tests permanents pour éviter les régressions.
• Organisation en secteur avec nomination d’un responsable.
• Répartition de la charge de travail par équipe, et mise en place de date échéance.
• Compte rendu hebdomadaire.
• Réunions hebdomadaires de suivi.
• Centralisation des informations et des fichiers.
Notre Site Internet
Communication extérieure
• Blackbook
• Renaud Maroy
• Graphistes 2D
• Studio mercier
• Réalisations sonores
• Motion Capture
• EICAR
• RMLL
• FantasyChess
Conclusion