Développement d un moteur de jeu vidéo pour la console Nintendo Wii U et portage d un jeu

Dimension: px
Commencer à balayer dès la page:

Download "Développement d un moteur de jeu vidéo pour la console Nintendo Wii U et portage d un jeu"

Transcription

1 Université de Franche-Comté Shine Research Master 2 Informatique Systèmes Distribués et Réseaux Mémoire de stage de fin d étude Développement d un moteur de jeu vidéo pour la console Nintendo Wii U et portage d un jeu Auteur : Sophie Teixeira Responsable de stage : Sylvain Grosdemouge Enseignant tuteur : Pierre-Alain Masson 2014

2 Remerciements Je tiens avant tout à remercier Monsieur Sylvain Grosdemouge pour m avoir accordé sa confiance et m avoir accueilli dans son entreprise. Il a su tout au long de mon stage m aider et prendre le temps de m expliquer des concepts de développement spécifiques aux jeux vidéo que je n avais jamais eu l occasion d utiliser. Je remercie Monsieur Romuald Genevois, le graphiste de Quantic Pinball, pour le temps qu il a passé à me conseiller sur le rendu final du jeu et les images qu il a créées pour la version du flipper sur Wii U. Merci à Nicolas Diot et Jordan Martin qui étaient en stage avec moi pour la bonne ambiance qui a régné tout au long de ces cinq mois et pour l aide ponctuelle apportée, ainsi qu à Bastien Schatt et Rémi Grimmer qui nous ont ensuite rejoints. Je remercie également Monsieur Pierre-Alain Masson, mon tuteur de stage, pour être venu me rendre visite lors de mon stage et pour ses conseils. Pour finir, j adresse un remerciement particulier à Aurélie Salat, qui a passé beaucoup de temps à m épauler et me conseiller tout au long de mon stage et notamment lors de la rédaction de ce rapport.

3 Table des matières Glossaire 4 Introduction 5 1 Étude du projet Fonctionnement général du Shine Engine La Nintendo Wii U Déroulement du stage Implémentation du moteur pour la console Wii U Cas concret : le jeu de flipper Quantic Pinball sur la Wii U Environnement de développement Développement du moteur de jeu pour Wii U Premiers pas du développement sur la Wii U avec le Shine Engine Le système de fichiers Les saisies L affichage en 2D Le driver son Mise en place d un système de sauvegarde Le Home Button Menu Implémentation du compilateur pour les fichiers de la Wii U Quantic Pinball Le jeu Les modifications apportées Création de la version master Bilan États du Shine Engine et de Quantic Pinball Problèmes rencontrés Bilan pédagogique Conclusion 34 Webographie 35 Table des figures 36 Liste des algorithmes 36 Annexes 37

4 A Captures d écran du jeu Quantic Pinball 37 3

5 Glossaire GPU ou Graphics Processing Unit Appelé en français processeur graphique, il s agit d un circuit intégré présent sur une carte graphique et assurant les fonctions de calcul de l affichage. Kit de développement ou devkit Matériel servant au développement d applications sur les consoles. C est une machine avec des caractéristiques matérielles proches de la console associée mais pouvant être reliée à un ordinateur. Moteur de jeu Ensemble de composants logiciels permettant la création de jeux vidéo. Cela comprend la gestion des graphismes, du son, du système, de la physique ou encore de l intelligence artificielle. Pilote Programme informatique destiné à permettre à un autre programme (dans notre cas, un moteur de jeu) d interagir avec un périphérique (dans notre cas, une console). Plateforme Désigne une console de jeu, un ordinateur, un téléphone ou tout support sur lequel un jeu peut être édité. Portage Adaptation d un programme dans un environnement autre que son environnement d origine. Primitive Forme de base utilisée en informatique graphique. Peut être par exemple un triangle, une ligne ou encore des points. SDK Parfois appelé kit de développement en français, c est un ensemble d outils permettant de développer des applications de type défini. Shader Programme exécuté par la carte graphique permettant l affichage d images 2D ou 3D en appliquant différentes modifications sur celles-ci. Sprite Élément graphique dont on peut faire varier la transparence et pouvant se déplacer sur l écran. Très utilisé dans les jeux vidéo en deux dimensions. Wii U GamePad Manette spécifique à la Nintendo Wii U, possédant un écran tactile. 4

6 Introduction Depuis les années 1990, le secteur du développement de jeux vidéo s est industrialisé de manière à pouvoir proposer des jeux plus riches et plus complets, ainsi que pour réduire le temps de développement et donc le temps d arrivée sur le marché. Cette industrialisation s est accompagnée du développement d outils améliorant la productivité, à commencer par les moteurs de jeu (un des premiers moteurs de jeu, celui de Doom par id Software, date du milieu des années 90), jusqu à des éditeurs spécialisés, notamment dans la création de contenu de diverses formes : texte, images, sons, musiques, modèles 3D, vidéos. Une des caractéristiques de ces moteurs est leur capacité à pouvoir produire, à partir d une même base de code, le même jeu sur diverses plateformes, permettant d améliorer la diffusion d un jeu à moindre coût. Il existe deux grandes catégories de plateformes : d un côté les consoles de jeu de salon (qui sont peu nombreuses et avec des caractéristiques techniques bien déterminées mais qui ne peuvent pas évoluer), de l autre côté l ensemble des ordinateurs personnels (qui sont très variées mais qui peuvent évoluer matériellement). Depuis peu s y ajoutent les plateformes mobiles (smartphones et tablettes) ainsi que les navigateurs web. C est dans ce contexte que s inscrit mon stage de fin d études au sein de l entreprise Shine Research[4]. Présentation de l entreprise Shine Research a été fondée par Sylvain Grosdemouge. Il est passionné de développement de jeux depuis son plus jeune âge et a réalisé son premier jeu à l âge de douze ans. Il travaille dans ce domaine depuis quinze ans, dont neuf ans en tant que responsable d équipe, avec au total une quinzaine de jeux finalisés. Il a effectué des missions d audit et de conseil au niveau international pour le compte de grandes entreprises du monde du jeu vidéo, comme Bethesda, Ubisoft, Electronic Arts, Koch Media, GSC Game World, Focus Home Interactive ou encore Deck13 et SimBin Studios AB. Les années passées à concevoir et développer des jeux lui ont permis d acquérir une parfaite connaissance de la chaîne de production. Il a ainsi pu isoler les étapes coûteuses, en temps et en énergie. Depuis 2005, il développe une chaîne de production innovante, Shine Engine[3]. En 2009, alors qu il travaille chez Wizarbox, il arrive à convaincre son employeur que l utilisation d une technologie comme le Shine Engine permettrait de réduire les coûts de manière significative. Dans le cadre du développement du jeu Realms of Ancient War (R.A.W.), il licencie le moteur à Wizarbox. Il créé ensuite Shine Research dans le but de continuer le développement du Shine Engine. 5

7 Figure 1 Shine Editor, l interface de création de niveaux de jeux Shine Research est une jeune entreprise de développement informatique créée en 2012 par Sylvain Grosdemouge. Elle est spécialisée dans le domaine du jeu vidéo. Elle propose une chaîne de production multi-plateformes destinée aux développeurs de jeux vidéo et de manière plus générale aux développeurs d applications. Cette chaîne de production repose sur deux éléments : le Shine Engine et le Shine Editor. Le Shine Editor est une application qui permet d éditer des niveaux de jeux via une interface graphique à partir d une bibliothèque d images 3D ou 2D. La figure 1 montre l interface de cet éditeur. Le Shine Engine est le moteur de jeu multi-plateformes développé par l entreprise, il sera présenté plus en détails dans la partie 1.1. À l heure actuelle, Shine Research est agréée pour développer sur différentes consoles de salon telles que la Playstation 4 de Sony et la Xbox One de Microsoft. Depuis le printemps 2013, la société est aussi agréée pour développer sur deux consoles de Nintendo, la Wii U et la 3DS. Depuis environ un an, la version PC du Shine Engine est utilisable gratuitement pour un usage non commercial. Ce projet novateur a été accompagné par l incubateur d entreprises innovantes de Franche-Comté. Sylvain Grosdemouge est lauréat du Réseau Entreprendre Franche-Comté. La société a par ailleurs été acceptée en janvier 2013 dans BizSpark, le programme d accompagnement de start-up de Microsoft. En parallèle du développement du moteur de jeu, Shine Research conçoit 6

8 des jeux vidéo en utilisant leur logiciel. Ce développement peut être commandé par un client ou initié par l entreprise elle-même. La société a deux jeux à son actif actuellement, Paradise Story et Quantic Pinball, qui sont disponibles sur l AppStore d Apple et sur le Play Store de Google. L ambition de Shine Research est de faire émerger en France un acteur incontournable du jeu vidéo au niveau mondial. L entreprise souhaite rester basée à Besançon, à proximité de l Université de Franche-Comté avec laquelle elle est en collaboration sur plusieurs projets. Présentation du stage Dans le cadre de mon stage de fin d études, j ai travaillé sur le Shine Engine. L objectif est de participer au développement d un pilote de bas niveau intégré au moteur, pour la plateforme Wii U. Pour ce travail, il faut faire attention à faire un développement qui soit multi-plateformes. Les modifications faites dans le moteur ne doivent en effet pas compromettre son fonctionnement sur les plateformes déjà intégrées et les futures plateformes à gérer. Il y a également beaucoup de développement avec des bibliothèques spécifiques à la Wii U à gérer, pour le rendu, le son, les saisies ou encore le système de fichiers. Le taux de rafraichissement, également appelé nombre d images par seconde, est très important dans les jeux vidéo. Il faut que l application soit fluide et réactive. Il est donc très important d optimiser le code lors du développement de ce pilote. Il faut également faire attention à la gestion de la mémoire, celle-ci étant limitée par la capacité de la console. Une fois les fonctionnalités de base implémentées dans le moteur Shine Engine, nous avons testé le fruit de notre travail en faisant fonctionner le jeu Quantic Pinball. Ce stage d une durée de 20 semaines s est déroulé du 10 février au 30 juin Dans ce rapport, nous voyons tout d abord une description plus précise du moteur Shine Engine ainsi que de la console Wii U et comment le pilote développé s intègre au travail déjà existant dans la partie 1. Nous parlons ensuite de l intégration de la Wii U au sein du moteur de jeu, les différentes étapes et le travail effectué en partie 2. Et nous voyons après cela comment s est déroulé le portage du jeu Quantic Pinball sur la Wii U et quels changements ont été faits pour qu il soit adapté à la console en partie 3. Finalement, nous faisons un bilan sur le travail effectué et les améliorations qui seraient encore possibles dans la partie 4. Pour des raisons de confidentialité, aucune bibliothèque propre à Nintendo n est nommée dans ce rapport. Il en est de même pour les logiciels 7

9 aidant au développement pour la plateforme Wii U. De plus, aucune capture d écran des logiciels et aucune photographie du kit de développement n apparaît. 8

