Jeux multi-écrans : envolez-vous avec Kinect, Silverlight et WP7

Slides:



Advertisements
Présentations similaires
SOLUTION DE VIDEOSURVEILLANCE SUR ip
Advertisements

Présentation des technologies SharePoint 2007
Les technologies décisionnelles et le portail
Nos Partenaires Rencontres ASP.NET : Développement Rapide dApplications Web.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Conclusion Rencontres ASP.NET : Développement Rapide dApplications Web.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
Open Days 2006 Le Web 2.0 demain: produits, technologies, outils.
Microsoft Office Groove Le contexte Une utilisation des postes de travail en très grande évolution chez les professionnels. Des lieux de travail.
Nicolas Galliot M2SIR David Raspilaire
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
PERRIN Lydie mail: Dossier TICE Le Streaming PERRIN Lydie mail:
Prenez le contrôle avec Kinect
Vous êtes dans l’AMPHI HAVANE
Palais des congrès Paris 7, 8 et 9 février Applications métiers et/ou d'entreprise sur Windows Phone 7.
Palais des congrès Paris 7, 8 et 9 février /02/2012 Les nouveautés de Silverlight 5 Sacha Leroux Directeur Technique Bewise Christopher Maneu.
Prenez le contrôle de Kinect pour Windows SDK (Beta)
Projet Pluritechnique Encadree : Supervision du Portalp:
Découvrez Le Nouvel Office Open et FPP
Le Téléphone Russe Le Téléphone Russe. Le Téléphone Russe Le Téléphone Russe.
Dynamisez la gestion de votre atelier CNC.
Quoi de neuf dans ASP.NET avec Visual Studio 2013 ?
Android est une plateforme mobile open source et entièrement paramétrable. Elle a été créée afin de mettre à disposition des développeurs toutes les fonctionnalités.
Palais des congrès Paris 7, 8 et 9 février Mercredi 8 février juste avant daller manger Michel Rousseau – Consultant - Bewise Blend 4 pour les designers.
SAGA. SAGA SAGA est une solution dispatch pour Police Service dIncendie Service dambulances Aéroports ou industries. Environnement en temps réel Modulaire.
Développement Rapide dApplications Web avec.NET « Mon premier site »
Xna Game Studio 3.1 Valentin Billotte ( ) Antoine Emond Vanessa Arnaud
SHA302 - Connectez vos données à SharePoint 2010 avec les Business Connectivity Services
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Retour dexpérience Supportech INSA.NET Daniel Boteanu – Michaël Piffret.

