MOTEURS DE JEUX INTRODUCTION

Documents pareils
Once the installation is complete, you can delete the temporary Zip files..

Application Form/ Formulaire de demande

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

Création de jeu vidéo

Atelier Progress Rollbase

ISTIA INNOVATION. 62, Ave ND du Lac F Angers

Guide pour l Installation des Disques Durs SATA et Configuration RAID

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Quatre axes au service de la performance et des mutations Four lines serve the performance and changes

PIB : Définition : mesure de l activité économique réalisée à l échelle d une nation sur une période donnée.

RAPID Prenez le contrôle sur vos données

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

Forthcoming Database

Le Cloud Computing est-il l ennemi de la Sécurité?

Génération de code binaire pour application multimedia : une approche au vol

Instructions Mozilla Thunderbird Page 1

NORME INTERNATIONALE INTERNATIONAL STANDARD. Dispositifs à semiconducteurs Dispositifs discrets. Semiconductor devices Discrete devices

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Gregory Renard CTO Wygwam - Research and Innovation Manager Usilink Microsoft Regional Director - Most Valuable Professional

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

PACKZ System Requirements. Version: Version: Copyright 2015, PACKZ Software GmbH. 1

CLOUD COMPUTING et Relation Client/Fournisseur Une Révolution culturelle?

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

The impacts of m-payment on financial services Novembre 2011

Package Contents. System Requirements. Before You Begin

Francoise Lee.

The space to start! Managed by

Paxton. ins Net2 desktop reader USB

Unity. Moteur de jeu 3D et 2D. Cross platform: Windows, Mac, Linux, ios, Android, Blackberry, Xbox, Playstation, Wii

NOVLAND. production. Présente TMC. transmedia catalogue air / touch

Mise au point de méthodes m l utilisabilité,, et le Gameplay des jeux vidéo

Stage Ingénieur en développement logiciel/modélisation 3D

: Machines Production a créé dès 1995, le site internet

Guide d'installation rapide TFM-560X YO.13

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

DOCUMENTATION - FRANCAIS... 2

Un projet communevo / UPMC

The assessment of professional/vocational skills Le bilan de compétences professionnelles

8. Cours virtuel Enjeux nordiques / Online Class Northern Issues Formulaire de demande de bourse / Fellowship Application Form

Editing and managing Systems engineering processes at Snecma

Principe de TrueCrypt. Créer un volume pour TrueCrypt

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

AngularJS pour une application d'entreprise

Notice Technique / Technical Manual

LES APPROCHES CONCRÈTES POUR LE DÉPLOIEMENT D INFRASTRUCTURES CLOUD AVEC HDS & VMWARE

Nouveautés printemps 2013

France SMS+ MT Premium Description

Folio Case User s Guide

Digitalisation de l Industrie Bancaire

Deadline(s): Assignment: in week 8 of block C Exam: in week 7 (oral exam) and in the exam week (written exam) of block D

Don't put socks on the Hippopotamus. Bill BELT Emmanuel DE RYCKEL

GIGABIT PCI DESKTOP ADAPTER DGE-530T. Quick Installation Guide+ Guide d installation+

Optimisez vos relations clients avec un outil de CRM performant

The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you.

SERVEUR DÉDIÉ DOCUMENTATION

Private banking: après l Eldorado

Business-Insight Company Presentation

Contrôle d'accès Access control. Notice technique / Technical Manual

Comprendre l impact de l utilisation des réseaux sociaux en entreprise SYNTHESE DES RESULTATS : EUROPE ET FRANCE

Playzilla - Chargement par clé usb

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

Stratégie DataCenters Société Générale Enjeux, objectifs et rôle d un partenaire comme Data4

PANKA. PORTFOLIO Karina Pannhasith. Karina Pannhasith. URBANIA Ipad Magazine School Project 2012 Photoshop Illustrator Dreamweaver Hype - HTML5

How to Login to Career Page

SA-32 / SA-62 INSTRUCTION MANUAL - MANUEL D INSTRUCTIONS

Lamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013

USB 598. Quick Start Guide (Windows) Guide de démarrage rapide (Windows) USB Modem. Modem USB.

Plan. Department of Informatics