10 1 Étude du projet Ce projet s est déroulé dans un cadre bien défini étant donné qu il s insère au sein d une application déjà existante et qu il concerne une plateforme spécifique. Nous commençons donc par présenter le moteur de jeu Shine Engine dans lequel le travail est intégré ainsi que la console Nintendo Wii U pour laquelle le développement est effectué. Nous voyons ensuite plus en détails les objectifs du stage et nous présentons l environnement de développement utilisé. 1.1 Fonctionnement général du Shine Engine Le moteur de jeu développé par Shine Research permet de porter une même application sur plusieurs plateformes de manière simple pour le développeur. Il présente une interface unique qui est une surcouche aux appels spécifiques des bibliothèques des différentes plateformes. Ainsi, lorsque l on veut par exemple lancer un son dans une application, on appellera toujours la même fonction du moteur de jeu, quelque soit la plateforme sur laquelle on travaille. La fonction au sein du moteur fera appel aux méthodes spécifiques à la plateforme concernant la gestion du son. Actuellement, le moteur permet de développer des applications pour PC, Android, ios, Xbox 360, Xbox One, Playstation 3 et Playstation 4. Le moteur est divisé en plusieurs grandes parties représentées dans la figure 2. La bibliothèque ShDisplay s occupe des rendus graphiques de formes simples (primitives), des entités de rendu, des caméras, de la gestion des collisions, des polices et zones de texte mais également de tout ce qui est de la gestion du son. Dans ShDisplayDriver, nous trouvons toutes les structures de base nécessaires à l affichage telles que le vertex buffer, l index buffer, les textures, les sprites et les shaders. L association des vertex buffers et des index buffers est la meilleure manière de stocker des données pour dessiner des figures. En effet, il faut savoir que les figures sont toutes dessinées à base de triangles. Les vertex buffers sont des buffers en mémoire qui contiennent les données de plusieurs vertex, un vertex étant un point particulier dans une figure. Les index buffers permettent de stocker les indices des points de la figure pour savoir dans quel ordre les placer et éventuellement s il faut placer plusieurs fois le même. Prenons un exemple. Lorsque l on veut dessiner un rectangle, on va en fait dessiner deux triangles collés. Plutôt que de stocker les six points correspondant aux deux triangles, nous n allons en retenir que quatre puisque deux points sont en commun. C est là que l index buffer entre en jeu, permettant de savoir dans quel ordre tracer les points pour former la figure souhaitée. Cela permet d économiser de la place en mémoire en stockant moins de données. Un exemple est montré dans la fi- 9

11 Figure 2 Les différentes bibliothèques du Shine Engine gure 3. Un sprite est un élément graphique qui peut se déplacer sur l écran. Et un shader, que l on pourrait traduire de manière littérale par nuanceur, est un programme exécuté par la carte graphique. Il permet par exemple de décrire l absorption et la diffusion de la lumière sur une image, la texture à utiliser, les réflexions ou encore l ombrage. Figure 3 L association du vertex buffer et de l index buffer ShFileSystem comprend les méthodes de gestion des systèmes de fichiers habituelles pour charger, lire ou écrire des fichiers. Elle comprend également les structures de sauvegarde de fichiers propres au moteur, dont les Big- File qui sont des fichiers contenant d autres fichiers. On peut par exemple trouver dans un jeu un bigfile contenant tous les fichiers de musique du jeu. C est également dans cette bibliothèque qu est implémenté le système de 10

12 sauvegarde pour les jeux. Vient ensuite la bibliothèque ShInput. Elle concerne toutes les saisies qui peuvent être faites par une manette, un clavier ou une souris. Les différents boutons des manettes de chaque console sont représentés par des enum. Nous utilisons ensuite un tableau pour stocker les valeurs associées à chacun de ces boutons. Il y a des types différents pour chaque saisie que l on souhaite écouter. On peut en effet vouloir savoir si un bouton est juste pressé, maintenu pressé ou relâché. L algorithme 1 montre l exemple de l écoute sur bouton A du premier pad, c est-à-dire de la première manette connectée. On crée donc un ShInput représentant un événement juste pressé sur ce bouton, le flottant permettant de savoir à partir de quelle valeur on considère que le bouton est pressé. La valeur est à 0.0f si le bouton est complètement relâché et à 1.0f s il est enfoncé à fond, certaines manettes permettant en effet d avoir des nuances lorsque l on presse un bouton. Ici, on considère donc que le bouton est pressé s il est enfoncé au moins de moitié. À chaque tour de boucle, on va mettre à jour le manager des saisies, qui se charge de remplir le tableau stockant les valeurs associées aux boutons de la manette, puis on peut vérifier si notre bouton a été pressé. 1 ShInput pinput1 = ShInput : : CreateInputJustPressed ( 2 ShInput : : e i n p u t d e v i c e p a d f i r s t, 3 ShInput : : e input device control wiiu GamePadpad a, f ) ; 5 6 bool binput = f a l s e ; 7 8 while ( 1 ) 9 { 10 g i n p u t D r i v e r. Update ( 1. 0 f / f ) ; 11 g inputmanager. Update ( 1. 0 f / f ) ; 12 binput = ShInput : : IsTrue ( pinput1 ) ; } Algorithme 1 Création et écoute sur un bouton juste pressé Le Shine Engine implémente également des fonctions standard afin qu elles soient multi-plateformes, on les trouve dans les bibliothèques ShScriptTree, ShMaths et ShStd. Vient finalement le ShSDK, qui est l interface à toutes les bibliothèques décrites précédemment. C est principalement aux fonctions de cette bibliothèque que nous faisons appel lors du développement d une application, celles-ci servant d interfaces aux méthodes des bibliothèques plus spécifiques. Il y a également ShApplication, qui est la bibliothèque représentant le déroulement d une application, c est-à-dire l initialisation, le déroulement de l application et finalement la sortie de l application avec toutes les libérations mémoire. Ces fonctions sont présentées dans l algorithme 2. 11

13 1 virtual void O n P r e I n i t i a l i z e ( void ) ; 2 virtual void I n i t i a l i z e ( void ) ; 3 virtual void O n P o s t I n i t i a l i z e ( void ) ; 4 virtual void MainLoop ( void ) ; 5 virtual void OnPreRelease ( void ) ; 6 virtual void Release ( void ) ; 7 virtual void OnPostRelease ( void ) ; Algorithme 2 Cycle de vie d une application Un peu en dehors du moteur de jeu, on trouve deux autres bibliothèques. La première est ShCompiler. Elle contient tous les codes pour compiler les fichiers dans le format spécifique à chaque plateforme. En effet, la plupart des consoles, dont la Wii U, ne peuvent pas lire directement un fichier dans un format que l on aurait l habitude d utiliser sur un ordinateur. Les fichiers sons et images notamment doivent être compilés dans un format spécifique à chaque plateforme. Pour faciliter ce traitement, Shine Research développe un Assets Compiler qui est une application compilant tous les fichiers génériques se trouvant dans un dossier pour les avoir dans le format de la plateforme souhaitée. Les méthodes de compilation de ces fichiers se trouvent dans cette bibliothèque. La dernière bibliothèque est ShGui. C est une bibliothèque propre à la création et l affichage du Shine Editor. 1.2 La Nintendo Wii U Il existe deux grands types de consoles, les consoles portables et les consoles de salon. Celles-ci nécessitent d être alimentées en permanence et d être reliées à un écran de télévision pour jouer. La Wii U est la dernière console de salon de Nintendo, sortie en fin d année Cette console a une particularité par rapport à ses concurrentes et par rapport à la génération de consoles précédentes. C est en effet la première console à être vendue avec une manette disposant d un écran tactile, appelée GamePad. Cet écran tactile d environ seize centimètres de diagonale offre des possibilités de jeu et d utilisation nouvelles. Cela permet d afficher des données différentes sur l écran du GamePad par rapport à ce qui est affiché sur l écran de la télévision ou encore de pouvoir complètement éteindre sa télévision pour jouer uniquement avec l écran du GamePad. La Wii U et cette manette sont illustrés dans la figure 4. Les manettes de la Wii U La plupart des consoles de salon ne proposent qu un seul type de manette, ce n est pas le cas de la Wii U. 12

14 Figure 4 La Wii U et son GamePad Figure 5 Le GamePad Wii U GamePad Nous avons déjà présenté rapidement le GamePad, celui-ci étant la signature de la Wii U. Une image de cette manette est en figure 5. Nous allons voir plus précisément de quoi il est composé : Un écran de 6, 2 pouces, soit environ 15, 75 centimètres. Il s agit d un écran LCD ayant un format d image en 16 : 9. Cet écran est tactile mono-point, c est-à-dire qu il ne peut détecter qu un seul point de contact à la fois. Deux joysticks analogiques avec bouton cliquable, un à droite et un à gauche Une croix directionnelle Des boutons A, B, X, Y, + et Des boutons L, R, ZL, et ZR à l arrière Un accéléromètre et un gyroscope sur trois axes Une caméra frontale Un microphone Des haut parleurs 13

15 Des moteurs de vibration Un capteur NFC Wii Remote et Wii U Pro Controller La Wii U peut également être jouable avec la manette de la Wii, appelée Wii Remote, et ses accessoires, ainsi qu avec une autre manette appelée le Wii U Pro Controller. Ces manettes sont illustrées dans le figure 6. Composition du Wii U Pro Controller : Deux joysticks analogiques avec bouton cliquable, un à droite et un à gauche Une croix directionnelle Des boutons A, B, X, Y, + et Des boutons L, R, ZL et ZR à l arrière Un moteur de vibration Composition de la Wii Remote : Accéléromètre sur trois axes Gyroscope sur trois axes (dans le cas d une Wii Remote Plus uniquement) Pointeur infra-rouge Une croix directionnelle Un bouton A à l avant et un bouton B à l arrière Un haut parleur Possibilité de connecter un accessoire, dont : Le Nunchuk, possédant : Accéléromètre sur trois axes Un joystick analogique Deux boutons C et Z à l arrière Le Classic Controller, possédant : Deux joysticks analogiques avec bouton cliquable, un à droite et un à gauche Une croix directionnelle Des boutons A, B, X, Y, + et Des boutons L, R, ZL et ZR à l arrière Une Wii U peut avoir jusqu à six manettes connectées en même temps, comprenant au plus deux GamePad et quatre autres manettes parmi les Wii Remote et les Wii U Pro Controller. 1.3 Déroulement du stage Mon stage s est découpé en deux grandes parties. J ai tout d abord implémenté les principales fonctionnalités du moteur de jeu permettant de faire fonctionner une application sur la console Wii U. J ai ensuite porté un jeu implémenté par Shine Research pour les smartphones l année passée afin qu il soit optimal sur cette console. 14

16 Figure 6 Les autres manettes de la Wii U Implémentation du moteur pour la console Wii U Cette partie est la plus importante du stage, aussi bien en terme de durée que de difficulté. Il s agit de relier toutes les fonctions présentes dans le moteur de jeu Shine Engine aux fonctions du SDK de la Wii U, kit de développement de la Nintendo Wii U. L objectif est de pouvoir créer une application complète pour la Wii U en utilisant le SDK du Shine Engine. Il faut donc implémenter chacune des parties de ce SDK, incluant la gestion du système de fichiers, des saisies, du rendu graphique, du son ou encore des sauvegardes. Il est parfois nécessaire d adapter le SDK du Shine Engine afin de permettre aux utilisateurs d accéder à des fonctionnalités qui ne sont présentes que sur la Wii U, ou qui ne sont pas uniformisables entre toutes les plateformes. Le développement pour une console impose également de suivre quelques règles propres à la plateforme imposées par le constructeur. Il faut donc lire les recommandations dictées par Nintendo et veiller à toutes les respecter, sinon les applications produites avec le Shine Engine ne seront pas acceptées pour la commercialisation Cas concret : le jeu de flipper Quantic Pinball sur la Wii U Une fois que le moteur de jeu est fonctionnel sur la Wii U, nous avons travaillé sur le jeu Quantic Pinball pour la Wii U. Ce jeu nous a permis de tester les fonctionnalités implémentées dans le moteur de jeu. Si le Shine Engine permet de faire un code fonctionnel sur toutes les plateformes gérées par celui-ci, il est judicieux dans notre cas de changer quelques fonctionnalités du jeu. En effet, ce jeu a été développé dans l optique d être commercialisé sur smartphone et tablette. L affichage du jeu se fait donc en mode portrait et les saisies sont gérées par l écoute des appuis sur un écran tactile. Pour que le jeu soit plus adapté à une console, il faut changer l affichage pour qu il soit optimal sur un écran de télévision. Il faut également faire en sorte que les saisies soient gérées par des manettes. 15

