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