Tahsin Rossanaly - IR3. Plan de la présentation ● Présentation de XNA ● Architecture et fonctionnement de XNA ● Éléments d'architecture d'un jeu ● Interaction.

Slides:



Advertisements
Présentations similaires
2 Xna ? 3 XNA : une ouverture 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.
Advertisements

Projet de fin d'étude pour l'obtention du Diplôme Nationale d'Ingénieur en Informatique Conception et développement des modules de GED pour l’ indexation.
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
1 Après 3 séances ● Utilisation du système Linux – Il faut maîtriser l'utilisation de la souris (« copy/paste » des textes donnés) – Utilisation de la.
Ghost (Création d'image Système)‏ C.R.I.P.T Informatique (BOYER Jérôme)‏
Les sauvegardes Pourquoi sauvegarder ? Que sauvegarder ? Quand sauvegarder ? Ou sauvegarder ? Et comment ?
Projet tuteuré 2009 Les clients légers Alexandre Cédric Joël Benjamin.
Vénuti Eric, Professeur documentaliste stagiaire, Février 2014.
SITC 10 rue de la libération Bâtiment C Neuilly-sur-Marne Processus création et envoi de newsletter changement du mot de passe.
1 Après 5 séances ● Utilisation du système Linux – Il faut maîtriser l'utilisation de la souris (« copy/paste » des textes donnés) – Utilisation de la.
Chainedit Journées Réseaux 2009 Frédéric Hannouche - CIRM.
Tableau Numérique Interactif Quels usages du TNI dans sa pratique de classe et pourquoi ? Prise en main des différentes fonctionnalités et applications.
- Université Kasdi Merbah -Ouargla Faculté des Sciences de la technologie et Sciences de la matière Département de génie électrique Réalisation du banc.
Les instructions pour la création de cette présentation sont incluses dans la page de commentaires de chaque diapositive. Dans le menu Affichage, cliquez.
Master ESEEC Rédaction de documents (longs) structurés Patrice Séébold Bureau 109, Bât B.
A partir du 1er mars 2016 : 2 offres
Interfaçage entre Maple et du code externe
L'ESPACE NUMÉRIQUE DE TRAVAIL
I- ANALYSE DU BESOIN / Plan
Mise en place d’un système de partage de fichiers
Module de gestion des tournées de livraison
Logiciel de Télégestion ACS série 700
MOCAH / LIP6 / UPMC Entités / Composants / Systèmes Un formalisme de conception pour les jeux vidéo MOCAH.
ATS8500 Standalone Downloader.
Mettre à jour les données
Environnement de développement des BD
Les outils de sélection Cours préparé par l’enseignante Wafa Bourkhis.
Acquisition Rapide Multivoies
Environnement du développement de BD ORACLE REPORTS 10g
Plan de la présentation
BIP de Nicolas Carbone validé par la DRQ le 6 juillet 2010
de la productivité individuelle au travail collaboratif
Groupes Retrouvez vos repères Vos premiers pas dans les Groupes
Module 6 la boîte .
HTML & css.
Asynchronous Javascript And Xml
Windows 7 NTFS.
GRAPHISME PAR ORDINATEUR
Programmation système
GRAPHISME PAR ORDINATEUR
Développement d’un réseau social de collaboration destiné aux médecins radiologues Soutenance de projet de fin d’étude En vue de l’obtention du diplôme.
LES IDE DE CONCEPTION Myriam BAKAYOKO Manon RAJAONARIVELO Jeremy MICHEL André NOEL Guillaume GEBAVI Arthur AGERON Fabien SIMON - G6S2.
Programmation Android Debugger ses applications
Plus de 4000 langages....
</Présentation de solutions documentaires>
UNITE 3: Production du jeu vidéo
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
Développement d’une application de gestion de pointage
16/04/2013 Crm ing infoclip.
Tableau Numérique Interactif
Comment personnaliser Microsoft SharePoint Site web
Les classes et les objets
Créer un diaporama avec Open Office Impress
Logiciel de présentation
BIOS- OS Environnement logiciel PC / Traitement numérique / Contrôle.
Créer un QR code 1. Mode opératoire
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
ORGANISER DES MANIFESTATIONS SCIENTIFIQUES A LA SFA
Présentation des services IT
Utiliser reveal Studio
Tableau de bord d’un système de recommandation
Formation Dragon NaturallySpeaking
PAF Guillaume Martin - Fabrice Cizeron - Xavier Roulot
Contenu Systèmes de test parallèles Multithreading Synchronisation
REUNION RUPN Transition d’année - Archivage
Qu’est ce qu’une page web? Comment fonctionne un site web?
Site web, Ce qu’il faut savoir ?
Transcription de la présentation:

Tahsin Rossanaly - IR3

Plan de la présentation ● Présentation de XNA ● Architecture et fonctionnement de XNA ● Éléments d'architecture d'un jeu ● Interaction avec l'environnement ● Gestion de la 3D ● Informations pratiques

Présentation de XNA ● XNA = XNA 's Not Acronymed :-) ● Ensemble d'outils facilitant le développement de jeux vidéo pour :

Présentation de XNA ● XNA fournit : ● Un framework.net ● Des outils d'intégration de contenu ● De la documentation ● XNA nécessite Visual C# ●

Présentation de XNA ● Les avantages de XNA ● Multi-plateforme (au sens Microsoft) ● Facilite le développement des jeux vidéo ● Accessibilité ● Visibilité ● Les inconvénients de XNA ● Uniquement en C# ● Que du Microsoft! ● Actuellement, pas de Kinect. ● Visibilité

Architecture et fonctionnement de XNA

Progra m.cs Game1. cs DrawableGameComponentsServicesGameComponents

Architecture et fonctionnement de XNA Initialize LoadConte nt Update Draw UnloadCont ent Effectue les réglages de bases (instanciations, chargement des paramètres)

Architecture et fonctionnement de XNA Initialize LoadConte nt Update Draw UnloadCont ent Charge les ressources (textures, fichier sons etc...)

Architecture et fonctionnement de XNA Initialize LoadConte nt Update Draw UnloadCont ent Effectue les opérations logiques (recalcul des positions, collisions etc...)

Architecture et fonctionnement de XNA Initialize LoadConte nt Update Draw UnloadCont ent Affichage des éléments du jeu

Architecture et fonctionnement de XNA Initialize LoadConte nt Update Draw UnloadCont ent Décharge les ressources (textures, fichier son etc... )

Architecture et fonctionnement de XNA ● Structure commune aux différents composants ● Automatisation des traitements des composants ● Instancier le composant dans Game1 suffit

Architecture et fonctionnement de XNA ● Exemple : affichage du logo de XNA qui se déplace. ● Création d'une classe qui dérive de DrawableGameComponent ● On l'instancie au niveau de Game1, dans la méthode initialize() ● DGC logo = new logo_xna(10,10,this); ● C'est le logo qui s'ajoute lui même.

Architecture et fonctionnement de XNA Initialize LoadConte nt Update Draw UnloadCont ent On récupère le chemin de la texture On charge la texture Texture = Game.Content.Load On met à jour la position du logo position+=deplacement On dessine le logo spriteBatch.begin() spriteBatch.draw(texture, position, Color.white) spriteBatch.end() On décharge la texture C'est fait automatiquement

Architecture et fonctionnement de XNA ● Garder à l'esprit la diversité des machines ● Utilisation d'un gametime pour un fonctionnement uniforme ● Diverses opérations possibles ● N'afficher qu'une partie de la texture ● Redimensionner la texture ● Ajouter une teinte ● Afficher du texte ●...

Architecture et fonctionnement de XNA ● Pour gérer le son, il existe deux méthodes : ● Utiliser l'API SoundEffect (similaire au fonctionnement des images) ● Utiliser l'API XACT

Architecture et fonctionnement de XNA ● XACT est un framework permettant de créer des projets audio. ● Possibilité de compresser, de modifier la vitesse du son, d'ajouter des effets de réverbération

Architecture et fonctionnement de XNA ● Un aperçu des possibilités

Architecture et fonctionnement de XNA ● Pour utiliser notre projet Audio :

Éléments d'architecture d'un jeu ● XNA fournit un jeu déjà complet : Platformer ● Aucune architecture imposée ● Possibilité d'automatiser les différents traitements ● Ou les gérer manuellement ● Une petite démonstration du jeu

Éléments d'architecture d'un jeu ● Automatisation des traitements Game1. cs ServicesGameComponentsDrawableGameComponents

Éléments d'architecture d'un jeu ● Utilisation des services pour le contrôle du jeu ● Nécessité de séparer les contrôles Update() Je cherche un service me permettant de voir quelle action a été commandé par le joueur

Éléments d'architecture d'un jeu ● Avantages des services : ● On n'utilise pas de méthodes statiques ● Une seule instanciation ● On ne passe plus les contrôles en paramètres

Eléments d'architecture d'un jeu ● XNA ne possède pas de méthodes pour gérer la physique (collisions, gravité etc...) ● Il faut la développer soit même ● Utiliser un des nombreux moteurs existants(JiggleX, BulletX, FarseerPhysics...)

Éléments d'architecture d'un jeu ● Exemple d'utilisation du moteur physique FarseerPhysics ● Création d'un PhysicsSimulator ● On le passe aux éléments graphiques de notre jeu ● Ceux-ci auront chacun un corps (body) qui leur permettra de les gérer suivant la gravité, les éléments qui appliquent une force dessus

Éléments d'architecture d'un jeu ● Exemple de code

Interaction avec l'environnement Support Jeu en réseau Périphérique de stockage Compte Xbox Live ou Windows Live JEU

Interaction avec l'environnement ● Afficher sa GamerCard

Interaction avec l'environnement ● Pour afficher la gamer Card :

Interaction avec l'environnement ● Gestion du jeu en réseau (local ou en ligne) Initialize Update (envoi) Update(réc eption) NetworkSession.Create(NetworkSessionType.SystemLink,2,2) NetworkSession.Find(NetworkSessionType.SystemLink,2,null) Envoi des données via packetWriter.write(...) et session.gamer.sendData(...) Réception des données via gamer.receiveData(...) Et packetReader.read(...)

Interaction avec l'environnement ● Aucun besoin de synchronisation, ni de threads ● Choix de la politique d'envoi (fiable, non fiable, ordonné, désordonné...)

Gestion de la 3D ● Diverses possibilités : ● Gestion de la caméra ● Rotation des objets ● Divers effet(brouillard, lumière...) ● Personnaliser les effets grâce à HLSL (High Level Shader Language)

Gestion de la 3D Initialize LoadConte nt Update Draw On récupère le chemin du modèle 3D On charge le modèle Texture = Game.Content.Load On fait tourner notre modèle rotation+=0.1f On dessine le modèle : Pour chaque modèle, on parcourt les Meshes (objet 3D faisant partie de l'objet) Et pour chaque Meshes, on applique divers effets.

Gestion de la 3D ● HLSL permet de programmer des shaders. ● Les shaders sont des instructions envoyées à la carte graphique pour gérer divers effets 2D et 3D (lumière, ombre, brouillard etc...) ● XNA fournit déjà des shaders basiques (que nous utilisons sans nous en rendre compte)

Informations pratiques ● Quelques astuces pour la conception du jeu : ● Développer d'abord pour PC (plus simple et de toute façon on peut réadapter pour les autres plateformes) ● Une architecture suffisamment souple pour pouvoir facilement adapter le jeu à chaque plateforme. ● Une architecture suffisamment souple pour pour pouvoir le faire évoluer facilement (version Noel, version Halloween etc...) ● Un nom bien pensé

Informations pratiques ● Test sur Xbox 360 ● Téléchargement de XNA Game Studio Connect à partir de la console ● Génération d'une clé de connexion ● Ajout de la console Dans XNA Game Studio Device Center ● Compilation ● Exécution

Informations pratiques ● Mise en ligne pour Xbox 360 et Windows phone ● Nécessite un abonnement payant au XNA Creators Club ● Soumission du jeu ● Phase de Peer Review ● Mise à disposition du jeu ● Recueil du bénéfice (70% du prix du jeu)

Conclusion ● XNA permet de faciliter le développement de jeux vidéo pour les plateformes Microsoft ● XNA possède une architecture modulaire. ● Une stratégie différente de celles de ses concurrents

Des questions?

Merci de votre attention!