17 1.4 Environnement de développement Les développements du moteur ainsi que du jeu se sont faits en C++ sous le système Windows 7 et avec l environnement de développement Microsoft Visual Studio Pour la gestion des versions de développement, nous avons utilisé Perforce[7] et l interface utilisateur P4V[6]. L avancement des tâches du projet a été effectué avec Trello[5], qui est un outil de gestion de projet en ligne. Divers logiciels spécifiques au développement avec une Wii U ont été nécessaires, ils seront détaillés dans la partie suivante. 16

18 2 Développement du moteur de jeu pour Wii U Nous allons maintenant voir comment le pilote pour la Wii U a été mis en place dans le Shine Engine. Il y a tout d abord eu plusieurs configurations à faire avant de pouvoir commencer à travailler sur la Wii U, puis nous avons pu commencer à intégrer partie par partie le pilote. Un compilateur pour générer les fichiers dans un format compatible avec la console a également été développé. 2.1 Premiers pas du développement sur la Wii U avec le Shine Engine Pour développer des applications pour la console Wii U, nous avons besoin de matériel et de logiciels particuliers. Côté matériel, il est nécessaire de posséder un kit de développement, communément appelé devkit. Il n est pas tout à fait identique à une console Wii U disponible à la vente. Son apparence est beaucoup plus simple et il possède plusieurs LED pour indiquer les états du kit. La principale différence est qu il ne possède pas de lecteur de disques intégré. Il est relié à un ordinateur hôte grâce à un switch et des liaisons Ethernet. L ordinateur et le kit de développement pourront ainsi communiquer dans les deux sens en permanence, l ordinateur servant alors de système de fichiers pour la console. Il permet d avoir des informations de debug affichés dans une console lors de l exécution d une application. Le kit est également relié à un écran de télévision en HDMI sur lequel il y a l affichage et le son des applications. Toutes les manettes de la Wii U peuvent être utilisées sur le kit de développement. Une illustration des composants matériels est faite en figure 7. Figure 7 Les composants matériel nécessaires au développement En plus du matériel, plusieurs logiciels sont nécessaires. Il est tout d abord nécessaire de télécharger le System Development Kit (SDK) de la Wii U. 17

19 Celui-ci contient les bibliothèques, les pilotes et toute la documentation nécessaire à la prise en main du SDK. Il y a également plusieurs sources de démonstrations d application pour la Wii U, montrant l utilisation des différentes bibliothèques. Il est également nécessaire d installer Cygwin, un environnement de ligne de commandes pour Windows, qui permet d utiliser de nombreuses commandes propres au développement pour la Wii U. Pour configurer le kit de développement et le connecter à l ordinateur hôte, nous avons besoin d un logiciel faisant le pont entre l ordinateur hôte et le devkit. À l installation de ce dernier, nous spécifions l adresse MAC de la console, qui est une adresse unique spécifique à chaque kit, pour qu il puisse trouver et sauvegarder l adresse IP de la console. Il est important de faire attention à ce que l adresse du kit reste inchangée et ne soit pas réattribuée plus tard, sans quoi il serait nécessaire de reconfigurer la connexion à chaque changement d adresse. Une fois que tout l environnement a été mis en place pour pouvoir communiquer avec le devkit et développer avec le SDK de la Wii U, nous avons pu nous concentrer sur l intégration de la Wii U dans le moteur de jeu Shine Engine. Dans un premier temps, nous avons décidé de travailler sur une application très simple qui ne fait qu afficher deux ronds blancs sur l écran. Elle permettait de se concentrer sur la plupart des fonctionnalités de base nécessaires, comme la gestion du système de fichier et les affichages en 2D. L application a été configurée dans Visual Studio pour spécifier qu elle devait faire appel aux fonctions de la Wii U. Tous les jeux sont architecturés de la même manière. Il y a tout d abord toute une série d appels à des fonctions d initialisation de structures et bibliothèques, puis la boucle principale de jeu et finalement la libération de tout ce qui a été alloué en mémoire. La boucle de jeu est l élément central. En effet, dans des applications telles que les jeux vidéos, on ne peut pas se contenter d attendre un événement ou une action de l utilisateur. L application va être constamment en activité, animant des images ou gérant des sons par exemple. Cette boucle de jeu est donc une boucle infinie composée de trois grandes fonctions dans le Shine Engine : Update, Render et Flip. Dans Update, toutes les structures sont mises à jour, elle est responsable de la gestion du code du jeu. La méthode Render quant à elle correspond à la mise à jour de l affichage du nouvel état de l application. Et finalement, la fonction Flip envoie ces mises à jour à la console. Le premier objectif a été de réussir à rentrer dans la boucle principale de jeu. Pour cela, nous avons choisi de commenter dans un premier temps toutes les fonctions qui bloquaient l application car elles n étaient pas encore implémentées. Finalement, nous sommes arrivés à une application qui rentrait dans une boucle infinie en ne faisant rien. 18

20 2.2 Le système de fichiers La premier travail effectué a été l implémentation de la gestion du système de fichiers. La Wii U possède en fait deux bibliothèques pour gérer les fichiers, une interface générale et une interface spécifique à la sauvegarde de données. Dans un premier temps, nous ne nous sommes occupés que des accès aux fichiers ne concernant pas la sauvegarde. La bibliothèque permettant de gérer le système de fichiers de la Wii U permet d utiliser des fichiers textes ainsi que des fichiers binaires. Il est possible de faire les opérations de base sur le système de fichiers de la Wii U : Ouvrir un fichier en lecture, écriture ou ajout Lire un fichier Écrire dans un fichier Ajouter dans un fichier Se positionner dans un fichier Obtenir les informations d un fichier (permissions, taille, possesseur...) Supprimer un fichier (seulement s il n est pas ouvert) Fermer un fichier Ouvrir un dossier Lire un dossier (obtenir la prochaine entrée dans ce dossier) Supprimer un dossier (seulement s il n est pas ouvert et si son contenu est vide) Fermer un dossier Lors du développement d une application avec le kit de développement de la Wii U, le système de fichiers peut se trouver à deux localisations différentes, sur la console ou sur l ordinateur hôte. Il est possible de passer de l un à l autre, chacun présentant des avantages comme des inconvénients. Dans le cas où le système de fichiers pris en compte est celui de la console, le chargement des fichiers est rapide. Mais pour tester les applications que l on développe, il est nécessaire de copier tous les fichiers utilisés sur le devkit, les images, les fichiers son ou encore les fichiers de configuration lus par l application, mais aussi l application compilée. Dans un processus de développement, cette pratique peut vite devenir contraignante. Au moindre changement dans un fichier, il faut recompiler toute l application et la remplacer sur le kit de développement. Ce transfert peut parfois être un peu long. Si le kit utilise le système de fichiers de l ordinateur pour émuler le système de fichiers de la console. Il devient alors plus facile de faire des modifications dans les fichiers nécessaires à l application. La capacité de stockage des fichiers est également considérablement augmentée, puisqu elle devient égale à celle de l ordinateur. En revanche, lorsque la console doit charger un fichier, par exemple pour afficher une image, elle doit aller le chercher sur l ordinateur et le télécharger. Les temps de chargement deviennent donc beaucoup plus longs. 19

21 Lorsque le devkit est démarré indépendamment de l ordinateur, il peut être configuré pour utiliser l un ou l autre des systèmes de fichiers. En revanche, lorsqu il est démarré via l ordinateur, en exécutant l application dans Visual Studio par exemple, c est toujours le système de fichiers de l ordinateur qui est utilisé pour simuler celui de la console. Durant la plus grande partie du développement, le système de fichiers utilisé est donc celui de l ordinateur car cela reste le plus simple et le plus rapide. Toutes les méthodes ayant un accès au système de fichiers ont trois arguments en commun : un pointeur sur un client, un pointeur sur un bloc de commande et une variable qui est un indicateur permettant de récupérer les éventuelles erreurs. Un client est une entité qui va avoir accès aux fichiers, il est nécessaire de créer au moins un client. Il y a une limite maximale au nombre de clients simultanés enregistrés, qui est de 64 clients. Un bloc de commande est une commande comme par exemple ouvrir le fichier text.txt en lecture. Chaque client possède ensuite une file de commandes représentant les accès qu il souhaite faire. Et le système va exécuter ces commandes une à une. La figure 8 illustre ce procédé. Et chaque méthode interagissant avec le système de fichiers va écrire dans un indicateur d erreur. Cet indicateur peut prendre plusieurs valeurs : Pas d erreur Fichier déjà ouvert Fichier déjà existant Fichier non trouvé Le chemin ne correspond pas à un fichier Le chemin ne correspond pas à un dossier Erreur d accès Erreur de permission Fichier trop gros Mémoire pleine Erreur de commande (opération non supportée par le système) 2.3 Les saisies La console Wii U supporte de nombreuses manettes différentes et avec des fonctionnalités bien particulières par rapport aux autres consoles. Différentes bibliothèques sont nécessaires à leur gestion. Pour notre intégration dans le moteur de jeu, nous avons utilisé deux bibliothèques différentes pour la gestion des manettes. L une d entre elle est propre au Wii U GamePad, l autre est commune aux autres manettes. En ce qui concerne le GamePad, il est également possible de gérer la caméra et le microphone. Mais nous ne nous sommes pas attardés sur ces fonctionnalités durant le développement du moteur, elles pourront être intégrées par la suite. Nous nous sommes en revanche intéressés à la lecture de l état des boutons (pressés ou relâchés) ainsi que les contacts sur l écran tactile. Il 20

22 Figure 8 Listes de demandes provenant de plusieurs clients au système de fichiers est également possible de connaître l état du gyroscope et de l accéléromètre, et de gérer les vibrations de la manette. La Wii Remote, ses accessoires et le Wii U Pro Controller sont toutes gérées par les mêmes bibliothèques. Celles-ci permettent, de manière similaire à la bibliothèque pour le GamePad, de connaître l état des boutons, des gyroscopes et accéléromètres d une manette à un moment donné. Pour ces manettes, il existe deux bibliothèques, une bibliothèque de bas niveau qui permet de gérer la connexion des manettes et d aller sonder l état, et une bibliothèque de plus haut niveau qui est basée sur la première et qui l encapsule pour la rendre plus simple d utilisation et ajouter des fonctionnalités supplémentaires. Au lancement d une application, il faut initialiser les bibliothèques de gestion des saisies afin de récupérer l état des manettes. Le GamePad est automatiquement allumé et synchronisé avec la Wii U au démarrage de la console sans qu il soit nécessaire de faire quoi que ce soit de particulier. En revanche, pour les autres manettes, il est nécessaire de faire appel à une fonction de synchronisation pour que la console cherche si des manettes sont actuellement allumées et en attente de synchronisation. Nous faisons appel à cette fonction à chaque démarrage d une application. À chaque tour de la boucle de jeu, l application va mettre à jour l état des manettes. Les méthodes de sondage renvoient une structure complète représentant l état de tous les boutons et autres capteurs des manettes. Nous récupérons par la suite les informations contenues dans cette structure pour mettre à jour les données stockées dans le moteur. 2.4 L affichage en 2D Après l implémentation des saisies pour les différentes manettes, nous nous sommes intéressés à l affichage et donc au développement des fonctions 21

