Créer un Minecraft avec BabylonJS

19
AMBIENT INTELLIGENCE tech days 2015 # mstechdays techdays.microsoft.fr

Transcript of Créer un Minecraft avec BabylonJS

AMBIENT INTELLIGENCE

tech days•

2015

#mstechdays techdays.microsoft.fr

Créer un Minecraft avec Babylon.js

David Catuhe – Etienne Margraff

@deltakosh [email protected]

@meulta [email protected]

tech.days 2015#mstechdays

Fondamentaux

Dessiner moins pour aller plus vite

On va chunker

Collisions et sélection

To the infinite and beyond!

Créer un Minecraft avec Babylon.js

tech.days 2015#mstechdays

Monde uniquement construit a base de cubes

Le « Lego » virtuel

Développé initialement en Java(!!)

18 308 859 joueurs (minecraft.net/stats)

10 000 nouveaux joueurs par jour

Quoi c’est donc Minecraft???

Créer un Minecraft avec Babylon.js

tech.days 2015#mstechdays

Sélection et rendu des cubes autour du joueur

Monde infini donc il faut limiter la distance de vision

Comment ca marche

Créer un Minecraft avec Babylon.js

DEMO – Etape 0Premiers essais

tech.days 2015#mstechdays

Frustrum clipping ?

Octree ?

Limiter au maximum le nombre de cube a dessiner

Créer un Minecraft avec Babylon.js

tech.days 2015#mstechdays

Structure personnalisée

Reduire les echanges CPU/GPU

Limiter au maximum le nombre de cube a dessiner

Créer un Minecraft avec Babylon.js

DEMO – Etape 1Un mesh par type

tech.days 2015#mstechdays

Utilisation d’un mesh dynamique

Supprimer les parcours en indexant

Bichonner le GC

Limiter au maximum le nombre de cube a dessiner

Créer un Minecraft avec Babylon.js

DEMO – Etape 2Utilisation de meshs dynamiques

tech.days 2015#mstechdays

Utilisation du brouillard

On cache la misère

Créer un Minecraft avec Babylon.js

DEMO – Etape 3Ajout du brouillard

tech.days 2015#mstechdays

Avec un seul mesh, le frustum clipping est inopérant

Passage en mode chunk!

Créer un Minecraft avec Babylon.js

DEMO – Etape 4Utilisation des chunks

tech.days 2015#mstechdays

Sélection par lancer de rayon

Collisions « a la landaise »

Créer un Minecraft avec Babylon.js

DEMO – Etape 5Promenons nous dans les cubes…

tech.days 2015#mstechdays

Optimiser le moteur de collisions

Stocker le monde sur Azure

A venir…

Créer un Minecraft avec Babylon.js

Questions?

David Catuhe – Etienne Margraff

@deltakosh [email protected]

@meulta [email protected]