Vanilla : Virtual Box

RÉSUMÉ DE THÈSE. L implantation des systèmes d'information (SI) organisationnels demeure une tâche difficile

Pour les futurs développeurs Sommaire

Innovation in Home Insurance: What Services are to be Developed and for what Trade Network?

Dis où ces gens vont d après les images / Tell where these people are going based on the pictures.

L ESPACE À TRAVERS LE REGARD DES FEMMES. European Economic and Social Committee Comité économique et social européen

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

RFID: Middleware et intégration avec le système d'information Olivier Liechti

Compte-rendu technique complet et détaillé des cookies

Cette Leçon va remplir ces attentes spécifiques du curriculum :

PRODUCTS LIST (updated 11th January 2010)

OUTIL DE TRAVAIL COLLABORATIF

2013 IIHF WORLD WOMEN S HOCKEY CHAMPIONSHIP

Les techniques de la télémaintenance

Présentation par François Keller Fondateur et président de l Institut suisse de brainworking et M. Enga Luye, CEO Belair Biotech

Guide d installation Deco Drain inc. DD200

Frequently Asked Questions

valentin labelstar office Made-to-measure label design. Conception des étiquettes sur mesure. Quality. Tradition. Innovation DRUCKSYSTEME

Gestion des prestations Volontaire

Renewable Energy For a Better World. Transforming Haïti s energy challenges into wealth and job creating opportunities ENERSA

F-7a-v3 1 / Bourses de mobilité / Mobility Fellowships Formulaire de demande de bourse / Fellowship Application Form

Afin de valider votre inscription merci de bien veiller à :

EMC Forum EMC ViPR et ECS : présentation des services software-defined

Institut français des sciences et technologies des transports, de l aménagement

setting the scene: 11dec 14 perspectives on global data and computing e-infrastructure challenges mark asch MENESR/DGRI/SSRI - France

Judge Group: P Title: Quel est meilleur: le compost ou le fertilisant chimique? Student(s): Emma O'Shea Grade: 6

IPv6: from experimentation to services

Manuel de l utilisateur

Transcription:

MOTEURS DE JEUX INTRODUCTION 1 Marc Moulis, Septembre 2013

MOTEURS DE JEUX 1. Workflow Corps de métiers Processus de production 2. Structure d un moteur de jeu Définition Problématique multi-plateformes

What is a 3D game engine? Core set of components that facilitate game creation Rendering Physics Sound User input Artificial intelligence Networking No such thing as an engine that can support every type of game

Real-time strategy (RTS) engines Large number of low-detail game units Multiple levels of AI (individual units as well as computer players) Heightmap-based terrain Client/server

Minecraft (the real game) Procedurally-generated block world (voxelbased) Simple, pixelated graphics Undirected multiplayer gameplay Players manipulate the shape of the world

Starter code Based on Qt framework Huge, cross-platform framework Qt handles application loop Your code resides in callbacks See comments in method stubs for more details We strongly recommend separating your engine from QGLWidget (view.cpp)

Coordinate systems y Different game engines define coordinate systems differently Most of you will probably use the OpenGL coordinate system TAs will strive to be coordinate-system independent Horizontal plane Plane parallel to the ground (in OpenGL, the xz-plane) Up-axis Axis perpendicular to horizontal plane (in OpenGL, the y-axis) z z z y x x x y

OpenGL matrix transformations OpenGL conflates them into two matrices (projection, modelview) Stored in column-major order rather than row-major Modelview matrix Transforms object space to camera space, usually changes every frame Projection matrix Has camera parameters (aspect ratio, field of view), usually only changes on window resize Vertex Modelview matrix Projection matrix Perspective division Viewport transformation Object space Camera space Clip space Normalized device space Screen space

WORKFLOW

WORKFLOW ETAPES DE FABRICATION D UN JEU Avant d'étudier en détail les composants d'un moteur de jeu, il est important de se familiariser avec le processus de développement d'un jeu. Selon l'ampleur et le type de projet, tous les corps de métiers ci-après peuvent ne pas être représentés, ou certaines personnes peuvent endosser plusieurs casquettes. Artistique Directeur artistique Concept artist Graphiste (2D, 3D) Graphiste technique Animateur Designer sonore Musicien Technique Directeur technique Développeur Production Producteur

