Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parDeline Mace Modifié depuis plus de 10 années
1
Developing a Multi-Platform Network Game Marie SAADEH – INF1495
2
Plan Problématique et objectif(s) du projet: Description du jeu. Ressources demandées. Difficultés et solutions. Analyse et conception: Structure dun jeu. Diagramme de classes Outils employés Support Network Valeurs ajoutées. Démonstration.
3
Problématique et objectif(s) du projet
4
Problématique et objectif(s) du projet: Description du jeu: Type de Jeu: Jeu de combat 3D Nombre de joueurs: 2 Caractéristiques: Support Network local, Développement multiplateformes (PC et XBOX 360).
5
Problématique et objectif(s) du projet: Ressources demandées. Un jeu 3D nécessite la présence des ressources suivantes: - Modèles 3D: caractères et environnement. - Animations des caractères (walk, punch…) - Framework dintégration des modèles et des animations (XNA, DarkBasic, Game Maker…). - Codage de la logique du jeu.
6
Problématique et objectif(s) du projet: Difficultés et solutions. Un jeu 3D moderne nécessite une équipe de modelling, danimations, de programmation… (50 à 70 personnes…). Solution: importer des modèles existants, et générer uniquement les animations. De plus, choisir un jeu non-complexe au niveau programmation (Combat).
7
Analyse et conception
8
Structure dun jeu. La structure générale dun jeu est la suivante: Définition des variables Chargement de ressources (modeles, images…) Initialisation (Constructeur) Boucle Update (Logique du jeu) Boucle Draw
9
Analyse et conception Diagramme de Classes
10
Analyse et conception Outils employés: 3D Studio Max 2011: Importation des modeles 3D. Génération des animations. Exportation en un format.X (compatible avec XNA). XNA Game Studio 4.0: Importation des ressources. Génération des classes et intégration des librairies. Codage et implémentation.
11
Analyse et conception Pourquoi XNA? Représente un Environment de développement riche, par intégration dans Visual Studio. Support un développement multiplatformes (PC, XBOX, Mobile…) en utilisant un code commun. Offre plusieurs fonctionnalités utiles pour le développement 3D (Cameras, Network…).
12
Analyse et conception Support Network
13
Valeurs Ajoutées
14
Support multiplateforme (PC et XBOX 360): Déploiement sur XBOX 360 en ajoutant uniquement du code relatif aux controlleurs (GamePads).
15
Développement et prototypage 1. Importation des modèles dans 3D MAX Insérer un disque de jeu XBOX 360 basé sur le moteur Unreal Engine. Créer une image ISO en utilisant le programme S360X.
16
Développement et prototypage 1. Importation des modèles dans 3D MAX
17
Développement et prototypage 1. Importation des modèles dans 3D MAX Utiliser wx360 pour extraire les «modèles comprimés en format.XXX: Choisir limage « ISO » créé par S360X Naviguer au répertoire Asset et faire export du fichier convenable.
18
Développement et prototypage 1. Importation des modèles dans 3D MAX
19
Développement et prototypage 1. Importation des modèles dans 3D MAX
20
Développement et prototypage 1. Importation des modèles dans 3D MAX Extraire le fichier sélectionné par lutilitaire umodel. Ecrire la commande suivante dans command prompt pour extraire le modèle 3D (.PSK) et les textures : umodel –export –noanim char_catwoman.xxx
21
Développement et prototypage 1. Importation des modèles dans 3D MAX Le fichier CHAR_Catwoman est créé dans le même directoire que Umodel. Le fichier CHAR_Catwoman contient deux répertoires importants : SkeletalMesh : contient le modèle PSK qui sera importé dans 3DS MAX. Texture2D : contient les textures.
22
Développement et prototypage 1. Importation des modèles dans 3D MAX Dans 3DS MAX, utiliser le « ActorX Importer » pour importer le modèle PSK Il est nécessaire dassigner le « materials path » au fichier du caractère.
23
Développement et prototypage 1. Importation des modèles dans 3D MAX
24
Développement et prototypage 1. Importation des modèles dans 3D MAX
25
Développement et prototypage 1. Importation des modèles dans 3D MAX Configurer les « textures » du caractère avant de lexporter en format.X (DirectX).
26
Développement et prototypage 1. Importation des modèles dans 3D MAX Résultat:
27
Développement et prototypage 1. Importation des modèles dans 3D MAX Architecture de lenvironnement:
28
Valeurs Ajoutées Animation des caractères dans 3D MAX
29
Valeurs Ajoutées Animation des caractères dans 3D MAX
30
Valeurs Ajoutées Animation des caractères dans 3D MAX Walking:
31
Valeurs Ajoutées Animation des caractères dans 3D MAX Punching
32
Valeurs Ajoutées Animation des caractères dans 3D MAX Kicking
33
Développement et prototypage 4. Importer les modèles dans XNA Diviser le caractère en des sous-parties (car XNA supporte au maximum 80 Bones) et les exporter en formats.X en utilisant Panda DirectX Exporter.
34
Développement et prototypage 4. Importer les modèles dans XNA
35
Développement et prototypage 4. Importer les modèles dans XNA protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); // TODO: use this.Content to load your game content here //define two fighters, catwoman and batman, and load their models Fighter catwoman = new Fighter(Content, new string[] { "catwoman/catwoman_left", "catwoman/catwoman_right" }, new string[] { "catwoman/catwoman_diff", "catwoman/catwoman_spec", "catwoman/catwoman_normhqa" }, -100); catwoman.LoadSkinnedModel(); Fighter batman = new Fighter(Content, new string[] { "batman/batman_left", "batman/batman_right", "batman/batman_cape" }, new string[] { "batman/batman_diff", "batman/batman_spec", "batman/batman_normhqa" }, 100); batman.LoadSkinnedModel(); //add catwoman and batman to the fighters table fighters = new Fighter[2]; fighters[0] = catwoman; fighters[1] = batman; }
36
Démonstration
37
Développement et prototypage 4. Importer les modèles dans XNA public void drawMesh() { foreach (SkinnedModelMesh modelMesh in skinnedModel.Meshes) { //specify the model position and rotation modelMesh.Effect.World = Matrix.Identity * Matrix.CreateRotationY((float)Math.PI * parent.rotation) * Matrix.CreateTranslation(parent.translation, 0, 0);
38
Développement et prototypage 4. Importer les modèles dans XNA public void update(GameTime gameTime) { //add the rotation value rotation += 0.01f; //update the model parts foreach (FighterMesh mesh in meshes) { mesh.update(gameTime); }
39
Démonstration Importer les modèles dans XNA
40
Développement et prototypage 5. Intégration du logique du jeu public void walkForward() { if (getAnimation("Stand")) { setAnimationLoop("walk", false, 50); } public void crouch() { if (getAnimation("Stand") || getAnimation("walk")) { setAnimation("crouch", false, 50); } public void HP() { if (getAnimation("Stand") || getAnimation("walk")) { setAnimation("hp", false, 50); }
41
Démonstration Intégration de la logique du jeu
42
Démonstration 6. Module Menu
43
Démonstration 7. Intégration du menu et Ajout de lenvironnement
44
Démonstration 8. Support Network
45
Références Umodel compatibility: http://www.gildor.org/projects/umodel/compat Umodel animation not supported: http://www.gildor.org/smf/index.php?topic=76.0s -GoingBeyond4 (without Network): http://msdn.microsoft.com/en- us/library/bb975644%28v=XNAGameStudio.31%29.aspx -GoingBeyond5 (with Network): http://msdn.microsoft.com/en- us/library/bb975645%28v=XNAGameStudio.31%29.aspx XNAnimation Library: http://xnanimation.codeplex.com/ Ue liste des jeux pour les models: http://www.gildor.org/projects/umodel/compat http://en.wikipedia.org/wiki/Mortal_Kombat_vs._DC_Universe#Characters http://en.wikipedia.org/wiki/Game_engine http://xnaresources.com/ http://xnaresources.com/default.asp?page=TUTORIALS http://www.packtpub.com/3d-graphics-with-xna-game-studio-4- 0/book?utm_source=xnaresources.com&utm_medium=link&utm_content=blog&utm_cam paign=mdb_006268 http://www.xnadevelopment.com/tutorials.shtml http://www.packtpub.com/sites/default/files/0041-chapter-7-environmental- effects.pdf?utm_source=packtpub&utm_medium=free&utm_campaign=pdf - environmental-effects http://www.xnadevelopment.com/tutorials.shtml
46
Merci pour votre attention
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.