Interoprabilit entre Microsoft Share Point Server 2010 et
Interopérabilité entre Microsoft Share. Point Server 2010 et Lotus Notes sur une base Oracle 9 i (BOF 901) Jeudi 10 Février 2011 V. Billotte / G. Belmas / J. Frelat MVP Graphic. Stream/ v. Next / Assima 2
Silverlight : développer un jeu vidéo pour Azure, le Web ou Windows Phone 7 (JEU 201) Jeudi 10 Février 2011 V. Billotte / G. Belmas / J. Frelat MVP Via. Blue / v. Next / Assima 3
kikonhè Valentin Billotte – Viablue – Graphic. Stream MVP XNA Guillaume Belmas – v. Next MVP Windows Azure Julien Frelat – Assima – Innove. Ware Solutions MVP Client App Dev (2009) 4
Sommaire Le challenge Pourquoi Silverlight ? Développement de jeux en Silverlight Présentation du jeu De la 3 D ! Affichage bitmap Goto jeu Windows Azure Come on! Windows Phone 7 #Fails Futur 5
Le challenge Tech. Days 2010 Tech. Days 2011 Jeu en Silverlight en 30 minutes (1942) Jeu en Silverlight en 2 minutes (Flash) Portage XNA sur Windows, XBox 360 et Zune HD Jeu multijoueur en Silverlight sur Azure, le Web et Windows Phone 7 6
Pourquoi Silverlight ? Retour sur le débat entre HTML 5 et Silverlight Comparaison entre XNA et Silverlight 7
Comparaison entre XNA et Silverlight XNA Vecteurs Contrôles Animations Interfaces XAML Web 3 D Game loop Sprites pool Performances Formats XBox 360 8
Développement de jeux en Silverlight Pour les créatifs Moteurs 2 D, 3 D, physique, bitmap www. playbits. com, www. postvision. net/Silver. Motion, farseerphysics. codeplex. com, webdemos. sourceforge. net/Silverlight. Flixel, Silverlight Flash. Punk Rémunération Windows Market. Place, www. silverarcade. com, www. silverlightclub. com, www. mashooo. com Pour les moins créatifs ou les récents convertis Ecriture d’émulateurs Portage depuis XNA, Flash, C/C++, etc. silversprite. codeplex. com, rockethub. com/projects, www. swflight. com, Tonic. VM 9
Démo Tonic. VM à la rescousse ! 10
Développement de jeux en Silverlight Pour les créatifs Moteurs 2 D, 3 D, physique, bitmap www. playbits. com, www. postvision. net/Silver. Motion, farseerphysics. codeplex. com, webdemos. sourceforge. net/Silverlight. Flixel, Silverlight Flash. Punk Rémunération Windows Market. Place, www. silverarcade. com, www. silverlightclub. com, www. mashooo. com Pour les moins créatifs ou les récents convertis Ecriture d’émulateurs Portage depuis XNA, Flash, C/C++, etc. silversprite. codeplex. com, rockethub. com/projects, www. swflight. com, Tonic. VM Utilisation d’Azure Jeu en ligne massivement multijoueur Stockage en ligne (sauvegardes, scores, etc. ) 11
Présentation du jeu Principe Problématiques Conception d’un moteur 3 D Affichage bitmap performant (monde, webcams) Gestion du réseau Gestion des contrôles sur Windows Phone 7 12
De la 3 D ! Technique du raycasting Affichage d’une scène 3 D sur un écran 2 D Calculs limités et simples Premières heures de la 3 D sur PC Wolfenstein-3 D, Doom (1990) 13
Principes du raycasting 1/4 • Monde 2 D (array X, Y) int world. Map[map. Width][map. Height]= { {1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 2, 2, 2, 0, 0, 3, 0, 0, 0, 1}, {1, 0, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 1}, {1, 0, 0, 0, 2, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 2, 2, 0, 0, 3, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 1}, {1, 4, 4, 0, 0, 0, 0, 1}, {1, 4, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 4, 0, 0, 5, 0, 4, 0, 0, 0, 0, 1}, {1, 4, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 4, 0, 4, 4, 4, 0, 0, 0, 0, 1}, {1, 4, 0, 0, 0, 0, 0, 0, 1}, {1, 4, 4, 0, 0, 0, 0, 1}, {1, 1, 1, 1, 1, 1, 1} };
Principes du raycasting 2/4 Une architecture simplifiée Les murs font toujours un angle de 90° avec le sol Les murs sont des cubes de taille identique Les sols sont toujours plats 15
Principes du raycasting 3/4 La projection FOV de 60° Hauteur de 32 16
Principes du raycasting 4/4 Pour chaque pixel horizontal du plan projeté On trace un rayon de la position du joueur vers le premier mur en collision et on stocke la distance obtenue Plus la distance jusqu’au mur est importante, plus le mur est petit 17
Affichage bitmap Layout Manager de Silverlight Pas adapté Pas assez performant Writeable. Bitmap est ton ami Array 2 D de pixels 18
Démo En rouge. . . 19
Goto jeu Quid de la webcam ? 20
Capture vidéo en Silverlight
Goto jeu Quid de la webcam ? Quid des murs texturés ? Quid des sprites ? Quid de la personnalisation des sprites ? Quid des déplacements ? Quid du quid ? NITNELAV 22
Windows Azure à la rescousse Windows Azure is good for you ! Le cloud au service du jeu : Haute dispo à 99, 95% (satisfait ou remboursé) Scalable à volonté (up & down) Ex : des dizaines de serveurs en 3 clics (et dispo en 15/30 mn) Technologies : . NET mais aussi Java, PHP, Ruby… Paiement à la consommation 23
Datacenter vs Cloud Privé Public Software as a Service (Saa. S) Platform as a Service (Paa. S) Machine virtuelle sur 24 Infrastructure as a Service (Iaa. S)
Supah Techdays Arena in Da Cloud Supporter le multijoueur et plusieurs parties en simultané Solution #1 : Cache In-Process C’est cool mais c’est pas scalable Solution #2 : App. Fabric Cache Service C’est cool mais c’est en CTP et localisé aux US (trop lent) Solution #3 : Les Azure Tables Stockage d’entités de type « clé/valeur » Ca tombe bien, chaque player possède un ID 25
Démo Come on! http: //supertechdaysarena. cloudapp. net 26
Windows Phone 7 Writeable. Bitmap lent Utilisation de Xna Démo ! 27
#Fails Nous avons quand même connu la traversée du désert : Lenteurs d’Azure (Dublin c’est loin) Latence HTTP Cache Distribué en CTP Disconnect Sprites inversés PC de Julien Pas d’intéractions entre les joueurs 28
Futur Silverlight 5 API 3 D avec accélération GPU XNA ou Silverlight ? Performances accrues (IE 9) Windows Phone ? Version actuelle mixte entre Silverlight 3 et 4 Restrictions au niveau sonore Windows Azure Produit actif (une nouvelle version tous les 3 mois) Explosion du cloud et du Social Gaming Ex : Les amis de Kobojo et leurs 3, 5 millions de joueurs mensuel (Goobox, Pyramid. Ville…) 29
MSDN et Tech. Net : l’essentiel des ressources techniques à portée de clic Portail administration et infrastructure pour informaticiens Portail de ressources technique pour développeurs http: //technet. com http: //msdn. com 30
- Slides: 31