22 Intégrer Reporting Services SQL 2008 R2 à votre application 09/02/2010 Mathieu ROSPIDE – Winwise Julien TOURNADRE – Winwise.
Entity Framework 4 Mitsuru FURUTA Relations techniques développeurs
‘‘Open Data base Connectivity‘‘
5 - Vidéo Numérique.
Créez des applications Silverlight 3 David Rousset Relations Techniques avec les développeurs Microsoft France
Introduction au développement Office 2007
Expose sur « logiciel teamviewer »
2 Le futur de VB et l’asynchronisme [LAN101] 08/02 14h30 Patrice Lamarche GPI
SOLUTION DE VIDEOSURVEILLANCE SUR IP
Advisor Advanced IP Présentation Télémaintenance Télésurveillance.
RDA 209 : WPF Toolkit et bonnes pratiques
CAZIER Kévin JACOB Sébastien Réalisée dans le cadre du Projet Pluridisciplinaire Encadré par Mme Martine COQUET Responsable de l’entreprise.
Les sockets.
Candy Crush Killer Boyer Alexandre Bullat Théo Ralite Jérôme Raymond Nicolas Ribière Laurent Encadré par M. Laffont, enseignant à Polytech M. Kauffmann,
Technet Office System
Code Contracts Gilles TOURREAU - MVP C# Architecte .NET / Formateur
Créez des applications Silverlight 3 David Rousset Relations Techniques avec les développeurs Microsoft France
Visualisation d’un entrepôt de données Pré soutenance technique
Positionnement : Outil de supervision et d’administration spécialiste Les management packs de l’éditeur et la base de connaissance embarquée Rapidité.
1 Applications de Réalité Virtuelle et SCD P. Torguet J.P. Jessel.
2 Game = Screen(2) + Cloud(1); Mercredi 9 Février 2011 Fabien Tanquerel Consultant, DCube Anthony Guillaume Consultant,
22 WPF pour les appli métier [Retour d’expérience] 8 Février 2010 RDA 203 Alexandre Arnaudet – Damien Thouvenin CLT-Services.
22 Lag110 : Le développement SharePoint 2010 avec Visual Studio 2010 Mardi 9 février 2010 Frédéric Wickert Partner Technical Specialist Microsoft.
2 Industrialiser et accélérer le développement Windows Phone 7 8 Février 2010 Giacopino Cyril Directeur production – Pôle.NET TEQUILARAPIDO.
Windows Phone 7. Sommaire Tour d’horizon de WP7 Technologies Applications Silverlight La création de jeux vidéos The End 2.
Les solutions de travail collaboratif
Architecture Client/Serveur
22 Visual Studio Tools et Office /02/2010 Thomas LEBRUN Architecte Access It Sebastien BOVO Application Development Consultant Microsoft France.
2 Alain METGE SOGETI
Gestion des documents internes avec SQL Server 2005 Date de publication : janvier 2006.
Eclipse Tools for Silverlight Eclipse Tools for Silverlight.
Mon application Silverlight/WPF et la guerre des patterns
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.
31/05/2007Projet Master 11 Présentation ludique de la recherche opérationnelle à la fête de la science Année universitaire 2006/2007 Sylvain FIX Julien.
1 Silverlight & XNA Développeurs, à vous le mobile! Pierre Cauchois - Microsoft France Relations avec les développeurs (mobiles et embarqués)
Qu’est-ce qu’un outil graphique?
Intégrateur Expert Vidéo & Mobilier
Chaine de production professionnelle pour Joomla! Cyril Thibout.
Département Informatique Les Réseaux Informatiques Couche Transport Protocoles UDP & TCP Laurent JEANPIERRE.
Transcription de la présentation:

Jeux multi-écrans : envolez-vous avec Kinect, Silverlight et WP7 Cyril CATHALA Nathanaël MARCHAND Nathalie PETTIER So@t

SOMMAIRE Présentation Outils multiplateforme Couche de communication Architecture des jeux Logique jeux Gestuelle avec Kinect Design BackOffice

Introduction

Equipe Merci à : So@t Experts Cyril CATHALA Expert .NET blog.soat.fr @SoatExpertsNET facebook.com/SoatExpertsNET Cyril CATHALA Expert .NET Blog : http://cyril.cathala.org Twitter : @CyrilCathala Nathanaël MARCHAND Expert .NET Blog : http://blog.ou-bien.net Twitter : @NatMarchand Nathalie PETTIER Experte Silverlight / WPF Blog : blog.devndesign.fr Twitter : @nathaliepettier Merci à : David POULIN Expert .NET Sébastien FERRAND Expert .NET

So@t en quelques mots … SSII spécialisé dans le développement 10 ans de savoir-faire .Net / Java 250 collaborateurs Tous les métiers du développement 4 ans d’expertise Silverlight / WPF Société Générale, Dexia, Vente Privée, Canal+, M6, Radio France, Crédit Agricole, Eurosport, Sarenza.com date

So@t Experts 3 pôles d’expertise à So@t : .NET / Java / Agilité Capitalisation (publications sur le blog, production de support de formation) Formations externes ciblées expertise Animation de conférences Publication d’applications de référence : HappyNet, application composite SoPrism, générateur d’application Silverlight intégrant le framework PRISM pour créer des applications composites SoMVC, générateur d’application ASP.Net MVC 3 basé sur la structure d’une base de donnée SQL Server Support technique dans les forums communautaires et groupes (developpez.com, facebook, etc.)

Présentation des jeux multi-écrans

Présentation de SoNuts & SoTank