23 de ShDisplayDriver pour la Wii U. Le GPU de la Wii U est basé sur les processeurs graphiques de la série Radeon utilisant Direct3D en version 10.1 et OpenGL 3.3. Nintendo dispose d une bibliothèque propre à ses consoles pour les processeurs graphiques. La première étape est l initialisation de toutes les structures et données qui vont être nécessaires à l affichage. Pour l affichage, nous avons besoin d un color buffer dans lequel la couleur des pixels de l écran va être stockée et d un depth buffer dans lequel la profondeur des pixels affichés va être stockée. Il faut bien sûr allouer en mémoire toutes les structures, mais il faut également faire des initialisations qui sont plus spécifiques au développement pour une console. Nous récupérons par exemple le mode de rendu de la télévision à laquelle est branché le kit de développement. Cela nous permet de savoir la qualité graphique maximale que nous pourrons obtenir, c est-àdire le nombre de pixels que nous pouvons afficher à l écran au maximum. Dans le cas de la Wii U, il est également nécessaire de récupérer le mode de rendu de l écran du GamePad, même si celui-ci est toujours le même pour toutes les Wii U. Il est possible de choisir d afficher des images à une qualité inférieure à la qualité optimale de l écran, mais il est évidemment impossible d en afficher à une qualité supérieure. Dans le cas de la Wii U, nous avons donc deux contextes d affichage, deux écrans, celui de la télévision et celui du GamePad. Il est possible d afficher des images différentes sur ces deux écrans, ils ont donc chacun leurs données qui sont indépendantes l une de l autre. Lors de l affichage, l application se place dans un contexte (télévision ou GamePad) avant de faire appel à une fonction du GPU afin de faire le rendu sur l écran souhaité. Nous avons tout d abord travaillé sur une application se contentant de dessiner un simple triangle sur un fond de couleur. Cela nous a permis d implémenter la plupart des méthodes nécessaires à l affichage d objets avant de travailler sur une plus grosse application telle qu un jeu complet. Avant d afficher les objets, nous définissons la couleur du fond de l écran. Il faut ensuite définir le contexte dans lequel nous nous plaçons pour dessiner puis remplir les différents buffers nécessaires à l affichage de notre image. Le GPU va dessiner deux triangles accolés pour former un rectangle, puis placer une texture par dessus et finalement le shader pourra apporter les modifications de rendu le cas échéant. La figure 9 illustre de quelle manière une image est dessinée sur cette base de deux triangles dans le menu du jeu Quantic Pinball. Il a donc fallu se pencher sur l écriture de shaders pour la Wii U. Normalement, plusieurs shaders différents sont utilisés pour une seule application. Mais étant donné que nous avons décidé de nous concentrer uniquement sur une application en deux dimensions, un seul shader sera suffisant. Notre shader est composé d un vertex shader et d un pixel shader. Le vertex shader permet de transformer la position d un vertex dans un repère qui représente 22

24 Figure 9 Dessin d une image sur une base de deux triangles reliés en triangle strip le monde au sein de notre jeu tel qu il apparaît à l écran. Les vertex shaders permettent de manipuler des propriétés telles que la position, la couleur et les coordonnées d une texture mais ne permettent pas de créer de nouveau vertex. Un pixel shader, parfois appelé fragment shader, calcule la couleur et les autres attributs de tous les pixels. Le plus simple des pixel shaders affiche juste une couleur comme pixel à l écran, mais il peut également modifier la transparence, l ombrage ou accentuer une lumière. Les shaders sont programmés dans un langage qui leur est propre et qui est dépendant de l environnement sur lequel ils doivent s exécuter. Il existe deux grands langages, les plus répandus. OpenGL Shading Langage, appelé GLSL, est le langage officiel d OpenGL et OpenGL ES. Il y a également le langage officiel de Direct3D, qui est High Level Shader Language, également connu sous le nom HLSL. Dans notre cas, nous avons développé le shader en GLSL. Il est important de noter que Nintendo fourni un logiciel permettant d analyser toutes les méthodes exécutées par le GPU. C est un outil d analyse de données, souvent appelé profiling, qui s avère très vite indispensable lors du développement d un jeu. Il permet de voir si on ne fait pas appel à des méthodes superflues et offre également la possibilité de savoir combien de millisecondes sont nécessaires à chaque méthode pour trouver les plus coûteuses. Grâce à ce logiciel, nous pouvons aussi vérifier le contenu des divers buffers à chaque étape de l affichage d un écran de jeu. 2.5 Le driver son Pour la gestion du son, le travail s est fait sur deux classes. La première classe définit une voix. Une voix est une musique ou de manière plus générale un son. Il peut être joué en boucle ou non et on peut spécifier le volume de chaque voix indépendamment. Chaque voix est sur son propre canal, de telle 23

25 manière qu on peut jouer plusieurs sons en même temps. La seconde classe sert à la gestion de toutes les voix et permet d initialiser la bibliothèque de son. La Wii U dispose de plusieurs bibliothèques pour le système de sons. Une seule bibliothèque nous est nécessaire, les autres ajoutant uniquement des fonctionnalités à celle-ci. Nous avons choisi de ne rendre les sons que sur la télévision et le GamePad, bien qu il soit également possible de rendre des sons sur les Wii Remotes également. Ce choix a été basé en fonction du jeu Quantic Pinball qui était notre objectif à la fin du stage. Pour jouer un son, il faut d abord charger le fichier dans la mémoire de la console. Ensuite, la bibliothèque va acquérir une voix à partir de ce fichier. On commence par définir l adresse mémoire d une voix. On peut ensuite choisir le volume de cette voix ainsi que sa tonalité et spécifier si l on souhaite qu elle s arrête à la fin de la lecture ou qu elle redémarre. La figure 10 illustre les différentes étapes du rendu d un son. Figure 10 Étapes pour le rendu du son 2.6 Mise en place d un système de sauvegarde Difficile d envisager un jeu sans système de sauvegarde pour stocker les progressions du joueur. Il était donc indispensable d implémenter cela dans le moteur de jeu. Il existait déjà deux classes très simples avec une méthode de sauvegarde et une méthode de chargement utilisées pour les systèmes Android et ios, mais elles étaient trop simplistes pour la Wii U. Nous avons donc créé toute une structure pour gérer les sauvegardes dans l optique qu elle soit réutilisable par toutes les plateformes par la suite. Elle est composée d une interface commune avec les fonctions usuelles d initialisation et libération ainsi que les méthodes de chargement et sauvegarde. Ces méthodes sont ensuite implémentées de manière spécifique pour chaque plateforme. 24

26 Pour sauvegarder sur la Wii U, il faut prendre en compte la notion d utilisateur. Il est possible de créer plusieurs comptes d utilisateurs sur Wii U, chacun avec son propre identifiant Nintendo Network. Ainsi, chaque utilisateur peut disposer de son propre identifiant et l utiliser sur Wii U. Chaque jeu doit également être sauvegardé dans un répertoire qui lui est réservé. Nous disposons de deux bibliothèques pour la gestion des sauvegardes, la première permet de récupérer les informations concernant les comptes utilisateurs et la seconde concerne la gestion des données sauvegardées. Au début d une partie, on commence par récupérer l identifiant unique du compte du joueur. Ensuite, on se place dans le répertoire correspondant au jeu et à l utilisateur courant ou bien on le crée si c est la première fois que l on doit sauvegarder à cet endroit. La lecture et l écriture d un fichier de sauvegarde se base sur des appels à des fonctions d accès au système de fichiers que nous avons décrites précédemment dans la partie 2.2. Pour sauvegarder, nous copions le contenu de la précédente sauvegarde, le cas échéant, dans un fichier temporaire puis nous créons un nouveau dossier dans lequel nous écrivons toutes les données nécessaires. Il est effectivement conseillé de supprimer tous les anciens fichiers et de les recréer plutôt que d écraser l ancien contenu avec du nouveau. De même, il est recommandé de préférer la création de peu de fichiers de sauvegarde volumineux plutôt que de plus petits fichiers en grand nombre. À la fin d une partie, il faut bien faire attention à fermer les fichiers qui ont été ouverts pour la sauvegarde afin de ne pas perdre de données. 2.7 Le Home Button Menu Lorsqu on est en train de jouer à la Wii U, il est possible d afficher un menu en appuyant sur le bouton HOME présent sur toutes les manettes. Ce menu s appelle le Home Button Menu, ou plus simplement le Home Menu, il est illustré en figure 11. L implémentation de la gestion de ce menu est un élément incontournable pour le développement sur la Wii U. Lorsqu on lance une application sur la console, celle-ci s affiche en premier plan, appelé foreground, pendant que différents outils systèmes continus de s exécuter en arrière plan (background). La Wii U possède un processeur tri-cœur et chacun de ces cœurs peut exécuter une tâche différente, en arrière plan ou au premier plan. Lorsque le bouton HOME est pressé, il faut envoyer le jeu en cours d exécution à l arrière plan afin que le menu puisse prendre la place au premier plan et s afficher sur les écrans de la télévision et du GamePad. Lors d un appui sur le bouton HOME, le système envoie un message particulier à l application en cours d exécution. Il est nécessaire d écouter en permanence les messages qui sont envoyés par le système de la console. Dès que l on reçoit un message, il faut en identifier le type et le traiter en conséquence. Dans le cas d un appui sur le bouton HOME, il faut rendre 25

27 Figure 11 Le Home Button Menu le premier plan sur au moins deux des trois cœurs du processeur. Le menu aura alors la possibilité de s afficher. D autres types de messages peuvent être envoyés par le système, tels qu une demande de mise en veille de la console. Ces messages sont également réceptionnés par l application qui réagit selon la demande. 2.8 Implémentation du compilateur pour les fichiers de la Wii U Tout au long du développement de l intégration de la Wii U au sein du Shine Engine, il a été nécessaire de compiler des fichiers dans un format propre à la Wii U. C est dans ce but que le ShAssetCompiler a été créé. Cette application permet de compiler des fichiers d images, de shaders ou encore de sons dans le format spécifique à la plateforme cible. Nintendo propose des applications exécutables en ligne de commandes afin de convertir des fichiers dans le format lisible pour la console. Il a donc été ajouté au ShAssetCompiler la possibilité de compiler des fichiers pour la Wii U afin d automatiser ce procédé. Le compilateur se place dans un dossier générique contenant tous les fichiers d un jeu aux formats utilisés habituellement pour les ordinateurs (wav pour le son et tga pour les images par exemple), puis dans le sous dossier correspondant au type de fichiers qu il s apprête à compiler. Il existe par exemple un sous dossier Audio dans lequel se trouvent tous les sons. L application va alors parcourir tout ce dossier et récupérer les fichiers s y trouvant pour exécuter la commande de compilation propre à la plateforme sur chacun d eux. La compilation des fichiers son ainsi que celle des fichier images ont été intégrées. 26

