Aperçu des MOTE JS dédiés aux jeux vidéo
Découvre le code avec l'Amstrad 464
Passion pour le jeu vidéo et la demoscene
Programmeur depuis 1999
JS et jeu vidéo: une longue histoire.
Spécificités et tendances
des moteurs DE JEU VIDEO DE L'INDUSTRIE ET JS
Comparatifs moteurs JS
Rapide exemple (live code)
SOMMAIRE
JS et jeu vidéo:
une longue histoire.
A (not so) long time ago...
In a galaxy not so far away...
Flash and ADOBE empire ruled the world :O
LARGEMENT Suffisant pour la 2D
Propulsé par AS3
Suite Adobe
2010. AD
FLASH REALLY DID THE JOB
NOMBREUX API: HAXE, etc
Pas open source
3d compliquée
Nécessite un plugin
MAIS...
ET POURTANT... DU POTENTIEL COTÉ HTML/CSS/JS
Créé en 2002
PHP JAVASCRIPT CSS
PAS D'ANIMATION
EXEMPLE
Here comes a new challenger!
STANDARDS W3C
Multi-platform
=> DESKTOP & MOBILE
<canvas />
<video />
<audio />
RéPOND AUX MANQUES COMBLÉS PAR FLASH
GAME PATTERN 101
GAME LOOP
PAS de control sur le renderer
SET INTERVAL / tIMEOUT
PAS ASSEZ PRÉCIS
request Animation Frame for Smart Animating
Canvas
API simplifiée pour dessiner en 2d
Canvas
Mais aussi pour la 3d et WEBGL
BEAUCOUP MOINS ACCESSIBLE
WebGL PAR Khronos group
Quels vrais bénéfices?
Accélération matérielle
SYSTème de shader
PREMIERS PAS...
Spécificités et tendances des moteurs de JEU VIDEO
3 TYPES DE MOTEUR
DANS L'INDUSTRIE
MOTEURS IN HOUSE
MOTEURS GRAND PUBLIC
OPEN SOURCE
OPEN SOURCE
POUR JEUX SIMPLES OU AMATEURS
IN HOUSE ENGINES
MOTEURS GRAND PUBLIC
GRATUITS SOUS CERTAINES CONDITIONS
DESKTOP, MOBILES & CONSOLES
UNREAL
C++
BLUE PRINT
(== VISUAL SCRIPTING)
DESKTOP & CONSOLES
FRIENDLY
UNREAL
UNITY
C# / 'JS' / BOO SCRIPT
ÉNORME COMMUNAUTÉ
COMPILATION POUR MOBILE OPTIMISée
MARKET PLACE (PLUGIN, ASSETS, ETC)
RAISON DU SUCCÈS
BUSINESS MODEL
EDITEUR
PIPELINE DE PRODUCTION
ECS PATTERN (UNITY, UNREAL, ETC.)
ENTITY
COMPONENT
SYSTEM
ECS PATTERN - FUNCTIONAL example
ECS PATTERN - BY THE CODE
// Create a new Entity
const entity = new pc.Entity();
// Add a new Camera Component with default values
entity.addComponent("camera");
// Add a new Model Component and add it to the Entity.
entity.addComponent("model", {
type: 'box',
});
// Add it to the Entity hierarchy
this.app.root.addChild(entity);
Creating entity and adding components
ECS PATTERN - BY THE CODE
const Rotate = pc.createScript("rotate");
Rotate.attributes.add("speed", { type: "number", default: 10 });
Rotate.prototype.update = function (dt) {
this.entity.rotate(0, this.speed * dt, 0);
};
Creating A COMPONENT
EASY CONFIGURATION - FLUID PIPELINE
PEU DE MARCHÉ DONC MOINS D'OUTILS et de choix
JEUX NAVIGATEURS
JEUX FACEBOOK
EX: OGAME, COOKIE CLICKER
MOTEURS JS
TENDANCES IDENTIQUES
ECS
EDITORS
NO CODE
ET ENCORE BEAUCOUP DE MOTEUR SANS EDITEUR
Comparatifs moteurs JS
DEPRECATED
AND MANY MORE...
CERTAINS ONT SURVécu \o/
GAME ENGINE "as a service"
( codeLESS :O )
AVANTAGES
Prototypage AISée
GAME DESIGNER AND ARTIST FRIENDLY
ÉTONNAMENT COMPLET
COOL pour apprendre lES BASES DE L'Algorithmie
INCONVÉNIENTS
PAS OPTIMISÉ
CLICKODROME
PEU FLEXIBLE
MOTEURS DE RENDU 2d
ORIENTÉ VECTORIELLE
SCENE GRAPH
SYSTEME D'ANIMATION PUISSANT
ULTRA RAPIDE
SPRITESHEET
SVG FRIENDLY
ATLAS
FONTS!
MOTEUR DE JEU 2D
PROPULSÉ PAR WEBGL
TRÈS COMPLET
SIMPLISSIME
PROPULSÉ PAR PIXI.JS
MOTEUR DE RENDU 3d
Physics integrated
Français monsieur!
Microsoft
Simple et documenté
Énormément de fonctionnalité
Vieux comme le webGL
Enormément de ressource
MOTEUR DE JEU 2D/3D
UNITY EDITOR LIKE
ECS
THREE.JS & AMMO.JS
MOBILE/FACEBOOK EXPORTERS
DEMO TIME
BONUS
EXEMPLES DISPONIBLE SUR
Aperçu des moteurs de JV JS
By trambz
Aperçu des moteurs de JV JS
- 687