Présentation des jeux SoNuts SoTank Faites volez un écureuil ! 2D Kinect 3 écrans : XNA, Silverlight, Windows Phone Pilotez un tank 3D 2D + 3D Kinect 2 écrans : XNA, Windows Phone => Équipe de développeurs débutante dans les jeux vidéos

Schéma global de communication Joueur 1 Autres écrans (observateurs du jeu) Hot Spot Wifi Serveur de jeux = TV + PC + Kinect Dossier Partagé + scores Joueur 2 BDD Web Service Back Office Reconnaissance joueurs

Architecture

Architecture des jeux SoNuts SoTank Messaging Messaging Communicator

Architecture des jeux : SoNuts Clients Windows WP7 Silverlight Game Logic Windows WP7 Silverlight Messaging Communicator

Architecture des jeux : SoTank Clients 3D Client 2D Windows Silverlight WP7 Game Logic 3D Windows Silverlight Game Logic 2D WP7 Messaging Communicator

Arborescence des projets

Couche de communication

UDP vs TCP TCP UDP Connecté Fiable Ordonné Contrôles de flux et congestion UDP Déconnecté Simple & Rapide Aucune garantie de fiabilité ou d’ordre Gestion de flux manuelle date

UDP vs TCP TCP semble mieux … … FAUX ! La fiabilité a un prix « Flot » de données Acquittement Renvoi d’un paquet perdu Jeux = Temps réel Bonus : Multicast ! date

Outils multiplateforme

Outils multiplateforme Partage du code Portable Class Library .NET Framework, Silverlight, WP7, Xbox 360 Certaines dll supportées Project Linker Synchronisation de projets via liens symboliques Rx Framework date

Arborescence Communication

Logique des jeux

SoNuts : Communication client / serveur Jeu Joueur Statut initial Joueurs prêts Partie en cours Ecureuil tapé (gentimment) Mises à jour : - position de l’écureil - position oiseaux - position bonus Ecureuil volant Ecureuil par terre Partie terminée

SoNuts : Performances et synchronisation avec le serveur Approche #1 : Client « stupide » sans aucune prédiction Approche #2 : Approximation côté client en attendant le retour serveur Lissage lors de la synchronisation serveur Approche #3 : Le client prédit les mouvements à chaque action du joueur Correction par historisation des actions passées date

Approche #1 Client « stupide » sans aucune prédiction Serveur Client réseau Position 1 [Server] Position 1 [Server] Position 2 [Server] Position 2 [Server] Position 3 [Server] Position 3 [Server]

Approche #1 Client « stupide » sans aucune prédiction Serveur Client réseau Position 1 [Server] Position 1 [Server] Action joueur [Client] Action joueur [Client] Position 3 [Server] Position 3 [Server]

Approche #2 Serveur Client Approximation côté client en attendant le retour serveur Interpolation lors de la synchronisation serveur Serveur Client réseau Position + Vitesse 1 [Server] Position + Vitesse 1 [Server] Position 1.1 [Client] interpolation + lissage Position 1.2 [Client] Position + Vitesse 2 [Server] Position + Vitesse 2 [Server]

Approche #2 Approximation côté client en attendant le retour serveur Lissage lors de la synchronisation serveur interpolation client position serveur

Approche #3 Serveur Client Le client prédit les mouvements à chaque action du joueur Correction par historisation des actions passées Serveur réseau Client Position + Vitesse 1 [Server] Position 1 [Server] Action joueur [Client] Position + Vitesse 1.1 [Client] Action joueur [Client] prédiction Position + Vitesse 1.2 [Client] Position + Vitesse 2 [Server] Position + Vitesse 2 [Server]

Lissage

SoTank : Communication client / serveur Workflow de jeu comparable à SoNuts Un client PC plus complexe à animer Des responsabilités moins décentralisées Des problématiques similaires

SoTank : La puissance de XNA Extensibilité du content pipeline: Génération du terrain via une texture (Height Map) Positionnement des arbres Shaders Effets pyrotechniques Billboarding des arbres Utilisation intensive des Maths! Matrices en folies & Transformations dans l’espace

