19 févr. 2011

Utilité d'un moteur de jeu

Pour être efficace en développement de jeu, on doit se concentrer sur un aspect à la fois. D’où la naissance de divers moteurs de jeux qui encapsulent plusieurs traitement et laisse le développeur se concentrer uniquement sur la logique du jeu ou sur l’interface graphique. 

Les moteurs de jeu les plus connus sont Ogre, Irrlicht, Panda3D, Blender, Cafu engine, LWJGL, JMonkeyEngine, Crystal Space. Mais la plupart ne sont que des moteurs graphiques.

Description d'un moteur de jeu 
Un moteur de jeu est un ensemble de composants logiciels qui effectuent des calculs de géométrie et de physique utilisés dans les jeux vidéo. L'ensemble forme un simulateur en temps réel souple qui reproduit les caractéristiques des mondes imaginaires dans lesquels se déroulent les jeux. Le but visé par un moteur de jeu est de permettre à une équipe de développement de se concentrer sur le contenu et le déroulement du jeu plutôt que la résolution de problèmes informatiques.
Le moteur de jeu produit donc les technologies bas niveau pour 
-        L’interface graphique
-        Le moteur physique
-        L’audio
-        Le Scripting
-        Les animations
-        L’intelligence artificielle
-        Le réseau
Le moteur de jeu simplifie la procédure de développement et doit être adapté à plusieurs plateformes.

Pourquoi utiliser un moteur de jeu ?
L'utilisation d'un moteur peut être particulièrement utile si par exemple vous désirez développer vous-même certains aspects de votre jeu, mais ne souhaitez pas galérer dans les domaines que vous ne maîtrisez pas.
-        Moins de temps de développement
-        Moins de test de débogage
-        Plusieurs fonctionnalités directement disponibles
-        Concentration sur le design du jeu
Pourquoi ne pas utiliser un moteur de jeu ?
-        Aucun contrôle de l’implémentation des fonctionnalités
-        Addition difficile de fonctionnalités qui ne sont pas personnalisables
-        Dépendance d’autres librairies


L'architecture
Finalement l’architecture d’un jeu contiendra de plusieurs modules plus ou moins indépendants. L’objectif étant de rendre possibles l’exécution des différents modules en parallèle sans que cela n’entraine des effets de bords dans les autres modules.



12 févr. 2011

Jeux de dames 2

Voici un jeu de dames créé avec la bibliothèque Swing en Java.

L'algorithme utilisée pour la stratégie est bien évidemment Mini-max améliorée avec Apha-bêta.
L'intérête du jeu résite dans sa capacité à prévoir jusqu'au huits prochains coups de l'adversaire et qui devient par la suite la raison d'avoir sept niveaux de difficultés.
En termes de rapidité la fonction d'évaluation a été intégrée dans la classe Coeur afin de ne pas réévaluer à chaque situation à partir de zéro.
Téléchargements

17 déc. 2010

Ce qu'il faut pour développer des jeux vidéos

Voilà, je m'intéresse au plus haut point au développement des jeux vidéos. Actuellment je suis développeur de logiciels Web et BD.

Le langage C++

J'avais commencé à developper des jeux en 2006 avec le langage Pascal.
Après je me suis orienté vers le langage Visual Bascic qui est un outil impressionnant mais souvent consomme plus de ressources qu'il faut.
Finalement j'ai développé des jeux avec le langage C et C++ ceux ci ont apporté un nouveau souffle avec l'utilisation de la bibliothèque SDL.
C++ est excelent, rien à dire si ce n'est que c'est un des langages les plus compliqués et que le débuguage est parfois difficile. C'est le plus rapide des langages avec lesquels j'ai eu à faire.
Java est un langage orienté objet pur et très rigoureux avec des éditeurs comme Eclipse. Mais la machine virtuelle est très lente à se charger. Il est nettement plus lente que C.
La bibliothèque SDL peut être utilisée sous Java avec la technique de Binding.

L'algorithmique

En fait, pour développer des jeux il faut de grosses bases en algorithmique mais aussi en Mathématiques car l'intérêt d'un jeu vidéo c'est que l'on réinvente parfois la roue.
C'est pas comme une application de gestion où l'on crée des forms avec zones de texte et pushbuttons et un SGBD derrière comme Oracle ou SQL-Server et que l'on obtienne la somme des factures par SQL (SELECT SUM (MONTANT) from Clients).
Non un jeu vidéo c'est plus que cela: il faut implémenter les règles du jeu manuellement, un éditeur de niveau et modeleur est parfois nécessaire.

10 déc. 2010

Mario Sokoban


La librairie SDL a été développée initialement sur le langage C++. Mais elle a aussi été adapté par certains programmeurs de Java afin de faire ce qu'on appelle le Binding. Ce jeu est un premier essai de la librairie SDL C++ pour le Mario sokoban.
Téléchargements

31 oct. 2010

Gondor III

Un duel de cartes à deux joueurs réalisé avec Java et la librairie SDL.

Le jeu en elle-même a quelque chose de mystérieux. en effet l’environnement du jeu provoque assez la peur. Il a été joué au fil des années avec des cartes dessinées à la main. En juin 2008, j’ai élaboré la première version du jeu fabriqué avec Visual Basic 5. Les images étaient totalement prises du jeu Warcraft III. La dernière version sur VB est Gondor 3.4. J’avais trouvé comment insérer des gifs animés dans mon programme mais cela était fragile et ne suffisait pas car je devais capturer plusieurs images. Elles prenaient beaucoup d’espace et donc lourdes à manipuler. Le plus grand problème c’est que je ne pouvais pas synchroniser les images des personnages avec leurs voix !
Aujourd’hui, Gondor est un super jeu vidéo 2D avec des animations synchronisées et jouable en réseau grâce à la librairie SDLJava.

Téléchargements