Présentation Technique

32

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

Page 1: Présentation Technique
Page 2: Présentation Technique

Présentation Technique

Page 3: Présentation Technique

Gestionnaire des Ressources Système (GRS)

Page 4: Présentation Technique

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

Page 5: Présentation Technique

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

Page 6: Présentation Technique

Rendu 3D

Page 7: Présentation Technique

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,

...)

Page 8: Présentation Technique

Animation

• Objets dynamiques 3D

– 4 format de fichiers• Modèle• Textures• Squelette• Animation

– 2 modules• Exporteur 3DS• Importeur

Page 9: Présentation Technique

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.

Page 10: Présentation Technique

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

Page 11: Présentation Technique
Page 12: Présentation Technique
Page 13: Présentation Technique
Page 14: Présentation Technique

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++

Page 15: Présentation Technique

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

Page 16: Présentation Technique

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

Page 17: Présentation Technique

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

Page 18: Présentation Technique

Intelligence Artificielle

• Système de résolution de chemins

• Heuristique de type A* en temps réel

• Gestion d’erreurs

Page 19: Présentation Technique

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.

Page 20: Présentation Technique

Ressources Graphiques

Page 21: Présentation Technique

Gestion Humaine

Page 22: Présentation Technique

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

Page 23: Présentation Technique

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’

Page 24: Présentation Technique

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.

Page 25: Présentation Technique

Notre Site Internet

Page 26: Présentation Technique
Page 27: Présentation Technique
Page 28: Présentation Technique
Page 29: Présentation Technique

Communication extérieure

Page 30: Présentation Technique

• Blackbook

• Renaud Maroy

• Graphistes 2D

• Studio mercier

• Réalisations sonores

• Motion Capture

• EICAR

• RMLL

• FantasyChess

Page 31: Présentation Technique

Conclusion

Page 32: Présentation Technique