Sérgio cavalcante xna game programming no microsoft windows phone
Microsoft XNA Julien Ellie Software Design Engineer XNA Microsoft Corporation Presentation/Presenter...
-
Upload
jeunesse-pommier -
Category
Documents
-
view
135 -
download
1
Transcript of Microsoft XNA Julien Ellie Software Design Engineer XNA Microsoft Corporation Presentation/Presenter...
Microsoft XNAMicrosoft XNA
Julien EllieJulien EllieSoftware Design EngineerSoftware Design EngineerXNAXNAMicrosoft CorporationMicrosoft Corporation
Presentation/Presenter Title Slide
PlanPlan
Introduction / DémosIntroduction / Démos
(Courte Pause)(Courte Pause)
XNA FrameworkXNA Framework
(Pause)(Pause)
XNA Content PipelineXNA Content Pipeline
Le jeu chez MicrosoftLe jeu chez Microsoft
Games for Windows : 80 millionsGames for Windows : 80 millions
Windows Live Messenger : 16 millionsWindows Live Messenger : 16 millions
MSN Games : 13 millionsMSN Games : 13 millions
Xbox 360:Xbox 360:5+ millions5+ millions
Live : 2+ milliards d’heures de jeuLive : 2+ milliards d’heures de jeu
Marketplace : 2 milliards de MS PointsMarketplace : 2 milliards de MS Points
Live Arcade : 5+ millions de Live Arcade : 5+ millions de téléchargements de jeuxtéléchargements de jeux
Industrie en croissanceIndustrie en croissance
0
20
40
60
80
100
120
1999 2005
Revenus
+50% entre 1999 et 2005 +50% entre 1999 et 2005 ($69 milliards a $104 milliards)($69 milliards a $104 milliards)
Mais...Mais...
Le nombre de foyers équipés stagne (36%)Le nombre de foyers équipés stagne (36%)
Plus d’argent des même personnesPlus d’argent des même personnes
On ne peut pas continuer ainsi!
0
5
10
15
20
25
30
35
40
1999 2005
% foyers
Le jeu, un milieu trop ferméLe jeu, un milieu trop fermé
Fermé au niveau des développeursFermé au niveau des développeursPas assez de nouveaux talents, pas de formationsPas assez de nouveaux talents, pas de formations
Explosion des coutsExplosion des couts
Suites à répétitions, manque de nouveautésSuites à répétitions, manque de nouveautés
Fermé au niveau des consommateursFermé au niveau des consommateursTrop cherTrop cher
Pas assez personnalisé, produits de massePas assez personnalisé, produits de masse
IntimidantIntimidant
Fermé pour la communautéFermé pour la communautéPas de moyens d’exprimer sa créativitéPas de moyens d’exprimer sa créativité
Difficulté à trouver une audienceDifficulté à trouver une audience
Qu’ont fait d’autres Qu’ont fait d’autres industries?industries?Film et musique Film et musique
Ouverture dans la douleurOuverture dans la douleur
La distribution tend à rester un monologueLa distribution tend à rester un monologue
Vécu comme une menaceVécu comme une menace
Mais... Création de nouveaux genresMais... Création de nouveaux genres
Arrivée de sites à audienceArrivée de sites à audienceWeb 2.0 = C2C, fournisseur d’audienceWeb 2.0 = C2C, fournisseur d’audience
Création de communautéCréation de communauté
eBay, Youtube, MySpace, etc.eBay, Youtube, MySpace, etc.
Notre réponse : XNANotre réponse : XNA
XNA est une marque, pas un produitXNA est une marque, pas un produit
Regroupe tous les efforts de MS dans Regroupe tous les efforts de MS dans le domaine du jeu vidéole domaine du jeu vidéo
XNA : les outils et les technologiesXNA : les outils et les technologies
XNA : les solutionsXNA : les solutions
XNA : la communautéXNA : la communauté
XNA – Outils & TechnologiesXNA – Outils & Technologies
Technos, la baseTechnos, la baseDirectX, XDK, XNA Framework, Xbox LiveDirectX, XDK, XNA Framework, Xbox Live
Technos, plus haut niveauTechnos, plus haut niveauVoice, XUI, XNA Content Pipeline, etc.Voice, XUI, XNA Content Pipeline, etc.
OutilsOutilsPIX, XACT, Emulateurs, compilateur HLSL, etc.PIX, XACT, Emulateurs, compilateur HLSL, etc.
XNA Build, ARM System, etc.XNA Build, ARM System, etc.
Objectifs : Innover, Simplifier, UnifierObjectifs : Innover, Simplifier, UnifierDirectX 10, Outils XNA, Live AnywhereDirectX 10, Outils XNA, Live Anywhere
XNA - SolutionsXNA - Solutions
ServicesServicesConsulting, certification, aide à la Consulting, certification, aide à la compatibilité, relations avec les studios, compatibilité, relations avec les studios, partenariats, hardwarepartenariats, hardware
FormationsFormationsDocumentation (MSDN/XDK), White Papers, Documentation (MSDN/XDK), White Papers, exemplesexemples
ProductionProductionOutils intégrés et environnements complets Outils intégrés et environnements complets de production, de bout en bout : Visual de production, de bout en bout : Visual Studio, Team System, XNA Game Studio. Studio, Team System, XNA Game Studio.
DEMOSpacewars
XNA Game Studio PROXNA Game Studio PRO
Jeux commerciauxJeux commerciaux
Base sur Visual StudioBase sur Visual Studio
.. Net, C#, autre Net, C#, autre langages possibleslangages possibles
XNA FrameworkXNA FrameworkDéploiement facileDéploiement facile
PC et Xbox 360, 95% réutilisation de codePC et Xbox 360, 95% réutilisation de code
XNA Game Studio ExpressXNA Game Studio Express
Commencer à ouvrir les portes!Commencer à ouvrir les portes!Etudiants, amateurs, indépendantsEtudiants, amateurs, indépendants
Même technos que la version PROMême technos que la version PRO
Creator’s club pour $99 par anCreator’s club pour $99 par anXbox 360 (pas de dev kit/version spéciale)Xbox 360 (pas de dev kit/version spéciale)
Contenu: Starter Kits, Code SourceContenu: Starter Kits, Code Source
ComposantsComposants
SupportSupport
Réductions chez nos partenairesRéductions chez nos partenaires
XNA Game Studio, la visionXNA Game Studio, la vision
XNA Game Studio Express est une v1 : XNA Game Studio Express est une v1 : première étape, premiers paspremière étape, premiers pas
Clair chemin vers les prosClair chemin vers les pros
Fournir une audienceFournir une audienceMoyen d’exprimer sa créativitéMoyen d’exprimer sa créativité
Moyen de distribuer ses créations Moyen de distribuer ses créations
Moyen de les rentabiliserMoyen de les rentabiliser
Un effort sur le long terme et en Un effort sur le long terme et en partenariat avec une communautépartenariat avec une communauté
XNA : L’écosystèmeXNA : L’écosystème
CommunautéCommunauté
Partenaires technologiquesPartenaires technologiquesAutodesk : formats de fichiers (ne pas Autodesk : formats de fichiers (ne pas réinventer la roue), opportunité au niveau réinventer la roue), opportunité au niveau des outilsdes outils
Garage Games : Torque XGarage Games : Torque X
D’autres à venir...D’autres à venir...
Partenaires formationsPartenaires formationsDizaines d’universités partenairesDizaines d’universités partenaires
Utilisation de XNA GSE/ FrameworkUtilisation de XNA GSE/ Framework
DEMOGarage Games
XNA : L’ouvertureXNA : L’ouverture
Ouvert pour les développeursOuvert pour les développeursOuverture de la console, outils plus faciles à Ouverture de la console, outils plus faciles à utiliser, plus facile d’innover ou de créer utiliser, plus facile d’innover ou de créer rapidementrapidement
Ouvert pour les utilisateursOuvert pour les utilisateursPlus d’options, plus de jeux plus personnalisés Plus d’options, plus de jeux plus personnalisés et plus funs. Du micro jeu de 2 minutes à et plus funs. Du micro jeu de 2 minutes à l’aventure de dizaines d’heuresl’aventure de dizaines d’heures
Ouvert pour la communauté…Ouvert pour la communauté…… … de joueurs, de créateurs, de partenaires de joueurs, de créateurs, de partenaires technologiques et de formation. Changer la technologiques et de formation. Changer la culture du monologue, ouverture sur un culture du monologue, ouverture sur un élément culturel.élément culturel.
XNA : Le futurXNA : Le futur
Faire partie des conversations et des Faire partie des conversations et des interactionsinteractions
Développer l’écosystèmeDévelopper l’écosystèmeCommunity Powered Arcade?Community Powered Arcade?
Distribution online?Distribution online?
Partage des revenus? Royalties?Partage des revenus? Royalties?
Mettre en valeur nos plateformes et Mettre en valeur nos plateformes et nos technologies mais ne pas nos technologies mais ne pas chercher à tout verrouiller. chercher à tout verrouiller.
XNA FrameworkXNA Framework
Création de jeux avec XNA FrameworkCréation de jeux avec XNA Framework
Presentation/Presenter Title Slide
Buts - XNA Game Studio Buts - XNA Game Studio ExpressExpress
Développer l’écosystème MicrosoftDévelopper l’écosystème MicrosoftWindowsWindows
Xbox 360 du commerceXbox 360 du commerce
Faciliter le développement de jeuxFaciliter le développement de jeux
Etablir une communauté dynamique Etablir une communauté dynamique de créateursde créateurs
Fournir des solutions pour les Fournir des solutions pour les formationsformations
Architecture généraleArchitecture générale
XNA FrameworkXNA Framework
Plateforme .NET pour les Plateforme .NET pour les jeuxjeux
XNA Game Studio XNA Game Studio ExpressExpress
XNA FrameworkXNA Framework
XNA Game Studio ExpressXNA Game Studio Express
Basé sur C# Express pour Basé sur C# Express pour supporter XNA supporter XNA FrameworkFramework
Rajoute la possibilité Rajoute la possibilité d’intégrer le contenu du d’intégrer le contenu du jeu dans l’environnementjeu dans l’environnement
PlateformePlateforme
XNA FrameworkXNA Framework
XNA Framework est une XNA Framework est une plateforme .NET de développement, plateforme .NET de développement, dédiée aux jeux, qui permet de cibler dédiée aux jeux, qui permet de cibler
Windows et la Xbox 360.Windows et la Xbox 360.
Support des systèmes Microsoft Support des systèmes Microsoft
Se concentrer sur le jeu, pas la Se concentrer sur le jeu, pas la gestion du système gestion du système
Des APIs consistantes, faciles à Des APIs consistantes, faciles à utiliser, complètesutiliser, complètes
XNA Framework par couchesXNA Framework par couches
PlateformePlateforme
Cœur duCœur duFrameworkFramework
FrameworkFrameworkétenduétendu
JeuxJeux
XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D
GraphicsGraphics AudioAudio InputInput MathMath StorageStorage
Application ModelApplication Model Content PipelineContent Pipeline
Starter KitsStarter Kits CodeCode ContenuContenu ComposanComposantsts
Légende
Fourni par XNAFourni par XNA UtilisateurUtilisateur CommunautéCommunauté
Framework EtenduFramework Etendu
Application ModelApplication Model
Permet de se concentrer sur la création du Permet de se concentrer sur la création du jeu sans se préoccuper de la plateforme jeu sans se préoccuper de la plateforme
ciblecible
Démarrage rapide et facileDémarrage rapide et facileLes premières lignes écrites sont pour le jeuLes premières lignes écrites sont pour le jeu
Abstraction des concepts récurrentsAbstraction des concepts récurrentsMeilleure manière de faire une game loop? Meilleure manière de faire une game loop?
Comment créer et gérer une fenêtre?Comment créer et gérer une fenêtre?
Comment suivre les recommandations?Comment suivre les recommandations?
Classe GameClasse GameType principal pour votre jeuType principal pour votre jeu
Evénements Load, Update et DrawEvénements Load, Update et Draw
PlatformPlatform
CoreCoreFrameworkFramework
ExtendedExtendedFrameworkFramework
GamesGames
XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D
GraphicsGraphics AudioAudio InputInput MathMath StorageStorage
Application ModelApplication Model Content PipelineContent Pipeline
Starter KitsStarter Kits CodeCode ConteContenntt
Comps
DEMOLe jeu
Application ModelApplication Model
Créer des composants réutilisables, Créer des composants réutilisables, facilement intégrables dans votre facilement intégrables dans votre
jeujeu
Classe GameComponentClasse GameComponentLe type de base pour les composants XNALe type de base pour les composants XNA
L’auteur écrit Load, Update, et DrawL’auteur écrit Load, Update, et Draw
Peut découvrir et interagir avec d’autres Peut découvrir et interagir avec d’autres composantscomposants
Game.GameComponentsGame.GameComponentsGéré à l’exécution par le jeu lui mêmeGéré à l’exécution par le jeu lui même
Expérience de design visuelle dans l’interface Expérience de design visuelle dans l’interface VSVS
PlatformPlatform
CoreCoreFrameworkFramework
ExtendedExtendedFrameworkFramework
GamesGames
XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D
GraphicsGraphics AudioAudio InputInput MathMath StorageStorage
Application ModelApplication Model Content PipelineContent Pipeline
Starter KitsStarter Kits CodeCode ConteContenntt
Comps
DEMOComposants XNA
Cœur du FrameworkCœur du Framework
GraphismesGraphismes
Fournit les capacités de rendu bas Fournit les capacités de rendu bas niveauniveau
Construit sur Direct3D 9Construit sur Direct3D 9Mise à jour des APIs pour suivre les Mise à jour des APIs pour suivre les recommandations .Netrecommandations .Net
EffetsEffetsRessourcesRessourcesLock/UnlockLock/UnlockVertex StreamVertex Stream
Gestion des ressourcesGestion des ressourcesMesh Mesh TextureTextureEffets et shadersEffets et shaders
PlatformPlatform
CoreCoreFrameworkFramework
ExtendedExtendedFrameworkFramework
GamesGames
XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D
GraphicsGraphics AudioAudio InputInput MathMath StorageStorage
Application ModelApplication Model Content PipelineContent Pipeline
Starter KitsStarter Kits CodeCode ConteContenntt
Comps
Effets en MDX 2.0Effets en MDX 2.0
……et ça continue!et ça continue!
Effets dans XNA FrameworkEffets dans XNA Framework
Effets dans XNA FrameworkEffets dans XNA Framework
GraphismeGraphismeDifférences avec Managed DirectXDifférences avec Managed DirectX
Pipeline ProgrammablePipeline ProgrammablePas de support pour les fixed-functionsPas de support pour les fixed-functions
Pas de lumières, matériaux, transformations, Pas de lumières, matériaux, transformations, FVFFVF
Pas de support pour les meshs D3DXPas de support pour les meshs D3DXContent pipeline : import de fichiers .XContent pipeline : import de fichiers .X
Content pipeline : préparation des ressourcesContent pipeline : préparation des ressources
Nous fournirons un guide de migrationNous fournirons un guide de migrationMDX 1.1 vers XNAMDX 1.1 vers XNA
Fixed function vers pipeline programmableFixed function vers pipeline programmable
PlatformPlatform
CoreCoreFrameworkFramework
ExtendedExtendedFrameworkFramework
GamesGames
XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D
GraphicsGraphics AudioAudio InputInput MathMath StorageStorage
Application ModelApplication Model Content PipelineContent Pipeline
Starter KitsStarter Kits CodeCode ConteContenntt
Comps
AudioAudio
Plus facile de gérer vos sonsPlus facile de gérer vos sons
Création des ressources son avec l’outil Création des ressources son avec l’outil XACTXACT
Ajouter des sonsAjouter des sons
Gérer leurs propriétésGérer leurs propriétés
Construire des banques de sons/musiqueConstruire des banques de sons/musique
Intégration facilitée pour les développeursIntégration facilitée pour les développeursOn y accède par des noms logiquesOn y accède par des noms logiques
Gestion des boucles, du streaming et de la Gestion des boucles, du streaming et de la mémoiremémoire
Pas de gestion de buffer bas niveauPas de gestion de buffer bas niveau
PlatformPlatform
CoreCoreFrameworkFramework
ExtendedExtendedFrameworkFramework
GamesGames
XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D
GraphicsGraphics AudioAudio InputInput MathMath StorageStorage
Application ModelApplication Model Content PipelineContent Pipeline
Starter KitsStarter Kits CodeCode ConteContenntt
Comps
InputInput
Rendre le contrôle facile.Rendre le contrôle facile.
Mode de programmation immédiatMode de programmation immédiatPas d’initialisationPas d’initialisation
Pas de gestion d’étatPas de gestion d’état
SupporteSupporteLe contrôleur Xbox 360 (XINPUT)Le contrôleur Xbox 360 (XINPUT)
Le clavierLe clavier
La souris (Windows seulement)La souris (Windows seulement)
PlatformPlatform
CoreCoreFrameworkFramework
ExtendedExtendedFrameworkFramework
GamesGames
XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D
GraphicsGraphics AudioAudio InputInput MathMath StorageStorage
Application ModelApplication Model Content PipelineContent Pipeline
Starter KitsStarter Kits CodeCode ConteContenntt
Comps
StorageStorage
Facilement lire et écrire les données du Facilement lire et écrire les données du jeu et les sauvegardes.jeu et les sauvegardes.
StorageContainer se comporte comme un StorageContainer se comporte comme un système de fichier virtuelsystème de fichier virtuel
Les fichiers sont stockés au bon endroit quel que Les fichiers sont stockés au bon endroit quel que soit la plateformesoit la plateforme
Gère tous les systèmes de stockage et les profils Gère tous les systèmes de stockage et les profils sur Xbox 360sur Xbox 360
Basé sur une architecture de Stream et Basé sur une architecture de Stream et donc System.IOdonc System.IO
PlatformPlatform
CoreCoreFrameworkFramework
ExtendedExtendedFrameworkFramework
GamesGames
XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D
GraphicsGraphics AudioAudio InputInput MathMath StorageStorage
Application ModelApplication Model Content PipelineContent Pipeline
Starter KitsStarter Kits CodeCode ConteContenntt
Comps
MathMath
Librairie mathématique pour les jeuxLibrairie mathématique pour les jeux
Vector, Matrix, Quaternion, Plane, AABB, Vector, Matrix, Quaternion, Plane, AABB, Sphere, Ray, Frustum, CurveSphere, Ray, Frustum, Curve
Orientation main droite par défautOrientation main droite par défaut
Intégration facileIntégration facile
Test d’intersectionTest d’intersection
Aide pour le mouvementAide pour le mouvement
PlatformPlatform
CoreCoreFrameworkFramework
ExtendedExtendedFrameworkFramework
GamesGames
XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D
GraphicsGraphics AudioAudio InputInput MathMath StorageStorage
Application ModelApplication Model Content PipelineContent Pipeline
Starter KitsStarter Kits CodeCode ConteContenntt
Comps
Création de jeuxCréation de jeux
Développement Xbox 360Développement Xbox 360
Expérience de développement Expérience de développement transparentetransparente
Type de projet dédie pour la Xbox 360Type de projet dédie pour la Xbox 360
F5 pour déployer sur la console F5 pour déployer sur la console
Débogage à distanceDébogage à distanceBreakpointsBreakpoints
WatchesWatches
Debug et Trace vers le PCDebug et Trace vers le PC
Non Présent Non Présent Edit & ContinueEdit & Continue
Debug VisualizersDebug Visualizers
PlatformPlatform
CoreCoreFrameworkFramework
ExtendedExtendedFrameworkFramework
GamesGames
XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D
GraphicsGraphics AudioAudio InputInput MathMath StorageStorage
Application ModelApplication Model Content PipelineContent Pipeline
Starter KitsStarter Kits CodeCode ConteContenntt
Comps
Starter KitsStarter Kits
Prendre nos jeux et en faire les vôtresPrendre nos jeux et en faire les vôtres
Jeu complet qui fonctionneJeu complet qui fonctionneA utiliser comme point de départ pour vos jeuxA utiliser comme point de départ pour vos jeux
Accessible par “New Project…”Accessible par “New Project…”
F5 et ça tourneF5 et ça tourne
Documentation et tutorielsDocumentation et tutoriels
DisponibilitéDisponibilité2 inclus avec XNA Game Studio Express2 inclus avec XNA Game Studio Express
De nouveaux régulièrement après le lancementDe nouveaux régulièrement après le lancement
PlatformPlatform
CoreCoreFrameworkFramework
ExtendedExtendedFrameworkFramework
GamesGames
XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D
GraphicsGraphics AudioAudio InputInput MathMath StorageStorage
Application ModelApplication Model Content PipelineContent Pipeline
Starter KitsStarter Kits CodeCode ConteContenntt
Comps
Starter KitsStarter Kits
PlatformPlatform
CoreCoreFrameworkFramework
ExtendedExtendedFrameworkFramework
GamesGames
XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D
GraphicsGraphics AudioAudio InputInput MathMath StorageStorage
Application ModelApplication Model Content PipelineContent Pipeline
Starter KitsStarter Kits CodeCode ConteContenntt
Comps
LA PAUSE!LA PAUSE!
XNA : Le Content XNA : Le Content PipelinePipeline
Presentation/Presenter Title Slide
Créer du contenu aujourd’huiCréer du contenu aujourd’hui
• Textures• Meshes• Nouveau types de données• …
• Définir des propriétés pour les objets
• Traiter entrée/créer des objets• Traitement après chargement
• Création du format
• format commun• Trouver exportateur• Utilisation• Trucs à savoir• Ecrire son exportateur!
• Achat ou création• Apprentissage outil• Orientation • Echelle, noms, …
Con
tenu Créer le contenu
Préparation et normalisation
Traiter Format Binaire
Chargement des
ressources
Logique JeuCod
e
Exporter
Vous!Légende:
• Plus de temps pour le jeu!
• Chargement custom• Traitement à l’exécution
• Formats custom• Conflits Versions
• Ligne commande• Outils custom• Tache complexe• Full Data Build
Contenu 3D dans les jeuxContenu 3D dans les jeux
Standard Slide without subtitle
Con
tenu
• Normalisation custom
Créer le contenu
Préparation et normalisation
Traiter Format Binaire
Chargement des
ressources
Logique JeuCod
e
• Qualité exportateurs• Règles custom• Limites outils
Exporter
Vous!Légende:
XNA : Le Content PipelineXNA : Le Content Pipeline
Une plateforme extensible de Une plateforme extensible de traitement de contenu gérée dans traitement de contenu gérée dans
Visual StudioVisual Studio
XNA : Le Content PipelineXNA : Le Content PipelinePrincipes de DesignPrincipes de Design
Liberté de choixLiberté de choixOutils de création de contenuOutils de création de contenu
Moteurs de jeu Moteurs de jeu
Moins de travail sur l’infrastructureMoins de travail sur l’infrastructurePlus de temps pour le développement du jeu Plus de temps pour le développement du jeu
Meilleure Intégration Code/ContenuMeilleure Intégration Code/ContenuBuild unifiées pour le code et le contenuBuild unifiées pour le code et le contenu
Réduire les changements de code dus aux Réduire les changements de code dus aux changements de contenuchangements de contenu
• Simple• Paramétrable• Spécifique à la Plateforme
• Build contenu• Fortement typé• Simplifiée• Flexible• Réutilisable• Incrémentale
• Fortement typé• Rapide (mais gère les détails)
Format Binaire
Traiter
Chargement des
ressources
• Contenu dans VS• Choix des formats• Règles strictes
ImporterExporter
• Concentrez vous sur le jeu!
• Choix outils
Le contenu avec XNALe contenu avec XNA
Standard Slide without subtitle
Con
tenu Créer le contenu
Préparation et normalisation
Traiter Format Binaire
Chargement des
ressources
Logique JeuCod
e
Normalisations
XNA Vous!Légende:
Rapide Rapide présentation du présentation du Content PipelineContent Pipeline
Formats 3D
Formats 2D
Formats de matériaux
Formats Audio
.FBX.X
.DDS .BMP .JPG .P
NG .TGA
.FX .XAP (XACT)
ImportateursImportateurs
Charge et Normalise le contenuCharge et Normalise le contenu
Contenu du jeu rajouté dans Visual StudioContenu du jeu rajouté dans Visual Studio
Indépendant du moteur et du jeuIndépendant du moteur et du jeu
D’autres arrivent…D’autres arrivent…
Modèle ObjetModèle Objet(Content DOM)(Content DOM)
Modèle objet fortement typé du contenuModèle objet fortement typé du contenu
Typage fort pour les données graphiquesTypage fort pour les données graphiquesPeut sérialiser les données pour le débogagePeut sérialiser les données pour le débogage
TypesTypesGéométrieGéométrie
MatériauxMatériaux
TexturesTextures
Os/PoidsOs/Poids
AnimationAnimation
Hiérarchies Hiérarchies
TraitementTraitement
Transforme les données pour Transforme les données pour l’éxécutionl’éxécution
Spécifique à votre moteurSpécifique à votre moteur
Transforme du DOM vers vos types d’exécutionTransforme du DOM vers vos types d’exécution
Fonctions d’aide au traitement de donnéesFonctions d’aide au traitement de données
Code managé (… bien sur)Code managé (… bien sur)
Visual C# ExpressVisual C# ExpressIntelliSenseIntelliSense
RefactoringRefactoring
Code snippets Code snippets
XNA fournit la baseXNA fournit la baseMesh, Texture, …Mesh, Texture, …
Compilation ContenuCompilation Contenu
Inclure complètement la compilation du Inclure complètement la compilation du contenu dans Visual Studiocontenu dans Visual Studio
Compilateur de ContenuCompilateur de ContenuSérialise les données traitées au format binaireSérialise les données traitées au format binaire
La compilation est incrémentaleLa compilation est incrémentale
Fait remonter les erreurs au niveau de Visual Fait remonter les erreurs au niveau de Visual Studio!Studio!
ChargementChargement
Charger les données facilementCharger les données facilement
Basé sur des noms uniquesBasé sur des noms uniques
Charge les données associées à une ressourceCharge les données associées à une ressource
Gère la durée de vie et le Gère la durée de vie et le chargement/déchargement des ressources chargement/déchargement des ressources
ContentLoader xnaLoader = new ContentLoader(); myAsset = xnaLoader.Load<Mesh>("MyAssetName");
Exemple:
Etendre le Content PipelineEtendre le Content PipelineAller au-delà du simple MeshAller au-delà du simple Mesh
Créer vos propres traitements Créer vos propres traitements Données ou objets CustomDonnées ou objets Custom
Utile pour ceux qui écrivent un moteurUtile pour ceux qui écrivent un moteur
Vous pouvez écrire votre propre Vous pouvez écrire votre propre importateurimportateur
Vous devez alors faire votre propre Vous devez alors faire votre propre normalisationnormalisation
• Extensible• Suivre les normes
• Support de Type
• Créateurs de moteurs• Données Custom• Inclure le contenu?
• Support de Type
Format Binaire
Traiter
La communautéLa communautéC
on
tenu Création contenu Importer
Logique JeuCod
e
Normaliser
Chargement des
ressources
XNAVous! CommunautéLégende:
Le futur…Le futur…
Flexibilité et extensibilité accrueFlexibilité et extensibilité accrue
Etendre et raffiner la normalisationEtendre et raffiner la normalisation
““Type Safety” pour le code et le Type Safety” pour le code et le contenucontenu
Permettre un design sous forme de Permettre un design sous forme de composantscomposants
Prochaines étapes…Prochaines étapes…Ou comment communiquer avec nousOu comment communiquer avec nous
Forums XNA :Forums XNA :http://forums.microsoft.com/msdnhttp://forums.microsoft.com/msdn
XNA Developer Center:XNA Developer Center:http://www.msdn.com/xnahttp://www.msdn.com/xna
Blogs:Blogs: Mon blog: Mon blog: http://blog.3deurope.com/http://blog.3deurope.com/
Blog de l’équipe: Blog de l’équipe: http://blogs.msdn.com/xnahttp://blogs.msdn.com/xna
E-mail: E-mail: [email protected]@microsoft.com
[email protected]@microsoft.com
Nous voulons votre avis!Nous voulons votre avis!
© 2006 © 2006 MicrosoftMicrosoft Corporation. All rights reserved. Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
DirectX Developer CenterDirectX Developer Centerhttp://msdn.microsoft.com/directxhttp://msdn.microsoft.com/directx
Game Development MSDN ForumsGame Development MSDN Forumshttp://forums.microsoft.com/msdnhttp://forums.microsoft.com/msdn
Xbox 360 CentralXbox 360 Centralhttp://xds.xbox.com/http://xds.xbox.com/
XNA Web siteXNA Web sitehttp://www.microsoft.com/xnahttp://www.microsoft.com/xna