Présentation Technique

Post on 11-Jan-2016

29 views 0 download

description

Présentation Technique. Gestionnaire des Ressources Système (GRS). Rendu 3D. Animation. Objets dynamiques 3D 4 format de fichiers Modèle Textures Squelette Animation 2 modules Exporteur 3DS Importeur. Interface Utilisateur. - PowerPoint PPT Presentation

Transcript of 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