3/26/2017 3:54 PM
Julien Ellie Software Design Engineer XNA Microsoft Corporation Presentation/Presenter Title Slide 3/26/2017 3:54 PM Microsoft XNA Julien Ellie Software Design Engineer XNA Microsoft Corporation
Plan Introduction / Démos (Courte Pause) XNA Framework (Pause) XNA Content Pipeline
Le jeu chez Microsoft Games for Windows : 80 millions Windows Live Messenger : 16 millions MSN Games : 13 millions Xbox 360: 5+ millions Live : 2+ milliards d’heures de jeu Marketplace : 2 milliards de MS Points Live Arcade : 5+ millions de téléchargements de jeux
Industrie en croissance +50% entre 1999 et 2005 ($69 milliards a $104 milliards)
Mais... On ne peut pas continuer ainsi! Le nombre de foyers équipés stagne (36%) Plus d’argent des même personnes On ne peut pas continuer ainsi!
Le jeu, un milieu trop fermé Fermé au niveau des développeurs Pas assez de nouveaux talents, pas de formations Explosion des couts Suites à répétitions, manque de nouveautés Fermé au niveau des consommateurs Trop cher Pas assez personnalisé, produits de masse Intimidant Fermé pour la communauté Pas de moyens d’exprimer sa créativité Difficulté à trouver une audience
Qu’ont fait d’autres industries? Film et musique Ouverture dans la douleur La distribution tend à rester un monologue Vécu comme une menace Mais... Création de nouveaux genres Arrivée de sites à audience Web 2.0 = C2C, fournisseur d’audience Création de communauté eBay, Youtube, MySpace, etc.
Notre réponse : XNA XNA est une marque, pas un produit Regroupe tous les efforts de MS dans le domaine du jeu vidéo XNA : les outils et les technologies XNA : les solutions XNA : la communauté
XNA – Outils & Technologies Technos, la base DirectX, XDK, XNA Framework, Xbox Live Technos, plus haut niveau Voice, XUI, XNA Content Pipeline, etc. Outils PIX, XACT, Emulateurs, compilateur HLSL, etc. XNA Build, ARM System, etc. Objectifs : Innover, Simplifier, Unifier DirectX 10, Outils XNA, Live Anywhere
XNA - Solutions Services Formations Production Consulting, certification, aide à la compatibilité, relations avec les studios, partenariats, hardware Formations Documentation (MSDN/XDK), White Papers, exemples Production Outils intégrés et environnements complets de production, de bout en bout : Visual Studio, Team System, XNA Game Studio.
DEMO Spacewars
XNA Game Studio PRO Jeux commerciaux Base sur Visual Studio . Net, C#, autre langages possibles XNA Framework Déploiement facile PC et Xbox 360, 95% réutilisation de code
XNA Game Studio Express Commencer à ouvrir les portes! Etudiants, amateurs, indépendants Même technos que la version PRO Creator’s club pour $99 par an Xbox 360 (pas de dev kit/version spéciale) Contenu: Starter Kits, Code Source Composants Support Réductions chez nos partenaires
XNA Game Studio, la vision XNA Game Studio Express est une v1 : première étape, premiers pas Clair chemin vers les pros Fournir une audience Moyen d’exprimer sa créativité Moyen de distribuer ses créations Moyen de les rentabiliser Un effort sur le long terme et en partenariat avec une communauté
XNA : L’écosystème Communauté Partenaires technologiques Autodesk : formats de fichiers (ne pas réinventer la roue), opportunité au niveau des outils Garage Games : Torque X D’autres à venir... Partenaires formations Dizaines d’universités partenaires Utilisation de XNA GSE/ Framework
DEMO Garage Games
XNA : L’ouverture Ouvert pour les développeurs 3/26/2017 3:54 PM XNA : L’ouverture Ouvert pour les développeurs Ouverture de la console, outils plus faciles à utiliser, plus facile d’innover ou de créer rapidement Ouvert pour les utilisateurs Plus d’options, plus de jeux plus personnalisés et plus funs. Du micro jeu de 2 minutes à l’aventure de dizaines d’heures Ouvert pour la communauté… … de joueurs, de créateurs, de partenaires technologiques et de formation. Changer la culture du monologue, ouverture sur un élément culturel.
XNA : Le futur Faire partie des conversations et des interactions Développer l’écosystème Community Powered Arcade? Distribution online? Partage des revenus? Royalties? Mettre en valeur nos plateformes et nos technologies mais ne pas chercher à tout verrouiller.
Création de jeux avec XNA Framework Presentation/Presenter Title Slide 3/26/2017 3:54 PM XNA Framework Création de jeux avec XNA Framework 20
Buts - XNA Game Studio Express 3/26/2017 3:54 PM Buts - XNA Game Studio Express Développer l’écosystème Microsoft Windows Xbox 360 du commerce Faciliter le développement de jeux Etablir une communauté dynamique de créateurs Fournir des solutions pour les formations
Architecture générale 3/26/2017 3:54 PM Architecture générale Plateforme XNA Game Studio Express Basé sur C# Express pour supporter XNA Framework Rajoute la possibilité d’intégrer le contenu du jeu dans l’environnement XNA Game Studio Express XNA Framework XNA Framework Plateforme .NET pour les jeux 22
3/26/2017 3:54 PM XNA Framework XNA Framework est une plateforme .NET de développement, dédiée aux jeux, qui permet de cibler Windows et la Xbox 360. Support des systèmes Microsoft Se concentrer sur le jeu, pas la gestion du système Des APIs consistantes, faciles à utiliser, complètes
XNA Framework par couches 3/26/2017 3:54 PM XNA Framework par couches Jeux Starter Kits Code Contenu Composants Framework étendu Application Model Content Pipeline Cœur du Framework Graphics Audio Input Math Storage Plateforme XACT XINPUT XContent Direct3D Légende Fourni par XNA Utilisateur Communauté
3/26/2017 3:54 PM Framework Etendu
3/26/2017 3:54 PM Platform Framework Core Extended Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps Application Model Permet de se concentrer sur la création du jeu sans se préoccuper de la plateforme cible Démarrage rapide et facile Les premières lignes écrites sont pour le jeu Abstraction des concepts récurrents Meilleure manière de faire une game loop? Comment créer et gérer une fenêtre? Comment suivre les recommandations? Classe Game Type principal pour votre jeu Evénements Load, Update et Draw
DEMO Le jeu
3/26/2017 3:54 PM Platform Framework Core Extended Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps Application Model Créer des composants réutilisables, facilement intégrables dans votre jeu Classe GameComponent Le type de base pour les composants XNA L’auteur écrit Load, Update, et Draw Peut découvrir et interagir avec d’autres composants Game.GameComponents Géré à l’exécution par le jeu lui même Expérience de design visuelle dans l’interface VS
DEMO Composants XNA
3/26/2017 3:54 PM Cœur du Framework
Fournit les capacités de rendu bas niveau 3/26/2017 3:54 PM Platform Framework Core Extended Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps Graphismes Fournit les capacités de rendu bas niveau Construit sur Direct3D 9 Mise à jour des APIs pour suivre les recommandations .Net Effets Ressources Lock/Unlock Vertex Stream Gestion des ressources Mesh Texture Effets et shaders
3/26/2017 3:54 PM Effets en MDX 2.0
3/26/2017 3:54 PM …et ça continue!
Effets dans XNA Framework 3/26/2017 3:54 PM Effets dans XNA Framework
Effets dans XNA Framework 3/26/2017 3:54 PM Effets dans XNA Framework
Graphisme Différences avec Managed DirectX 3/26/2017 3:54 PM Platform Framework Core Extended Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps Graphisme Différences avec Managed DirectX Pipeline Programmable Pas de support pour les fixed-functions Pas de lumières, matériaux, transformations, FVF Pas de support pour les meshs D3DX Content pipeline : import de fichiers .X Content pipeline : préparation des ressources Nous fournirons un guide de migration MDX 1.1 vers XNA Fixed function vers pipeline programmable
Plus facile de gérer vos sons 3/26/2017 3:54 PM Platform Framework Core Extended Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps Audio Plus facile de gérer vos sons Création des ressources son avec l’outil XACT Ajouter des sons Gérer leurs propriétés Construire des banques de sons/musique Intégration facilitée pour les développeurs On y accède par des noms logiques Gestion des boucles, du streaming et de la mémoire Pas de gestion de buffer bas niveau
Rendre le contrôle facile. 3/26/2017 3:54 PM Platform Framework Core Extended Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps Input Rendre le contrôle facile. Mode de programmation immédiat Pas d’initialisation Pas de gestion d’état Supporte Le contrôleur Xbox 360 (XINPUT) Le clavier La souris (Windows seulement)
Facilement lire et écrire les données du jeu et les sauvegardes. 3/26/2017 3:54 PM Platform Framework Core Extended Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps Storage Facilement lire et écrire les données du jeu et les sauvegardes. StorageContainer se comporte comme un système de fichier virtuel Les fichiers sont stockés au bon endroit quel que soit la plateforme Gère tous les systèmes de stockage et les profils sur Xbox 360 Basé sur une architecture de Stream et donc System.IO
Librairie mathématique pour les jeux 3/26/2017 3:54 PM Platform Framework Core Extended Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps Math Librairie mathématique pour les jeux Vector, Matrix, Quaternion, Plane, AABB, Sphere, Ray, Frustum, Curve Orientation main droite par défaut Intégration facile Test d’intersection Aide pour le mouvement
3/26/2017 3:54 PM Création de jeux
Expérience de développement transparente 3/26/2017 3:54 PM Platform Framework Core Extended Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps Développement Xbox 360 Expérience de développement transparente Type de projet dédie pour la Xbox 360 F5 pour déployer sur la console Débogage à distance Breakpoints Watches Debug et Trace vers le PC Non Présent Edit & Continue Debug Visualizers
Prendre nos jeux et en faire les vôtres 3/26/2017 3:54 PM Platform Framework Core Extended Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps Starter Kits Prendre nos jeux et en faire les vôtres Jeu complet qui fonctionne A utiliser comme point de départ pour vos jeux Accessible par “New Project…” F5 et ça tourne Documentation et tutoriels Disponibilité 2 inclus avec XNA Game Studio Express De nouveaux régulièrement après le lancement
Starter Kits 3/26/2017 3:54 PM 44 Platform Framework Core Extended Games XACT XINPUT XContent Direct3D Graphics Audio Input Math Storage Application Model Content Pipeline Starter Kits Code Content Comps Starter Kits 44
3/26/2017 3:54 PM LA PAUSE! 45
XNA : Le Content Pipeline Presentation/Presenter Title Slide 3/26/2017 3:54 PM XNA : Le Content Pipeline 46
Créer du contenu aujourd’hui 3/26/2017 3:54 PM Créer du contenu aujourd’hui Achat ou création Apprentissage outil Orientation Echelle, noms, … format commun Trouver exportateur Utilisation Trucs à savoir Ecrire son exportateur! Textures Meshes Nouveau types de données … Création du format Créer le contenu Exporter Traiter Format Binaire Préparation et normalisation Contenu Traiter entrée/créer des objets Traitement après chargement Chargement des ressources Code Définir des propriétés pour les objets Logique Jeu Vous! Légende:
Contenu 3D dans les jeux Standard Slide without subtitle Contenu Code 3/26/2017 3:54 PM Contenu 3D dans les jeux Normalisation custom Qualité exportateurs Règles custom Limites outils Ligne commande Outils custom Tache complexe Full Data Build Formats custom Conflits Versions Créer le contenu Exporter Traiter Format Binaire Préparation et normalisation Contenu Chargement custom Traitement à l’exécution Chargement des ressources Code Plus de temps pour le jeu! Logique Jeu Vous! Légende: 48
XNA : Le Content Pipeline 3/26/2017 3:54 PM XNA : Le Content Pipeline Une plateforme extensible de traitement de contenu gérée dans Visual Studio
XNA : Le Content Pipeline Principes de Design 3/26/2017 3:54 PM XNA : Le Content Pipeline Principes de Design Liberté de choix Outils de création de contenu Moteurs de jeu Moins de travail sur l’infrastructure Plus de temps pour le développement du jeu Meilleure Intégration Code/Contenu Build unifiées pour le code et le contenu Réduire les changements de code dus aux changements de contenu
Standard Slide without subtitle 3/26/2017 3:54 PM Le contenu avec XNA Choix outils Contenu dans VS Choix des formats Règles strictes Build contenu Fortement typé Simplifiée Flexible Réutilisable Incrémentale Simple Paramétrable Spécifique à la Plateforme Créer le contenu Exporter Importer Traiter Traiter Format Binaire Format Binaire Contenu Préparation et normalisation Normalisations Fortement typé Rapide (mais gère les détails) Chargement des ressources Chargement des ressources Code Concentrez vous sur le jeu! Logique Jeu XNA Vous! Légende: 51
Rapide présentation du Content Pipeline 3/26/2017 3:54 PM Rapide présentation du Content Pipeline 52
Charge et Normalise le contenu 3/26/2017 3:54 PM Importateurs Charge et Normalise le contenu Contenu du jeu rajouté dans Visual Studio Indépendant du moteur et du jeu Formats 3D Formats 2D Formats de matériaux Formats Audio .FBX .X .DDS .BMP .JPG .PNG .TGA .FX .XAP (XACT) D’autres arrivent…
Modèle Objet (Content DOM) 3/26/2017 3:54 PM Modèle objet fortement typé du contenu Typage fort pour les données graphiques Peut sérialiser les données pour le débogage Types Géométrie Matériaux Textures Os/Poids Animation Hiérarchies
Transforme les données pour l’éxécution 3/26/2017 3:54 PM Traitement Transforme les données pour l’éxécution Spécifique à votre moteur Transforme du DOM vers vos types d’exécution Fonctions d’aide au traitement de données Code managé (… bien sur) Visual C# Express IntelliSense Refactoring Code snippets XNA fournit la base Mesh, Texture, …
Inclure complètement la compilation du contenu dans Visual Studio 3/26/2017 3:54 PM Compilation Contenu Inclure complètement la compilation du contenu dans Visual Studio Compilateur de Contenu Sérialise les données traitées au format binaire La compilation est incrémentale Fait remonter les erreurs au niveau de Visual Studio!
Charger les données facilement 3/26/2017 3:54 PM Chargement Charger les données facilement Basé sur des noms uniques Charge les données associées à une ressource Gère la durée de vie et le chargement/déchargement des ressources Exemple: ContentLoader xnaLoader = new ContentLoader(); myAsset = xnaLoader.Load<Mesh>("MyAssetName");
Etendre le Content Pipeline Aller au-delà du simple Mesh 3/26/2017 3:54 PM Etendre le Content Pipeline Aller au-delà du simple Mesh Créer vos propres traitements Données ou objets Custom Utile pour ceux qui écrivent un moteur Vous pouvez écrire votre propre importateur Vous devez alors faire votre propre normalisation 58
Chargement des ressources 3/26/2017 3:54 PM La communauté Extensible Suivre les normes Créateurs de moteurs Données Custom Inclure le contenu? Support de Type Création contenu Importer Traiter Format Binaire Normaliser Contenu Support de Type Chargement des ressources Code Logique Jeu XNA Vous! Communauté Légende: 59
Le futur… Flexibilité et extensibilité accrue 3/26/2017 3:54 PM Le futur… Flexibilité et extensibilité accrue Etendre et raffiner la normalisation “Type Safety” pour le code et le contenu Permettre un design sous forme de composants
Prochaines étapes… Ou comment communiquer avec nous 3/26/2017 3:54 PM Prochaines étapes… Ou comment communiquer avec nous Forums XNA : http://forums.microsoft.com/msdn XNA Developer Center: http://www.msdn.com/xna Blogs: Mon blog: http://blog.3deurope.com/ Blog de l’équipe: http://blogs.msdn.com/xna E-mail: xna@microsoft.com JulienE@microsoft.com Nous voulons votre avis! 61
© 2006 Microsoft Corporation. All rights reserved. 3/26/2017 3:54 PM DirectX Developer Center http://msdn.microsoft.com/directx Game Development MSDN Forums http://forums.microsoft.com/msdn Xbox 360 Central http://xds.xbox.com/ XNA Web site http://www.microsoft.com/xna © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 62