28 3 Quantic Pinball Une fois que le moteur de jeu a permis d avoir une application fonctionnelle sur la Wii U, nous avons testé notre travail avec le jeu Quantic Pinball en effectuant un portage pour la console. Il a fallu faire quelques modifications que nous décrivont ici afin que le jeu soit facilement jouable sur la console. Nous présentons finalement le processus de soumission d un jeu que nous avons suivi une fois que les modifications souhaitées ont été effectuées. Mais commençons tout d abord par une présentation de Quantic Pinball. 3.1 Le jeu Quantic Pinball est un jeu de flipper futuriste. La particularité de ce flipper est son style rétro avec la présence de Space Invaders qui envahissent l écran dans plusieurs modes de jeu. Il propose dix modes de jeu différents, sept tables jouables ainsi qu un niveau spécial sans fin. Chaque mode de jeu dure trente secondes et possède un but et une jouabilité différente : Blackout L éclairage s éteint sur la table de jeu. Seul un halo de lumière autour des billes subsiste. Mystery Un seul élément dans la table est actif. Cela peut être un bumper ou un couloir. Il faut activer cet élément pour valider le mode. Sniper Les couleurs sont allumés tour à tour. Il faut viser les couloirs dans l ordre indiqué. Warp sector Des portails de téléportation apparaissent dans la table. Si une bille passe dans un portail, elle est téléportée à un autre endroit dans la table. Magnetic Des tourbillons magnétiques modifient fortement la trajectoire de la bille lorsqu elle s en approche. Multi ball Plusieurs billes sont jouables en même temps. Iron storm Un grand nombre de billes apparaissent et sont jouables en même temps. Smash Up Plusieurs bumpers supplémentaires sont créés au milieu de la table. Spiders Des araignées dans le style rétro font leur apparition et il faut les exploser en les touchant avec la bille. Kill em all Les deux flips se transforment en un canon tirant en rafale alors que des envahisseurs de l espace descendent le long des rampes. Il faut tous les exterminer avant qu ils n atteignent le bas de la table. Actuellement, Quantic Pinball est disponible à la vente pour les appareils Android[1] et ios[2]. 27

29 3.2 Les modifications apportées Le jeu ayant été développé dans l optique d être distribué sur des terminaux mobiles, il n était graphiquement et fonctionnellement pas optimal pour être joué avec une manette en étant affiché sur une télévision. Du côté de l affichage, la principale modification à faire vient du fait que les écrans de smartphones et les écrans de télévision n ont pas la même orientation, les premiers étant en portrait et les seconds en paysage. Ainsi, au départ le jeu s affichait au centre de l écran avec deux grandes bandes noires de chaque côté. Nous avons donc mis en place un nouveau fond d écran dans le menu pour qu il prenne toute la largeur de l écran. Ce fond d écran apparait dans le menu principal, illustré dans la figure 12 ainsi que dans tous les sous menus. Il est animé et consiste en cent images d une ville qui défile à l arrière plan. Nous avons également décidé d ajouter des petites images représentant les boutons A et B des manettes sur les différentes pages ainsi qu un halo lumineux autour du menu sélectionné pour faciliter la prise en main. L écran permettant la saisie d un pseudonyme de jeu a également été modifié. En effet, il reposait sur la fonctionnalité tactile des écrans de smartphones pour sélectionner les lettres. Le joueur utilisant une manette sur console, nous avons rajouté un fond blanc pour marquer la lettre sélectionnée pour que le joueur se repère. Figure 12 Menu principal de Quantic Pinball Wii U Pour cette version, nous avons également décidé d intégrer deux nouveaux écrans après avoir sélectionné le niveau que l on souhaite jouer. Tout d abord, nous affichons un écran représentant la manette actuellement uti- 28

30 Figure 13 Écran d affichage des commandes de jeu pour le GamePad lisé ainsi que les actions associées aux touches de cette manette. Cet écran avec comme manette courante le GamePad est illustré en figure 13. Il est différent selon la manette connectée, il en existe quatre variantes : une avec le GamePad, une avec la Wiimote seule, une avec la Wiimote et un Nunchuk et une avec la manette Wii U Pro Controller. Le second écran est un écran de tutoriel. Il sert à expliquer le fonctionnement du jeu et à quoi chacune des zones correspond. Cet écran n est affiché que les trois premières fois qu un même utilisateur joue à un niveau, il n apparaît plus par la suite. Le nombre de parties jouées par un utilisateur est stocké dans son fichier de sauvegarde. Les deux nouveaux écrans ont été créés à l aide du Shine Editor, qui nous permet de positionner les éléments très facilement et rapidement. La figure 14 montre la création du niveau affichant le tutoriel dans l éditeur. Les textes affichés sont dans des text zone. Ceci nous permet de pouvoir gérer l internationalisation du jeu. En effet, une text zone est définie par un mot clef qui permet ensuite d aller chercher le texte à afficher dans un fichier XML. Nous créons alors plusieurs fichiers XML, un par langue traduite, et le fichier chargé est celui qui correspond au langage par défaut de la console. L écran de jeu a également été modifié légèrement pour qu il prenne tout l espace de l écran. Deux bandes animées ont été placées de chaque côté de la table de jeu, reprenant le fond d écran animé du menu. Sur la droite, un logo de Quantic Pinball a été ajouté ainsi que le nombre de billes restantes qui apparaissait auparavant en petit en bas de la table. Le score, qui était également en petit au bas de la table, est affiché sur la gauche. La figure 15 montre l écran de jeu type de Quantic Pinball sur Wii U avec le mode jeu 29

31 Figure 14 Création de l affichage du tutoriel avec le Shine Editor Figure 15 Écran de jeu avec le mode Warp Sector déclanché 30

32 Warp Sector déclenché. Le chiffre en bas à droite de la table de jeu représente le décompte des secondes restantes avant la fin du mode. D autres captures d écran du jeu Quantic Pinball sont disponibles en annexe A. Elles présentent l écran de choix du pseudonyme tel qu il a été adapté pour la console, d autres écrans d affichage des contrôles pour les manettes ainsi que quelques modes de jeu pour illustrer le fonctionnement de Quantic Pinball. 3.3 Création de la version master Une fois le jeu fonctionnel, il faut créer une version master de l application afin de pouvoir l installer sur une console. Pour cela, il y a une certaine chaîne à suivre, plusieurs applications qui permettent de vérifier la conformité du jeu avec le système et les exigences de la plateforme. Pour les développements sur la Wii U, Nintendo fournit une liste de recommandations que le jeu doit respecter. Si l une de ces recommandations n est pas respectée, le jeu ne sera pas accepté à la vente. Ces recommandations sont variées, pouvant aller des règles d affichage à des comportements bien spécifiques que la console doit avoir avec toutes les applications. Des exemples de comportements qu il faut implémenter sont par exemple le fait que le Home Menu doit s afficher quand on appuie sur le bouton HOME ou encore que la console doit s éteindre lorsqu on sélectionne ce choix dans le menu. Il y a également des règles sur l utilisation des manettes au sein du jeu pour empêcher toute manœuvre dangereuse pour l utilisateur ou qui risquerait d endommager le matériel. Une fois que l on est sûr de bien respecter toutes les recommandations, nous pouvons créer le fichier final de l application. Pour cela nous avons à disposition un logiciel dans lequel nous mettons différentes informations telles que le logo du jeu à afficher dans le menu, l image de chargement, le titre du jeu dans plusieurs langues, les informations sur l entreprise ou encore la date officielle de sortie. Il faut également définir la classification du jeu, pour savoir s il est tout public ou s il doit avoir une limite d âge. Les systèmes d évaluation des jeux vidéo varient selon les continents et parfois au sein d un même continent. Le jeu étant à destination de l Europe, il est concerné par la classification PEGI, pour Pan European Game Information. Il faut également rédiger un manuel d utilisation qui sera visible depuis le magasin en ligne ainsi que depuis le menu en jeu. Ce manuel décrit le jeu et ses règles ainsi que les contrôles de manettes. Une fois ce procédé terminé, nous pouvons envoyer notre jeu en vérification auprès de Nintendo qui vérifie à son tour sa conformité. 31

33 4 Bilan Après 17 semaines de stage, nous pouvons faire le point sur ce qui a été fait par rapport aux objectifs initiaux et sur le déroulement du stage. Le développement s est fait de manière incrémentale. L objectif a été d obtenir rapidement une application fonctionnelle, entrant dans la boucle de jeu, même si elle ne faisait rien. Les modules ont ensuite été implémentés et intégrés un à un pour ajouter des fonctionnalités. 4.1 États du Shine Engine et de Quantic Pinball L intégration de la Wii U au Shine Engine a été réalisée. Le moteur de jeu peut à présent prendre en charge les jeux en deux dimensions sur cette plateforme. Le système de fichiers ainsi que le système de sauvegarde pour la plateforme sont complètement implémentés et fonctionnels. Il en est de même pour la gestion du son. Parmi toutes les manettes de la Wii et de la Wii U, une seule n a pas été testée, il s agit du Wii U Pro Controller. En effet, elle n est pas incluse dans le kit de développement et nous n en avons pas encore à notre disposition. L intégration de cette manette devrait cependant être très rapide compte tenu de la généricité de l implémentation de la gestion des manettes. L affichage des images en deux dimensions est géré, il reste cependant encore du travail sur l affichage des textes. Ils ne sont en effet pas traités de la même manière au sein du moteur et posent un peu plus de difficultés par rapport à la bibliothèque graphique de la console. L implémentation de la gestion du Home Button Menu s avère assez compliquée à effectuer. Elle a été réalisée, le menu s affichant effectivement lorsque le bouton est appuyé. Mais l application rencontre une erreur lorsqu on la quitte via ce menu. Quelques corrections sont donc encore à faire sur cette partie. En ce qui concerne Quantic Pinball, le portage est terminé et fonctionnel. Les nouvelles images ont toutes été intégrées au jeu ainsi que les nouveaux écrans affichant les contrôles de jeu et le tutoriel. Il reste à faire traduire les différents textes dans les langues souhaitées ainsi qu à obtenir la classification d âge de jeu officielle. 4.2 Problèmes rencontrés Il n a pas été facile au début du stage de prendre ses repères dans le code de Shine Engine. C est en effet une application qui est déjà très vaste et assez complexe. Intégrer les appels aux bibliothèques de la Wii U n a pas toujours été chose aisée car les interfaces des fonctions du moteur ne correspondaient par toujours avec celles des bibliothèques. 32

34 Il n a pas été évident de prendre en main toutes les notions graphiques nécessaires à l implémentation dans le moteur de jeu. Bien que j ai eu des cours sur les bases de l informatique graphique au début du Master, le travail nécessaire dans ce domaine était bien plus poussé et complexe que tout ce que j avais pu avoir l occasion de rencontrer. Il m a donc fallu prendre un peu de temps pour assimiler toutes ces notions afin de pouvoir bien en comprendre le fonctionnement. L intégration des outils de Nintendo n a pas toujours été évidente, nous avons parfois rencontré des problèmes pour lesquels nous ne trouvions pas de solution dans la documentation. Mais cette difficulté est à relativiser compte tenu de la rapidité et de l efficacité avec laquelle les équipes de Nintendo nous ont toujours répondu pour nous aider. 4.3 Bilan pédagogique Lors de ce stage j ai eu la chance d apprendre énormément. Tout d abord, c était la première fois que mon travail s intégrait directement dans une application d aussi grande envergure. Devoir s adapter à l existant n est pas forcément facile et tout le travail a dû être fait en gardant en tête que d autres plateformes vont être intégrées au moteur plus tard. J ai également très peu eu l occasion de programmer en C++ en dehors des projets personnels que j ai fait. Cela a donc été pour moi une bonne opportunité d approfondir mes connaissances dans ce langage. J ai surtout pu découvrir le développement sur des consoles de jeu, ce qui a été quelque chose de complètement nouveau pour moi. Ces plateformes ont de nombreuses contraintes matérielles mais également venant des constructeurs. Celles-ci permettent d avoir des jeux qui réagissent tous de manière similaire sur une même console. Il y a également des contraintes de performance très importantes dans ce domaine, le nombre d images affichées par seconde étant primordial à la fluidité d un jeu. C est un domaine de développement riche, en constante évolution et vraiment passionnant, d autant plus que je suis férue de jeux vidéo. Ce que j ai appris durant ce stage ainsi que l expérience que mon encadrant a partagé avec moi, aussi bien du monde des jeux vidéo que du monde de l entreprise, m apporteront sans aucun doute beaucoup dans ma vie professionnelle. 33