WORKFLOW ETAPES DE FABRICATION D UN JEU La liste de ces étapes n'est pas forcément exhaustive, et peut varier d'un projet à l'autre ou d'un studio à l'autre. Néanmoins on retrouvera à chaque fois la même structure dans le déroulement de la production. Brainstorming Propositions de concepts Pré-production Ecriture du game design document (GDD) Ecriture du technical design document (TDD) Recherches artistiques Mise en place de la chaîne d'outils (export, éditeurs,...)

STRUCTURE DES MOTEURS DE JEUX

STRUCTURE DES MOTEURS DE JEUX DÉFINITION On appelle "moteur de jeu" l'ensemble des composants logiciels qui fournissent tous les services nécessaires à l'évolution et l'affichage d'un univers interactif, à vocation ludique. On fera la distinction entre: Moteurs first-party: le moteur est tout ou majoritairement développé en interne par le développeur du jeu Moteurs third-party: le moteur est acquis auprès d'une société tierce qui l'a développé (Ex: Unreal Engine, Frostbite, Unity )

STRUCTURE DES MOTEURS DE JEUX DÉFINITION On distingue globalement 2 courants: Moteurs généralistes: Les composants fournissent tous les services utiles pour la mise en œuvre de virtuellement n'importe quel type de jeu (c'est la tendance des moteurs third party : Renderware, Unreal Engine, Unity, Ogre, etc...) Moteurs dédiés: Les composants du moteur de jeu sont spécialisés pour un type de jeu précis: FPS, course, aventure, plateforme, RTS, etc... NB: Dans le cadre de cette présentation, nous nous intéresserons principalement à la mise en place d'un framework qui pourrait servir de base commune tant à un moteur généraliste que dédié. Les spécificités techniques de chaque catégorie de jeu ne seront donc pas ou peu abordées.

STRUCTURE DES MOTEURS DE JEUX PROBLÉMATIQUES MULTI-PLATEFORMES

STRUCTURE DES MOTEURS DE JEUX SCHÉMA CONCEPTUEL Sound Game Logic IA Front end Scripting Controllers Physics Engine Kernel Scene Management Render Animation

STRUCTURE DES MOTEURS DE JEUX PROBLÉMATIQUES MULTI-PLATEFORMES Au vu des moyens techniques et humains nécessaires pour la production d'un jeu moderne, les développeurs font souvent le choix de publier le jeu sur plusieurs machines pour maximiser la rentabilité. Le problème est que le développement sur chaque type de machine est différent: Organisation du code (ex: multi-coeurs vs multi-processeurs dédiés) Organisation et capacité de la mémoire (ex: UMA vs mémoires dédiées) Contraintes de publication (TRC)

STRUCTURE DES MOTEURS DE JEUX PROBLÉMATIQUES MULTI-PLATEFORMES Le challenge lors de l'écriture d'un moteur multi-plateformes est donc: De maximiser la mise en commun des composants logiciels d'une plateforme à l'autre De minimiser le nivelage par le bas L'idée est de construire l'ensemble des composants logiciels (génériques) du moteur de jeu sur une base logicielle dédiée (donc spécifique) à chaque plateforme: ce qu on appelle un couche d abstraction (HAL). Les avantages sont multiples: Le développement du moteur et du jeu deviennent (quasi-)indépendants de la plateforme cible Les développements des différents composants sont relativement décorrélés et donc parallèlisables Inconvénient: comment éviter le nivelage par le bas?

STRUCTURE DES MOTEURS DE JEUX PROBLÉMATIQUES MULTI-PLATEFORMES On pourra donc utiliser les stratégies suivantes: Redéfinition des types de données de base Surcharge de toutes les fonctions vitales (gestion mémoire, manipulation de chaînes, gestion des noms de fichiers, accès système) Mise en place d une couche d'abstraction matérielle (I/O, rendu, multi-threading) Gestion d un pool de ressources "dédiées" (ex: les icones représentant les boutons du pad) Composants (C1, C2, C3) et couches d abstraction matérielle (H1, H2)

Prochain cours : mathématiques 3D Rémi Ronfard Septembre 2014