|
Définition :
Argane est un outil qui a pour
objectif de simplifier la
programmation d’applications graphiques 3D. Conçut
principalement pour les
jeux, Argane peu aussi être utile pour les présentations
graphiques, les
démonstrations, les simulations, la modélisation, etc.
On peut voir Argane comme un
‘pipeline’ cyclique qui exécute
des opération l’une après l’autre. Chaque
opération est paramétrable. Et toutes
aboutissent principalement à l’affichage de l’image finale et au
paramétrage du
cycle suivant.
Argane est un modèle
d’application graphique interactive en
temps réel. Il a la base nécessaire pour – à
l’aide du mécanisme d’héritage en
C++ - engendrer le type d’application désiré en
minimisant de façon efficace la
quantité de code à implémenter.
Motivations et objectifs :
Le marché du jeu vidéo
connaît un développement exponentiel.
Les plateformes de jeux sont de plus en plus puissantes et comprennent
un
nombre impressionnant d’innovations qui sont des fois mal
exploitées. La durée
de développement d’un jeu dépasse souvent l’intervalle de
temps entre la
sorties de nouvelles cartes graphiques. Il est connu dans le monde de
l’informatique que la majeure partie du temps de développement
d’une
application est consacré aux graphismes et aux interfaces
utilisateurs.
L’idée m’est venue de
créer un modèle commun servant de
noyau à tous les jeux développés. L’objectif est
d’éliminer le dur labeur de
commencer un jeu à partir de zéro. Certains utilisent des
moteurs graphiques et
des éditeurs de niveaux pour modifier des jeux
déjà existants et obtenir ce
qu’ils désirent. L’ennui avec çà c’est qu’il faut
choisir un moteur graphique
adéquat au genre de jeu que l’on désire créer. On
ne peut pas par exemple créer
un jeu de simulation aérienne à partir du moteur
graphique d’un ‘FPS’. Autre
inconvénient est le fait que les moteurs graphiques sont trop
‘liés’ aux jeux
pour lesquels ils ont été créés
A qui est destiné
Argane :
Pour utiliser Argane, il suffit de
savoir programmer avec
C/C++. Il est utile de savoir utiliser l’un des outils de
modélisations
supportés par Argane pour faciliter le développement.
Quoique, vu son
architecture, il est possible de développer vos propres
applications de
modélisation et d’animation, éditeurs de niveaux à
l’aide d’Argane.
Ainsi pour démarrer la
programmation de vos applications
graphiques que ce soit pour un usage éducatif, personnel ou
professionnel, il
suffit de bien étudier la documentation d’Argane (en
l’occurrence celle-ci) et
d’être initié au langage C/C++.
Le kit de développement
(ADK):
Le Kit de Développement
d’Argane se présente sous forme de
la librairie dynamique (DLL) principale du noyau, des DLLs additionnels
pour
les extensions, une librairie standard (LIB) pour chaque DLL servant de
liaison, un ensemble de fichiers d’entête pour chaque DLL et
quelques outils de
modélisation et de conversion de fichiers aux formats natifs
d’Argane.
Modèle d’Argane:
Structuration
des données
selon Argane :
-
Scènes :
les scènes peuvent être
identifiées par des phases de jeu. Ils changent lorsqu’il doit y
avoir un
changement radical dans les données du jeu. Exemple : le
passage du menu
au terrain de jeu ou d’un niveau à un autre.
-
Objets :
des entités qui
appartiennent aux scènes. Ils représentent les
éléments à comportement ou
fonction distinguée dans une scène.
-
Données :
sont les principaux
paramètres qui contribuent à la définition d’un
objet et peuvent être :
o
Géométrie :
ensemble de primitives servant à l’affichage et à la
détection des collisions.
o
Brouillard :
ou effets d’environnement qui donnent un aspect
visuel particulier à certains endroits de la scène.
o
Lumière :
paramètres de la lumière.
-
Compteurs :
peuvent servir de
chronomètres.
Configuration
du
traitement :
-
Contrôleurs
d’environnement : ce
sont généralement les modèles physiques
appliqués aux objets d’une scène ou
tout autre traitement qui concerne tous les objets d’une scène.
-
Contrôleurs
d’objet : ensemble de
contrôleurs qui servent à modifier ou animer des objets.
-
Descripteurs de
scène : permet
d’envoyer des messages décrivant des situations
particulières de la scène.
-
Traitement de
la scène : se base sur
les messages envoyés par la description de la scènes et
autres messages pour
choisir le traitement nécessaire.
Processus
d’exécution :
- Initialisation ;
- Mise à jour des
compteurs ;
- Messages automatiques du
système et ses entrées ;
- Détecteur des
collisions ;
- Descripteur de
scènes ;
- Traitement des
messages ;
- Contrôleur
d’objets ;
- Contrôleur
d’environnement ;
- Affichage ;
- Suppression de
messages ;
- Réévaluation
du frame-time et retour à 2 ;
- Libération de la
mémoire.
Comment procéder pour
créer un jeu :
La première étape de
création d’un jeu est bien sûre l’étape
de définition du jeu. Il faut voir tous les aspects du jeu de
façon minutieuse
jusqu’à parvenir à vous imaginer entrain de jouer un jeu
fini. Pour cela il
faudra élaborer un scénario complet et couvrant toutes
les phases du jeu. Une
fois le scénario fini, il faut définir tous les acteurs
du jeu y compris les
décors et l’environnement, leur comportement individuel et en
interaction avec
les autres acteurs.
La définition du jeu facilite
la distinction entre les
différentes données d’Argane. La description du jeu avec
le modèle d’Argane
permet de faciliter son implémentation. Ce qui veut dire qu’il
faut faire
ressortir les différentes entités présentée
auparavant comme les scènes,
objets, …Quand cela est fait il faut définir les
éléments de traitement de ces
données (contrôleurs et fonctions).
Une fois le modèle du jeu est
définit il suffit de
l’implémenter dans Argane, de le tester, de le corriger… et
votre jeu est
prêt !
Il est à noter que la
modélisation, la recherche des
textures, l’enregistrement des sons et autres peuvent se faire en
parallèle
durant toutes les étapes d’Argane.
Apports techniques et services
d’Argane :
-
Un
modèle de conception de n’importe quel
type de jeu à l’aide de classes dérivables et de
mécanismes préconçus ;
-
Possibilité
de sauvegarder n’importe
quelle entité, mécanisme ou même tout l’état
de Argane dans des fichiers
persistants ;
-
Utilisation
d’un accès direct aux entrées
utilisées par Argane pour gagner en vitesse d’exécution
puisqu’il
court-circuite la file d’attente de Windows à l’aide de Direct
Input ;
-
Un
modèle physique propre à Argane gérant
automatiquement les collisions et la mécanique du point avec
possibilité
d’implémenter plusieurs autres modèles ;
-
Un ‘renderer’
pour afficher
automatiquement tous les objets avec géométries dans
chaque scène en 3D haute
qualité (Utilisant OpenGL). Il est aussi possible de
créer votre propre
‘rendrer’ avec possibilité d’insertion du code d’affichage au
niveau objet et
au niveau scène :
o
Affichage
de géométries avec textures ;
o
Anti-crénelage
avec la technique du multi-sampling ;
o
Modification
du champ de vision et du plan de la cible (effets
cinématographiques) ;
o
Ombres
nettes avec la technique du Stencil ;
o
Lumières
vertex ;
o
Optimisation
par des pré-compilations sous forme de ‘display
lists’ ;
o
…
-
Sélection
simplifiée des objets ;
-
Dépassement
des limitations techniques
propres à chaque machine en donnant à l’utilisateur la
liberté de modéliser
tout ce qu’il veut. C’est Argane qui approche le plus possible le
modèle
imaginé :
o
Les
lumières à afficher sont sélectionnées par
ordre de priorité et
puis par la distance de la caméra.
o
L’affichage
peut varier selon le matériel OpenGL utilisé d’une
machine
à une autre…
-
Les erreurs de
détection des collisions
sont limitées et contrôlées grâce à
une résolution spatiale définit par
l’utilisateur qui indique la marge d’erreur ;
-
Toutes les
entités sont réutilisables
afin de garantir une excellente flexibilité d’Argane ;
-
Facilité
de personnalisation du mode
d’affichage avec des commandes simples ;
-
Support du
format 3DS standard pour
représentation des scènes 3D pris en charge par la
plupart des logiciels de
modélisation et d’imagerie de synthèse ;
-
Facilité
des retours en arrière grâce à
une modélisation simple et très proche de
l’implémentation ;
-
Gestion
automatique des communications
avec Windows ;
-
Argane peut
être implémenté au sein de
n’importe quelle fenêtre ou même dans plusieurs
fenêtres en simultané ;
-
Les
applications se basant sur Argane
bénéficieront de ses améliorations sans avoir
à être recompilées grâce à sa
forme DLL.
|