35 Conclusion Au cours de ce stage, l intégration de la console Wii U au Shine Engine a été faite pour les jeux en deux dimensions. Grâce à cette intégration, Shine Research va pouvoir porter facilement sur cette console d autres jeux qui ont été développés précédemment. Ce stage conclut mes cinq années d études à l Université de Franche- Comté et mon diplôme de Master en informatique. C est une expérience très enrichissante. L entreprise étant encore petite, il m a été possible d en voir le fonctionnement de manière plus globale. Enfin, ce stage m a permis d approfondir mes connaissances et d explorer de nouveaux domaines de programmation et de nouvelles techniques de développement. Du travail reste à être effectué pour que tout soit intégré concernant la Wii U, mais la prolongation du stage de quelques semaines va permettre de finaliser mon travail. 34

36 Webographie [1] Shine Research. Quantic pinball, google play store link. play.google.com/ store/apps/details?id=com.shine research.quantic pinball. [2] Shine Research. Quantic pinball, itunes link. itunes.apple.com/fr/app/ quantic-pinball/id [3] Shine Research. Shine engine, official website. [4] Shine Research. Shine research, official website. [5] Fog Creek Software. Trello, outil de gestion de projet en ligne. trello.com. [6] Perforce Software. P4v, perforce visual client. provides quick and easy access to versioned files through a graphical interface. com/product/components/perforce-visual-client. [7] Perforce Software. Perforce, platform for versioning code. com. 35

37 Table des figures 1 Shine Editor, l interface de création de niveaux de jeux Les différentes bibliothèques du Shine Engine L association du vertex buffer et de l index buffer La Wii U et son GamePad Le GamePad Les autres manettes de la Wii U Les composants matériel nécessaires au développement Listes de demandes provenant de plusieurs clients au système de fichiers Dessin d une image sur une base de deux triangles reliés en triangle strip Étapes pour le rendu du son Le Home Button Menu Menu principal de Quantic Pinball Wii U Écran d affichage des commandes de jeu pour le GamePad Création de l affichage du tutoriel avec le Shine Editor Écran de jeu avec le mode Warp Sector déclanché Écran de saisie d un nouveau pseudonyme de jeu Écran de tutoriel Mode de jeu : Blackout Mode de jeu : Magnetic Mode de jeu : Spiders Liste des algorithmes 1 Création et écoute sur un bouton juste pressé Cycle de vie d une application

38 Annexes A Captures d écran du jeu Quantic Pinball Figure 16 Écran de saisie d un nouveau pseudonyme de jeu 37

39 Figure 17 Écran de tutoriel Figure 18 Mode de jeu : Blackout 38

40 Figure 19 Mode de jeu : Magnetic Figure 20 Mode de jeu : Spiders 39

Vous allez le voir au cours de ce premier chapitre, 1. Découvrir l ipad

Vous allez le voir au cours de ce premier chapitre, 1. Découvrir l ipad 1. Découvrir l ipad Vous allez le voir au cours de ce premier chapitre, l utilisation de l ipad est très intuitive et, surtout, votre tablette obéit au doigt et à l œil. Vous ne pourrez bientôt plus vous

Plus en détail

Rapport projet MMI. Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3. Luis Domingues, Tiago De Deus, Naomi Favre SP 2013 - Interfaces Multimodales

Rapport projet MMI. Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3. Luis Domingues, Tiago De Deus, Naomi Favre SP 2013 - Interfaces Multimodales Rapport projet MMI 2013 Luis Domingues, I3 Naomi Favre, I3 Tiago De Deus, I3 Page 1 Table des matières Luis Domingues, Tiago De Deus, Naomi Favre Introduction... 4 Contexte... 4 Description du projet...

Plus en détail

La programmation orientée objet et le langage C++

La programmation orientée objet et le langage C++ Cours précédents La programmation orientée objet et le langage C++ Pablo Rauzy rauzy @ enst fr pablo.rauzy.name/teaching.html#epu-cpp EISE4 @ Polytech UPMC 22 octobre 2014 Cours 5 Nouveautés du C++ par

Plus en détail

Les tablettes numériques en EPS. Repères. Les différents types de tablettes et leurs caractéristiques.

Les tablettes numériques en EPS. Repères. Les différents types de tablettes et leurs caractéristiques. Les tablettes numériques en EPS Repères. Les différents types de tablettes et leurs caractéristiques. Document actualisé le 17 Mars 2013 Repères L objectif de cet article est de donner des repères quand

Plus en détail

L environnement de travail de Windows 8

L environnement de travail de Windows 8 4 L environnement de travail de Windows 8 Mais où est donc passé le bouton Démarrer? L écran d accueil joue le rôle de l ancien bouton Démarrer. Si l icône de l application que vous voulez lancer n est

Plus en détail

VidZone, qu est-ce que c est? INSTALLATION DE VidZone

VidZone, qu est-ce que c est? INSTALLATION DE VidZone VidZone, qu est-ce que c est? VidZone, c est le service de musique et vidéo qui vous permet d accéder à des milliers de clips musicaux. VidZone est téléchargeable GRATUITEMENT sur PlayStation Network et

Plus en détail

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration Les Tablettes Les tablettes Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration Les tablettes Description: Appareil mobile positionné entre smartphone

Plus en détail

HYPERDRIVE iusbport Guide d utilisation

HYPERDRIVE iusbport Guide d utilisation HYPERDRIVE iusbport Guide d utilisation L iusbport met le système de Cloud à portée de tous! Ce mini adaptateur permet de partager en wifi le contenu audio, vidéo, photo et documents de n importe quel

Plus en détail

Un ordinateur, c est quoi?

Un ordinateur, c est quoi? B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits

Plus en détail

Support de formation Notebook

Support de formation Notebook Support de formation Notebook Guide de l utilisateur du tableau interactif SMART Board Table des matières Le Tableau Blanc Interactif... 1 Comprendre le fonctionnement du TBI... 1 Utiliser le plumier

Plus en détail

The Grid 2: Manuel d utilisation

The Grid 2: Manuel d utilisation The Grid 2: Manuel d utilisation Bienvenue dans The Grid 2 Merci d avoir choisi The Grid 2! Ce guide va vous apprendre tout ce que vous devez savoir à propos de The Grid 2. Il vous guidera pas à pas pour

Plus en détail

Chapitre 1 L interface de Windows 7 9

Chapitre 1 L interface de Windows 7 9 Chapitre 1 L interface de Windows 7 9 1.1. Utiliser le menu Démarrer et la barre des tâches de Windows 7... 10 Démarrer et arrêter des programmes... 15 Épingler un programme dans la barre des tâches...

Plus en détail

LES TABLETTES : GÉNÉRALITÉS

LES TABLETTES : GÉNÉRALITÉS LES TABLETTES : GÉNÉRALITÉS Fonctionnement Qu est-ce qu une tablette tactile? Une tablette tactile est un appareil doté d'un écran qui permet d'interagir simplement en touchant l'écran ou à l'aide d'un

Plus en détail

WINDOWS 8. Windows 8 se distingue par la présence de 2 interfaces complémentaires :

WINDOWS 8. Windows 8 se distingue par la présence de 2 interfaces complémentaires : WINDOWS 8 Windows 8 : généralités Windows 8 est la dernière version du système d'exploitation de Windows, sortie en octobre 2012. Si vous possédez un ordinateur récent, il y a de fortes chances que votre

Plus en détail

Composition d un ordinateur :

Composition d un ordinateur : Un ordinateur est une machine automatique de traitement de l information obéissant à des programmes formés par des suites d opérations arithmétiques et logiques. Il peut transformer, stocker, archiver

Plus en détail

LA DIVERSITE DES SUPPORTS ANDROID

LA DIVERSITE DES SUPPORTS ANDROID LA DIVERSITE DES SUPPORTS ANDROID Note : Cet article est la version SITE de la diversité des supports d Android. Les utilisateurs se rendant sur ce site ont donc une légère expérience d Android. Pour les

Plus en détail

Installer des périphériques

Installer des périphériques Installer des périphériques Le rôle des pilotes... 161 Le Gestionnaire de périphériques... 162 Installer un périphérique... 165 Installer des périphériques courants... 167 FAQ... 172 Chapitre 5 Installer

Plus en détail

µrv : Realité Virtuelle

µrv : Realité Virtuelle µrv : Realité Virtuelle Edgar-Fernando ARRIAGA-GARCIA Charles-Henri BABIAUD Clément GRELLIER Quentin PETIT Jérôme Ricoeur Florent VIOLLEAU INSA Rennes 21 septembre 2011 1 / 15 Objectifs pour cette semaine

Plus en détail

Foire aux questions sur Christie Brio

Foire aux questions sur Christie Brio Foire aux questions sur Christie Brio Qu est-ce que Christie Brio? Christie Brio est une solution de collaboration et de présentation compatible réseau qui permet à plusieurs utilisateurs de partager,

Plus en détail

Optimiser pour les appareils mobiles

Optimiser pour les appareils mobiles chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...

Plus en détail

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement Cahier n o 6 Mon ordinateur Fichiers et dossiers Sauvegarde et classement ISBN : 978-2-922881-10-3 2 Table des matières Fichiers et dossiers Sauvegarde et classement La sauvegarde 4 Enregistrer 4 De quelle

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

domovea Portier tebis

domovea Portier tebis domovea Portier tebis SOMMAIRE SOMMAIRE Page 1. INTRODUCTION... 2 1.1 OBJET DU DOCUMENT... 2 2. VIDEO UNIQUEMENT (SANS SON), BASE SUR CAMERA IP... 3 2.1 ARCHITECTURE... 3 2.2 CONFIGURATION... 4 2.2.1 Creation

Plus en détail

Dragon Naturally Speaking 13

Dragon Naturally Speaking 13 Année 2015 Dragon Naturally Speaking 13 Guide premier pas Nathalie Macé / Grégoire Duval PROJET ORDYSCAN 1 Table des matières Introduction 3 Pourquoi utiliser Dragon Naturally Speaking avec les élèves

Plus en détail

Introduction à l informatique en BCPST

Introduction à l informatique en BCPST Introduction à l informatique en BCPST Alexandre Benoit BCPST L informatique en BCPST «L enseignement de l informatique en classes préparatoires de la filière BCPST a pour objectif d introduire puis de

Plus en détail

Ladibug TM 2.0 Logiciel de présentation visuel d'image Manuel de l utilisateur - Français

Ladibug TM 2.0 Logiciel de présentation visuel d'image Manuel de l utilisateur - Français Ladibug TM 2.0 Logiciel de présentation visuel d'image Manuel de l utilisateur - Français Table des Matières 1. Introduction... 2 2. Spécifications du Système... 2 3. Installer Ladibug... 3 4. Connexion

Plus en détail

PLAN. Connexion Mac vers PC. mercredi 15 juillet 2009

PLAN. Connexion Mac vers PC. mercredi 15 juillet 2009 Communautés Numériques L informatique à la portée du Grand Public Initiation et perfectionnement à l utilisation de la micro-informatique Connectivité Mac/PC Mac OS X Léopard /Windows 7 Quelques mots sur

Plus en détail

Windows 7 - Installation du client

Windows 7 - Installation du client Windows 7 - Installation du client 1 - Présentation Windows 7 est un système d exploitation client basé sur le noyau NT 6.1, disponible en six versions, commercialisé depuis octobre 2009. Résumé des fonctionnalités