SoTank & SoNuts: Portabilité Différence dans les API XNA: HiDef Reach Silverlight ne possède pas tout XNA Considérations Matérielles

Gestures avec Kinect

Présentation de Kinect Kinect SDK pour Windows 3 flux disponibles Image Profondeur Audio Suivi de squelette Notion de joint (point de repère)

Présentation de Kinect

Gesture sur SoNuts α2 α1 Amplitude = α2 + α1

Gesture sur SoTank Déclenchement du canon : Direction du canon + - y x z Déclenchement du canon : mouvement haut vers bas Direction du canon

Gestures Kinect (ou comment avoir l’air intelligent)

Design Le design offre une vrai plus value à tous les projets numériques, une promesse « d’expérience utilisateur » digne de ce nom.

Processus de développement Avant Après => Collaboration Designer / Développeur

Images pour WindowsPhone: SplashScreen Icones : tile, icone application Images communes : Sprites / Textures 2D Personnages (écureuil, oiseaux, panda) Environnement (arbre, panneaux, nuages, noisettes, etc.) Hauteur, largeur identiques pour chaque image

Images pour WindowsPhone: SplashScreen Icones : tile, icone application Images communes : Sprites / Textures 2D Signalétiques (icônes du menu, etc.) 3D : tank, environnement (sol, arbres, etc.) Texture qui génère les reliefs du terrain Vue « carte » du terrain

Le « back » se doit d’être aussi joli et à la hauteur que le « front » BackOffice : SoGame Le « back » se doit d’être aussi joli et à la hauteur que le « front »

Présentation de SoGame Application WPF « Metro Style » qui gère : Inscription des joueurs Récupération des scores et photos Synchronisation des joueurs et parties Envoi des photos des joueurs Reconnaissance faciale joueurs Top des joueurs

Prise de photo avec Kinect Lancement de la capture de flux vidéos dans le Kinect runtime : var runtime = Runtime.Kinects[0]; runtime.Initialize(RuntimeOptions.UseColor); //Camera vidéo runtime.VideoStream.Open(ImageStreamType.Video, 2, ImageResolution.Resolution640x480, ImageType.Color); runtime.VideoFrameReady += OnVideoFrameReady; private void OnVideoFrameReady(object s, ImageFrameReadyEventArgs e) { if (_takePicture) var screenshot = e.ImageFrame.ToBitmapSource(); } Déclenchement unique de la photo durant la partie… L’image est sauvegardée sur la machine En fin de la partie, envoi du score + photo via web service date

Reconnaissance faciale OPENCV : bibliothèque Open Source de traitement d’image en temps réel EmguCV : permet d’utiliser la librairie OPENCV dans un environnement .NET Comment ça marche ? Chargement haarcascades pour la détection de visage Initialiser le périphérique de capture DetectHaarCascade et EigenObjectRecognizer pour chaque image à analyser

Comment faire avec Kinect ? Lancement de la capture de flux vidéos NOM Prénom A chaque évènement OnVideoFrameReady, on utilise la méthode DetectHaarCascade pour détecter des visages Parmi ces visages, on compare avec notre liste de visages enregistrés (BDD) avec la méthode EigenObjectRecognizer Si un visage est reconnu, on le retire de la liste pour continuer la comparaison sur les autres visages date

Reconnaissance faciale

Conclusion

Conclusion Ecosystème Microsoft Visual Studio pour tout unir Faire des jeux c’est « facile » Le design c’est important ! Code source : http://sogames.codeplex.com Blog : blog.soat.fr

Envie d’essayer ? Viens chercher le fun ! Stand So@t (n°39)

Vous avez des questions ? Nous avons des réponses  Q&A Vous avez des questions ? Nous avons des réponses  Cyril Cathala – http://cyril.cathala.org - @CyrilCathala Nathanaël Marchand – http://blog.ou-bien.net - @NatMarchand Nathalie Pettier – http://blog.devndesign.fr - @NathaliePettier