Plus en détail

CHOIX ET USAGES D UNE TABLETTE TACTILE EN ENTREPRISE

CHOIX ET USAGES D UNE TABLETTE TACTILE EN ENTREPRISE Tablette tactile, ardoise électronique 1 ou encore tablette PC, ce terminal mobile à mi-chemin entre un ordinateur et un smartphone a d abord séduit le grand public avant d être adopté par les entreprises.

Plus en détail

SQL Server Installation Center et SQL Server Management Studio

SQL Server Installation Center et SQL Server Management Studio SQL Server Installation Center et SQL Server Management Studio Version 1.0 Grégory CASANOVA 2 SQL Server Installation Center et SQL Server Management Studio [03/07/09] Sommaire 1 Installation de SQL Server

Plus en détail

NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR. Logiciel TIJARA. NETWORK AND SOFTWARE ENGINEERING Manuel d'utilisateur "TIJARA" 1

NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR. Logiciel TIJARA. NETWORK AND SOFTWARE ENGINEERING Manuel d'utilisateur TIJARA 1 NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR Logiciel TIJARA Manuel d'utilisateur "TIJARA" 1 SOMMAIRE Introduction Première partie Chapitre 1 : Installation et démarrage Chapitre 2 : Architecture

Plus en détail

Point sur les solutions de développement d apps pour les périphériques mobiles

Point sur les solutions de développement d apps pour les périphériques mobiles Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle

Plus en détail

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE 1 Introduction ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE Atelier «pour approfondir» Sauvegarder ses données à domicile ou sur Internet Qui n a jamais perdu des photos ou documents suite à une panne

Plus en détail

Guide de l utilisateur

Guide de l utilisateur Guide de l utilisateur 25220A À propos de ce guide Merci d avoir fait l acquisition de l ardoise numérique à écran LCD Boogie Board Sync 9.7. Ce guide vous aidera à utiliser l ardoise numérique Boogie

Plus en détail

Manuel de l utilisateur

Manuel de l utilisateur Manuel de l utilisateur Nous vous remercions pour l achat de l appareil photo sportif GoXtreme WiFi. Avant d utiliser ce produit, veuillez lire attentivement ce guide pour optimiser ses performances et

Plus en détail

Premiers Pas avec OneNote 2013

Premiers Pas avec OneNote 2013 Premiers Pas avec OneNote 2 Présentation de OneNote 3 Ouverture du logiciel OneNote 4 Sous Windows 8 4 Sous Windows 7 4 Création de l espace de travail OneNote 5 Introduction 5 Présentation des différentes

Plus en détail

Environnement Zebra Link-OS version 2.0

Environnement Zebra Link-OS version 2.0 Environnement Zebra Link-OS version 2.0 Pour répondre aux nouvelles attentes et à une demande croissante en appareils à la fois mobiles, intelligents et connectés au Cloud, Zebra Technologies a créé un

Plus en détail

PC, Tablette, Smartphone, comment choisir ce qui me convient le mieux?

PC, Tablette, Smartphone, comment choisir ce qui me convient le mieux? PC, Tablette, Smartphone, comment choisir ce qui me convient le mieux? WEB Recherche d information E commerce E banking Mail Chat / Vidéo conférence Apprendre, se former Partager > réseaux sociaux Jouer

Plus en détail

Tutorial Terminal Server sous

Tutorial Terminal Server sous Tutorial Terminal Server sous réalisé par Olivier BOHER Adresse @mail : xenon33@free.fr Site Internet : http://xenon33.free.fr/ Tutorial version 1a Page 1 sur 1 Index 1. Installation des services Terminal

Plus en détail

Manuel d administration de Virtual Box MANUEL D UTILISATION VIRTUAL BOX

Manuel d administration de Virtual Box MANUEL D UTILISATION VIRTUAL BOX MANUEL D UTILISATION VIRTUAL BOX Sommaire Partie 1 : Création d une machine virtuelle Partie 2 : 1) Paramétrage réseau de VirtualBox et de la machine virtuelle 2) Partie stockage de VirtualBox Partie 3

Plus en détail

Premiers pas avec VMware Fusion. VMware Fusion pour Mac OS X

Premiers pas avec VMware Fusion. VMware Fusion pour Mac OS X Premiers pas avec VMware Fusion VMware Fusion pour Mac OS X 2 Premiers pas avec VMware Fusion Premiers pas avec VMware Fusion Élément : FR-000371-00 La dernière documentation technique est disponible sur

Plus en détail

MANUEL UTILISATEUR. Application 4trip

MANUEL UTILISATEUR. Application 4trip * MANUEL UTILISATEUR Application 4trip Table des matières 1. Introduction... 1 1.1. Description globale du produit... 1 1.2. Description de la finalité du manuel... 1 2. Manuel d utilisation... 2 2.1.

Plus en détail

Notes de démonstration pour la version préliminaire Build 542

Notes de démonstration pour la version préliminaire Build 542 Notes de démonstration pour la version préliminaire Build 542 Du Wiki de l OLPC Accéder à : navigation, recherche Cette page décrit les instructions de base pour la version préliminaire Build 542, le Build

Plus en détail

CTIconnect PRO. Guide Rapide

CTIconnect PRO. Guide Rapide CTIconnect PRO Guide Rapide Version 01.02.2013 CTIconnect PRO est une application de communication permettant aux utilisateurs du système de voir le statut de leurs collègues et de les contacter en 1 clic

Plus en détail

Mode d emploi. Félicitations pour votre achat de la tablette Viewpia TB-107. Nous vous remercions pour votre confiance d acheter notre produit!

Mode d emploi. Félicitations pour votre achat de la tablette Viewpia TB-107. Nous vous remercions pour votre confiance d acheter notre produit! Mode d emploi Félicitations pour votre achat de la tablette Viewpia TB-107. Nous vous remercions pour votre confiance d acheter notre produit! Notre tablette est constamment améliorée et mise à jour, aussi

Plus en détail

L accès à Internet. Votre fournisseur d accès à Internet 1/2. Box internet. Box internet. Décodeur TV. Décodeur TV. Freebox. Livebox.

L accès à Internet. Votre fournisseur d accès à Internet 1/2. Box internet. Box internet. Décodeur TV. Décodeur TV. Freebox. Livebox. # $ % "!" #! #&!' L accès à Internet Votre fournisseur d accès à Internet 1/2 Freebox Livebox Freebox Révolution Livebox Play Freebox Crystal Neufbox Bbox Boxde SFR / Neufbox Bbox Sensation Box Evolution

Plus en détail

Lutter contre les virus et les attaques... 15

Lutter contre les virus et les attaques... 15 Lutter contre les virus et les attaques... 15 Astuce 1 - Télécharger et installer Avast!... 17 Astuce 2 - Configurer la protection de messagerie... 18 Astuce 3 - Enregistrer Avast!... 20 Astuce 4 - Mettre

Plus en détail

Table des matières. Module tablette

Table des matières. Module tablette Module tablette Table des matières LA TABLETTE... 1. GÉNÉRALITÉS... 2 Fonctionnement... 2 Différents systèmes... 4 Le clavier... 6 gestes de base... 7 Paramétrages... 9 2. EN PRATIQUE... 10 Installer une

Plus en détail

Notice de fonctionnement DVR H264. + Méthode de Visionnage ESEENET

Notice de fonctionnement DVR H264. + Méthode de Visionnage ESEENET Notice de fonctionnement DVR H264 + Méthode de Visionnage ESEENET 1 Le point de départ de chacune des différentes configurations traitées ci-dessous sera l écran de visualisation des 4 ou 8 caméras. A

Plus en détail

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1 AOLbox Partage de disque dur Guide d utilisation Partage de disque dur Guide d utilisation 1 Sommaire 1. L AOLbox et le partage de disque dur... 3 1.1 Le partage de disque dur sans l AOLbox... 3 1.1.1

Plus en détail

LES TABLETTES : EN PRATIQUE

LES TABLETTES : EN PRATIQUE Installer une application LES TABLETTES : EN PRATIQUE Lorsque vous achetez une tablette, des applications sont déjà installées. En général, vous trouverez de quoi surfer sur Internet, écouter de la musique,

Plus en détail

LES TABLETTES TACTILES

LES TABLETTES TACTILES LES TABLETTES TACTILES Une tablette tactile, pour quoi faire? Pour se détendre Pour téléphoner Pour surfer sur Internet Pour jouer Pour faire comme tout le monde Pour se détendre Un des domaines de prédilection

Plus en détail

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation. 1 Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation. Voici un mode opératoire qui vous guidera dans l utilisation de

Plus en détail

Formation Informatique. Utiliser les périphériques informatiques

Formation Informatique. Utiliser les périphériques informatiques Formation Informatique Utiliser les périphériques informatiques PLAN : Chapitre 1 : Utiliser son imprimante p 3 Chapitre 2 : Utiliser son scanner p 12 Chapitre 3 : Utiliser un appareil photo p 20 Chapitre

Plus en détail

Les sauvegardes de l ordinateur

Les sauvegardes de l ordinateur Les sauvegardes de l ordinateur Les sauvegardes de l ordinateur sont de deux natures : * les sauvegardes de vos documents personnels * les sauvegardes du système d exploitation Vos documents photos, textes,

Plus en détail

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE Utilisation des TBI UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE T B utoriel de base, ce mode d emploi a pour objectif de vous présenter les principales

Plus en détail

Environnement Zebra Link-OS version 2.0

Environnement Zebra Link-OS version 2.0 Environnement Zebra Link-OS version 2.0 Pour répondre aux nouvelles attentes et à une hausse de la demande en appareils à la fois mobiles, intelligents et connectés au Cloud, Zebra Technologies a créé

Plus en détail

Boot Camp Guide d installation et de configuration

Boot Camp Guide d installation et de configuration Boot Camp Guide d installation et de configuration Table des matières 3 Introduction 4 Configuration requise 5 Vue d ensemble de l installation 5 Étape 1 : Rechercher les mises à jour 5 Étape 2 : Préparer

Plus en détail

EIP 2012 Projet Livepad. Documentation technique 1.5

EIP 2012 Projet Livepad. Documentation technique 1.5 EIP 2012 Projet Livepad 1.5 Marc Mathieu Benjamin Netter David Ngo Pierre Pasteau Denis Togbe 12-01-2012 Informations sur le projet Groupe Nom du projet Type de document Marc Mathieu Benjamin Netter David

Plus en détail

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de Guide de l utilisateur Faites connaissance avec la nouvelle plateforme interactive de Chenelière Éducation est fière de vous présenter sa nouvelle plateforme i+ Interactif. Conçue selon vos besoins, notre

Plus en détail

FAIRE COMMUNIQUER UNE TABLETTE AVEC UN PERIPHERIQUE SANS FIL POUR DUPLIQUER L ECRAN 22 avril 2015

FAIRE COMMUNIQUER UNE TABLETTE AVEC UN PERIPHERIQUE SANS FIL POUR DUPLIQUER L ECRAN 22 avril 2015 TABLE DES MATIERES 1. Introduction... 2 Avantages :... 2 Contraintes :... 2 2. Projeter sur un écran sans fil avec Miracast... 3 Vérifier la compatibilité de son matériel... 3 La tablette ou l ordinateur...

Plus en détail

Système de vidéoconférence avec périphériques

Système de vidéoconférence avec périphériques Regroupement des conseils scolaires de langue française de l Ontario Guide d utilisation Système de vidéoconférence avec périphériques Centre d aide Vidéoconférence 866 544-2044 http://video.franco-nord.edu.on.ca

Plus en détail

Panorama de l offre et des usages des tablettes

Panorama de l offre et des usages des tablettes Panorama de l offre et des usages des tablettes Sommaire Présentation Quels usages questions à se poser Les types de tablette Présentation des systèmes d exploitation Acteurs majeurs pour Océanis et les

Plus en détail

L accès à distance du serveur

L accès à distance du serveur Chapitre 11 L accès à distance du serveur Accéder à votre serveur et aux ordinateurs de votre réseau depuis Internet, permettre à vos amis ou à votre famille de regarder vos dernières photos, écouter vos

Plus en détail

Retrouver de vieux programmes et jouer sur VirtualBox

Retrouver de vieux programmes et jouer sur VirtualBox CHAPITRE 3 Retrouver de vieux programmes et jouer sur VirtualBox Ce chapitre présente des notions avancées de VirtualBox. Elles permettront de réaliser des configurations spécifiques pour évaluer des systèmes

Plus en détail

Procédure d installation :

Procédure d installation : Procédure d installation : 1 / Pré-requis : Vous pouvez télécharger le fichier d installation sur le site Internet de Microsoft à l adresse suivante : http://www.microsoft.com/downloads/details.aspx?familyid=01af61e6-2f63-4291-bcad-

Plus en détail

Qu est-ce qu un Ordinateur

Qu est-ce qu un Ordinateur Qu est-ce qu un Ordinateur Différents types d ordinateurs existent : ordinateur de bureau, portable et micro-portable. Quelques soit l ordinateur que vous utilisez, les principes généraux sont les mêmes

Plus en détail

«Connais toi toi-même comme l as dit Socrate!»

«Connais toi toi-même comme l as dit Socrate!» «Connais toi toi-même comme l as dit Socrate!» Avant toute chose, il faut savoir pour quel usage, vous désirez acquérir un ordinateur. En effet la configuration de votre ordinateur ne sera pas la même

Plus en détail

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET Brancher / débrancher l ordinateur de la prise Allumer / éteindre l ordinateur : pour allumer ou éteindre l ordinateur vous devez appuyer sur le bouton On/off

Plus en détail

Mises en garde. - Tenir l appareil à distance de lieux présentant des températures, une humidité élevées ou poussiéreux.

Mises en garde. - Tenir l appareil à distance de lieux présentant des températures, une humidité élevées ou poussiéreux. Manuel utilisateur Sommaire Mises en garde... 3 Présentation de l appareil... 4 Description des boutons... 5 Contrôle de l'énergie et charge de la batterie... 6 Mise en veille de l écran... 6 Connexion

Plus en détail

MANUEL TBI - INTERWRITE

MANUEL TBI - INTERWRITE MANUEL TBI - INTERWRITE TBIIW TITRE Manuel InterWrite WorkSpace INTITULE Manuel d'utilisation du logiciel InterWrite accompagnant le tableau blanc interactif CALCOMP OBJECTIF Aide mémoire sur les fonctionnalités

Plus en détail

SOMMAIRE. 3 Matériel et configuration requis. 4 Installation initiale du matériel EZCast Pro. 7 Fonctionnalités de l'application

SOMMAIRE. 3 Matériel et configuration requis. 4 Installation initiale du matériel EZCast Pro. 7 Fonctionnalités de l'application Avril 2015 Speechi vous remercie, et vous félicite, d avoir choisi la clé EZCast-Pro. Avant de l utiliser, nous vous invitons à lire attentivement ce manuel et à le conserver pour vous y référer ultérieurement.

Plus en détail

TABLETTE MPMAN MP724 : EMPORTEZ LE MONDE AVEC VOUS

TABLETTE MPMAN MP724 : EMPORTEZ LE MONDE AVEC VOUS TABLETTE MPMAN MP724 : EMPORTEZ LE MONDE AVEC VOUS Internet Nomade La tablette internet MPMAN MP724 est spécialement conçue pour une utilisation nomade. A tout moment accédez directement à Internet et

Plus en détail

Guide de l utilisateur

Guide de l utilisateur Guide de l utilisateur Félicitations pour votre nouveau EasyPad 700. Veuillez suivre attentivement les instructions contenues dans ce manuel. Déclaration: Si la version finale de ce produit possède des

Plus en détail

Comment utiliser FileMaker Pro avec Microsoft Office

Comment utiliser FileMaker Pro avec Microsoft Office Guide d utilisation Comment utiliser FileMaker Pro avec Microsoft Office Comment utiliser FileMaker Pro et Microsoft Office page 1 Table des matières Introduction... 3 Avant de commencer... 4 Partage de

Plus en détail

Fonctionnement de Windows XP Mode avec Windows Virtual PC

Fonctionnement de Windows XP Mode avec Windows Virtual PC Fonctionnement de Windows XP Mode avec Windows Virtual PC Guide pratique pour les petites entreprises Table des matières Section 1 : présentation de Windows XP Mode pour Windows 7 2 Section 2 : démarrage

Plus en détail

Démarrer et quitter... 13

Démarrer et quitter... 13 Démarrer et quitter... 13 Astuce 1 - Ouvrir, modifier, ajouter un élément dans le Registre... 14 Astuce 2 - Créer un point de restauration... 18 Astuce 3 - Rétablir un point de restauration... 21 Astuce

Plus en détail

Synchroniser ses photos

Synchroniser ses photos Synchroniser Avec l'arrivée des smartphones et tablettes équipés de fonctions «appareils photos», nous réalisons de plus en plus de photos avec ceux-ci. Soucis, la mémoire de ces outils n'est pas aussi

Plus en détail

Avant-propos Certificats et provisioning profiles

Avant-propos Certificats et provisioning profiles Avant-propos Certificats et provisioning profiles Devenir «développeur Apple» ne signifie pas uniquement que vous allez pouvoir développer des apps, vous allez également avoir certaines responsabilités

Plus en détail

Manuel Utilisateur Chariot odys.sante-lorraine.fr

Manuel Utilisateur Chariot odys.sante-lorraine.fr odys.sante-lorraine.fr version 1.3 Sommaire 1. Présentation du chariot... 3 2. Mise en fonctionnement du chariot... 3 3. Connexion à Odys... 4 4. Téléconsultation vidéo... 5 4.1. Entrer en téléconsultation...

Plus en détail

General Mobile Discovery tab 8 Tablette ordinateur

General Mobile Discovery tab 8 Tablette ordinateur General Mobile Discovery tab 8 Tablette ordinateur Guide d'installation rapide. Nos chers clients, Nous vous remercions d avoir acheté la tablette ordinateur General Mobile Discovery tab 8. Le but du présent

Plus en détail

Création d une application Android (APPInventor)

Création d une application Android (APPInventor) 1. Matériel et logiciel Vous pouvez avec le logiciel App Inventor créer très facilement une application pour votre téléphone sous «Android». Vous devez pour cela : 1. Créer un compte Gmail sous Google

Plus en détail

Leçon 1 : Les principaux composants d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques

Plus en détail

Virtual Universe aperçu numéro 1

Virtual Universe aperçu numéro 1 Virtual Universe aperçu numéro 1 Cet aperçu va vous permettre d observer quelques aspects et fonctionnalités du futur produit Virtual Universe. Cet aperçu est encapsulé dans un exécutable généré par AUTOMGEN8.

Plus en détail

Caméra IP motorisée de surveillance jour et nuit

Caméra IP motorisée de surveillance jour et nuit Caméra IP motorisée de surveillance jour et nuit Surveillez votre maison, vos proches directement depuis votre smartphone, tablette... Manuel d'utilisation pour application Android Remerciements Nous vous

Plus en détail

GUIDE de prise en main. let s play

GUIDE de prise en main. let s play GUIDE de prise en main let s play Sommaire Description Telma ONE TAB 7.1 / 1 / Premières manipulations / Comment insérer ma carte mémoire? / Comment copier vos fichiers sur la tablette? / Comment recharger

Plus en détail

Leçon N 5 PICASA Généralités

Leçon N 5 PICASA Généralités Leçon N 5 PICASA Généralités Avec cette leçon N 5, nous allons commencer l étude du traitement de vos photos avec le logiciel de GOOGLE, PICASA, que vous avez téléchargé dans la leçon N 3. 1 Présentation

Plus en détail

J ai peur des souris mais je me soigne Petit manuel à l attention des profs de langues vivantes désireux d affronter le Monstre Informatique

J ai peur des souris mais je me soigne Petit manuel à l attention des profs de langues vivantes désireux d affronter le Monstre Informatique J ai peur des souris mais je me soigne Petit manuel à l attention des profs de langues vivantes désireux d affronter le Monstre Informatique Les Fondamentaux du Prof de Langues Pourquoi ce manuel? Pour

Plus en détail

Installation et prise en main

Installation et prise en main TP1 Installation et prise en main Android est le système d'exploitation pour smartphones, tablettes et autres appareils développé par Google. Pour permettre aux utilisateurs d'installer des applications

Plus en détail

NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame

NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame www.nicelabel.fr info@nicelabel.fr NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame White Paper Version 20051114-06-FR 2005 Euro Plus. Tous droits réservés. http://www.nicelabel.fr

Plus en détail

Cahier n o 7. Mon ordinateur. Gestion et Entretien de l ordinateur

Cahier n o 7. Mon ordinateur. Gestion et Entretien de l ordinateur Cahier n o 7 Mon ordinateur Gestion et Entretien de l ordinateur ISBN : 978-2-922881-11-0 2 Table des matières Gestion et Entretien de l ordinateur Introduction 4 Inventaire du matériel 5 Mise à jour du

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Ceci est un Chromebook, ton ordinateur!

Ceci est un Chromebook, ton ordinateur! Ceci est un Chromebook, ton ordinateur! CHROMEBOOK - Dans le royaume des ordinateurs personnels, il n'y a pas beaucoup de choix. Pour schématiser, soit vous avez un PC, soit vous avez un Mac. Et ce depuis

Plus en détail

Comment choisir sa tablette?

Comment choisir sa tablette? Comment choisir sa tablette? Sommaire Ø Critère n 1 : le système d exploitation Ø Critère n 2 : Les caractéristiques techniques Ø Les petits plus Ø Nos bons plans Ø Ils comparent pour vous Lancée en 2010

Plus en détail

Logiciel PICAXE Programming Editor

Logiciel PICAXE Programming Editor Logiciel PICAXE Programming Editor Notice réduite 1. Lancer le logiciel PICAXE Programming Editor (Vidéo : «Lancer le programme»). 2. Dessiner un diagramme (Vidéos : «Nouveau programme» et «Dessiner le

Plus en détail

INTERWRITE Workspace

INTERWRITE Workspace INTERWRITE Workspace Prêt à fonctionner 1. Allumer le tableau blanc (interrupteur sur le côté). 2. Allumer le vidéoprojecteur (voyant vert). 3. Brancher sur l ordinateur : le câble ou la clé bluetooth

Plus en détail

On trouvera sur le site du CCDMD un exemple d album construit avec Cantare. (http://www.ccdmd.qc.ca/ri/cantare)

On trouvera sur le site du CCDMD un exemple d album construit avec Cantare. (http://www.ccdmd.qc.ca/ri/cantare) Cantare 2 Introduction L outil logiciel Cantare s adresse à toute personne qui veut construire des leçons visant l apprentissage d une langue par l écoute de chansons ou de fichiers sonores dont les paroles

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Utilisation du visualiseur Avermedia

Utilisation du visualiseur Avermedia Collèges Numériques Utilisation du visualiseur Avermedia Un visualiseur est aussi appelé caméra de table et ce nom rend mieux compte de sa fonction première à savoir filmer un document (revue,carte, dissection,

Plus en détail