Voxel engine

Répondre
Partager Rechercher
Salut,
Je suis depuis déjà quelques mois le blog de Miguel Cepero. http://procworld.blogspot.fr/
Dans son dernier article, il a annoncé avoir licencié sont voxel engine à SOE pour EQ next.
Je suis donc venu partager l'information sur jol, si par exemple vous voulez plus de vidéo sur les capacités du moteur ou si vous êtes curieux d'apprendre comment il est réalisé

[Message édité par Agahnon.]

Dernière modification par Agahnon ; 05/08/2013 à 10h37.
Merci pour le lien, c'est intéressant.

Dans certaines vidéos on voit bien le potentiel du moteur. Il y a peut être des chances pour qu'on se trouve vraiment avec un minecraft fun à jouer (déplacement/combat) avec EQ Landmark.

Pour EQ Next par contre, je me demande ce qu'ils vont nous faire... Un mmorpg dans un monde persistant non instancié ou on peut détruire/creuser/construire.. J'imagine le champs lunaire que ça peut donner au bout de quelques semaines.
Si pour pouvoir creuser/construire il faut passer des heures à recupérer des ressources pour faire le puit/structure, il y a peu de chance de voir un champ de structures chaotiques.

Tout est une question de dosage et de limite.
Un mot du créateur du moteur voxel (tiré du blog donc) :

At this point I really cannot comment anymore. I do not want to reveal their road map, this is up to SOE. One thing is certain, this is no marketing BS: After working with the EQNext team for a while I now have the realization they will be taking this tech to levels far beyond anything I have been able to do and show here. The best is yet to come.

Bon.. Ce EQNext risque d'être quelque chose d'énorme, qui va bouleverser le monde des mmorpg.

Mais faut que j'arrête de me renseigner et l'oublier un peu, l'attente, tout ça c'est le mal.
Citation :
Publié par Jagerden
Pour EQ Next par contre, je me demande ce qu'ils vont nous faire... Un mmorpg dans un monde persistant non instancié ou on peut détruire/creuser/construire.. J'imagine le champs lunaire que ça peut donner au bout de quelques semaines.
Ils ont annoncé dans la présentation d'intro que toutes les modifications serrait temporaire et que les modifications "définitive" viendrai de quête publique à la surface et que les profondeurs serrait régénérer procéduralement régulièrement.
En fait SOE a vraiment voulu faire quelque chose qui sort des sentiers battus et s'est tourné vers des solutions indépendantes de qualité : Procedural World et son moteur voxel et Storybricks pour l'IA. Reste à voir s'ils vont vraiment transformer l'essai et pondre un monde à la physique et l'ia radicalement différents et fonctionnels, mais rien que l'audace du projet mérite d'être salué.
Si je fouille dans mes archives mémorielles, je me souviens que les méthodes à base de Voxel étaient très gourmandes en ressource mémoire et puissance de calcul.

Si quelqu'un connait bien ce domaine, ça m'intéresse de savoir ce qu'il pense du mariage Voxel+MMO, va-t-on avoir des distances de vue réduite, avoir besoin de machines de guerre, est-ce que ça ne va pas ramer s'il faut calculer les destructions massives de X joueurs présents à l'écran ?

Comme je le dis plus haut, mes connaissances n'ont pas été mises à jour depuis quelques siècles je m'en fait peut être pour rien.
SmokeJumper a annoncé que ce qui les occupe actuellement est l'optimisation du moteur afin de permettre à des configurations datant d'il y a 4-5 ans de pouvoir jouer correctement. Il a annoncé que la sortie PS4 ne sera pas à l'ordre du jour tant que le jeu ne sera pas complètement stable et optimisé pour les PC.

D'ailleurs en parlant de performance et de MMO, je me suis toujours demandé (enfin depuis ces 2 dernières années) pourquoi les développeurs ne profitaient pas du Cloud étant donné qu'une connexion internet est déjà requise pour jouer au dit MMO.

Peut-être une surprise sur ce point de la part de SOE. (Même si je n'y crois pas trop )
Citation :
Publié par Stelarius

D'ailleurs en parlant de performance et de MMO, je me suis toujours demandé (enfin depuis ces 2 dernières années) pourquoi les développeurs ne profitaient pas du Cloud étant donné qu'une connexion internet est déjà requise pour jouer au dit MMO.

Peut-être une surprise sur ce point de la part de SOE. (Même si je n'y crois pas trop )
Un MMO n'est ce pas déjà du cloud avec ses serveurs centralisés, son stockage de données, son déport des calculs fondamentaux sur le serveur, son accès à tes données de n'importe où, sa gestion de l'affichage en local par le client, etc. ?
Je pensais plutôt à l'allocation de ressources clientes via le Cloud (Toutes les données gérées par le client comme la modélisation ou la gestion de l'interface)

Après ça reste juste une proposition/hypothèse que je soumet pour alléger le travail du client.


En passant, tu viens de toi-même répondre à ta précédente question, je suppose que le plus gros des calculs concernant la destruction/reconstruction du décor sera gérée server-side dans tous les cas.



Edit : Je complète mon message en ajoutant une information assez intéressante datant de l'année dernière
https://www.jeuxonline.info/actualit...llions-dollars

Gaikai est une société spécialisée dans le cloud gaming, je vous laisse lire la suite de l'article.
Ils étaient déjà en collaboration avec Turbine pour Lotro et Donjons et Dragons Online.

http://fr.wikipedia.org/wiki/Gaikai
"Sony Computer Entertainment annonce le rachat de Gaikai le 2 juillet 2012 pour un montant de 380 millions de dollars (environ 301 millions d’euros)"

Dernière modification par Stelarius ; 06/08/2013 à 11h24. Motif: Remplacement du lien
Citation :
Un MMO n'est ce pas déjà du cloud avec ses serveurs centralisés, son stockage de données, son déport des calculs fondamentaux sur le serveur, son accès à tes données de n'importe où, sa gestion de l'affichage en local par le client, etc. ?
L'interaction Client/Serveur pour un MMO fonctionne sur deux bases :

- Externaliser le maximum de process : principalement tout ce qui touche au rendu graphique du jeu. Car très gourmand en ressource matériel.

- Placer du coté serveur tout ce qui touche aux données sensibles du jeu : interaction pnj, déplacement dans l'environnement, gestion de l'inventaire, etc.

Ces deux éléments servent, entre autre, à minimiser la taille des paquets que doivent s'échanger le client et le serveur, car c'est le point critique pour un jeu MMO. Pas de connexion où lente = Pas de jeu, lag => plaintes des joueurs

Pour ceux que ca intéresse je vous conseille cette étude issu du MIT :
http://pdf.aminer.org/000/512/826/a_...for_mmorpg.pdf
littérature en anglais.
C'est pour cela que les futurs MMO devraient plus communiquer sur le fait qu'ils vont réaliser des optimisations sur leur code réseau avant de montrer des screens tout beaux tout magnifiques.
Citation :
Publié par Stelarius
D'ailleurs en parlant de performance et de MMO, je me suis toujours demandé (enfin depuis ces 2 dernières années) pourquoi les développeurs ne profitaient pas du Cloud étant donné qu'une connexion internet est déjà requise pour jouer au dit MMO.
J'ai l'impression que ce que tu appelle Cloud est en fait le streaming video comme OnLive. Sachant qu'il existe également l'utilisation du Cloud pour externaliser la gestion des serveur comme le fait Red5(Firefall) avec le Cloud Amazon.

L'avantage qu'aurait le streaming vidéo, en dehors de pouvoir jouer sur n'importe quelle config, pour un mmo serrait que la bande passante deviendrait fixe pour tout les joueurs, plus de clipping venant du réseau, toutes les info du serveur servent pour le rendu, là ou l'augmentation de bande passante est quadratic sur le nombre de joueurs actuellement. potentiellement ça permettrait d'avoir des dizaine de millier de joueurs au même endroit.
Pour l'instant c'est encore de la science fiction vu qu'aucun serveur n'est capable de générer autant de rendu, et le flux streaming est certes constant, mais néanmoins imposant et il faudrait déjà beaucoup de joueurs pour qu'il deviennent rentable (environ 200 (pour du 720p), d’après mes approximation à la hache), sachant que dans un mmo aujourd'hui la majorité des joueurs sont seul la majorité du temps.

Citation :
je me souviens que les méthodes à base de Voxel étaient très gourmandes en ressource mémoire et puissance de calcul. Si quelqu'un connait bien ce domaine, ça m'intéresse de savoir ce qu'il pense du mariage Voxel+MMO, va-t-on avoir des distances de vue réduite, avoir besoin de machines de guerre, est-ce que ça ne va pas ramer s'il faut calculer les destructions massives de X joueurs présents à l'écran ?
Ce qui est long, ce n'est pas de mettre à jour les voxel c'est de regénérer le mesh, le serveur t'envoi juste l'action (explosion, etc) et sa position, tu calcul client side quel voxels sont touché, et si il y a du monde tu peut par exemple regénérer le mesh toute les 0.2s, comme ça il englobe potentiellement plusieurs explosion dans une seul génération.
Pour la distance de vue, ton PC génère la map à partir de la seed, puis le serveur envoie la liste des voxel modifier, c'est comme ça que fonctionne voxel farm aujourd'hui. avec le LOD et la génération à partir de la seed, tu devrais voir le terrain à 20km (capacité du moteur aujourd'hui), mais les modification devrais apparaître à courte porté.
pour les perfs, oui ça bouffe énormément, les fonctions de bruit cohérent sont assez lourde et appelée de nombreuse fois par voxel (fbm), et la méthode d'extraction isosurface utilisé, dual contouring, est aussi trés lourde à cause de la "quadratic error functions" sur jusqu’à 8 droites, qui sert à trouver l'emplacement du vertex à l'intérieur de son voxel en fesant "la moyenne de toutes les droites qui arrivent, définit par leur position sur la face du "cube virtuel" et leur normal.
mais si le jeu sort dans 2 ans ça devrait être accessible au PC milieu de game de cette époque.

Sachant que toute la génération de voxel et de mesh se fait sous openCL, c'est la carte graphique qui va être le plus sollicité, contrairement a tout les jeux modernes (et particulièrement les mmo) qui bottleneck au niveau du CPU, donc ça ne va pas forcément se sentir comparer à d'autres jeux puisque ça utilise des ressources idle. On sera fixée avec landmark pour ça, sinon starforge aussi utilise voxel farm mais je ne l'ai pas essayer

Dernière modification par Titan. ; 11/08/2013 à 11h52.
Citation :
Publié par Titan.

Ce qui est long, ce n'est pas de mettre à jour les voxel c'est de regénérer le mesh, le serveur t'envoi juste l'action (explosion, etc) et sa position, tu calcul client side quel voxels sont touché, et si il y a du monde tu peut par exemple regénérer le mesh toute les 0.2s, comme ça il englobe potentiellement plusieurs explosion dans une seul génération.
Voila a mon avis le vrai challenge pour les générations à venir de mmo qui utiliseront cette techno (et si ca marche ils seront nombreux)

Simple a comprendre en tant que gamer.
Si le serveur lag ou crash a cause d un trop grand nombre de joueur dans des jeux de plus vieille génération,
Comment gérer une modification du terrain en plus de toute les autres action des joueurs, cela augmente considérablement le nombre d information a échanger avec le serveur.


En tout cas merci pour ces infos titan
Citation :
Publié par Jagerden
Un mot du créateur du moteur voxel (tiré du blog donc) :

At this point I really cannot comment anymore. I do not want to reveal their road map, this is up to SOE. One thing is certain, this is no marketing BS: After working with the EQNext team for a while I now have the realization they will be taking this tech to levels far beyond anything I have been able to do and show here. The best is yet to come.

Bon.. Ce EQNext risque d'être quelque chose d'énorme, qui va bouleverser le monde des mmorpg.

Mais faut que j'arrête de me renseigner et l'oublier un peu, l'attente, tout ça c'est le mal.
D'un autre côté il leur vend son moteur, il va pas dire ouai c'est de la merde ce qu'il font avec, pas s'il veut retravailler (et donc gagner de l'argent).

bon aprés oui on a vue en démo qu'il avait fait un truc sympa, mais un MMORPG moderne ça peu pas ce concentré sur du Minecraft, faut que e moteur puisse affiché plein de joueur en même temps et pour le moment on a vue que 2 joueurs a l'écran donc wait en see.
Citation :
Publié par Titan.
Ce qui est long, ce n'est pas de mettre à jour les voxel c'est de regénérer le mesh, le serveur t'envoi juste l'action (explosion, etc) et sa position, tu calcul client side quel voxels sont touché, et si il y a du monde tu peut par exemple regénérer le mesh toute les 0.2s, comme ça il englobe potentiellement plusieurs explosion dans une seul génération.
Pour la distance de vue, ton PC génère la map à partir de la seed, puis le serveur envoie la liste des voxel modifier, c'est comme ça que fonctionne voxel farm aujourd'hui. avec le LOD et la génération à partir de la seed, tu devrais voir le terrain à 20km (capacité du moteur aujourd'hui), mais les modification devrais apparaître à courte porté.
pour les perfs, oui ça bouffe énormément, les fonctions de bruit cohérent sont assez lourde et appelée de nombreuse fois par voxel (fbm), et la méthode d'extraction isosurface utilisé, dual contouring, est aussi trés lourde à cause de la "quadratic error functions" sur jusqu’à 8 droites, qui sert à trouver l'emplacement du vertex à l'intérieur de son voxel en fesant "la moyenne de toutes les droites qui arrivent, définit par leur position sur la face du "cube virtuel" et leur normal.
mais si le jeu sort dans 2 ans ça devrait être accessible au PC milieu de game de cette époque.

Sachant que toute la génération de voxel et de mesh se fait sous openCL, c'est la carte graphique qui va être le plus sollicité, contrairement a tout les jeux modernes (et particulièrement les mmo) qui bottleneck au niveau du CPU, donc ça ne va pas forcément se sentir comparer à d'autres jeux puisque ça utilise des ressources idle. On sera fixée avec landmark pour ça, sinon starforge aussi utilise voxel farm mais je ne l'ai pas essayer
Merci, la j'ai carrément appris des trucs !
Tu bosses sous Voxel pour en savoir autant ??
20KM de LOS, ça veut dire qu'on va enfin avoir un vrai jeu seamless ???
Pourquoi "enfin" ? des vrais jeux seamless , il en existe déjà (WoW, Rift,...), les moteurs de terrain basé sur des heightmaps sont tout aussi capable de LOD et de streamer leurs chargements.
La difficulté supplémentaire pour un mmo c'est de réussir à partager les ressources entre différents serveurs physiques, dans un jeu comme Aion tu met une machine par map et c'est réglé. Les devs de Rift avaient parlé de leur techno dans une interview, ils ont 8 machines pour un continent, certaines qui s'occupe de l'IA des mobs, d'autres de la physique, d'autres des inputs des joueurs, ça avaient l'air d'être un gros bordel. j'arrive pas a le retrouver et c'est pas du tout mon domaine d'expertise, en tout cas c'est pas les problèmes de LOD les plus chiant à résoudre.
Citation :
Publié par Titan.
Pourquoi "enfin" ? des vrais jeux seamless , il en existe déjà (WoW, Rift,...), les moteurs de terrain basé sur des heightmaps sont tout aussi capable de LOD et de streamer leurs chargements.
La difficulté supplémentaire pour un mmo c'est de réussir à partager les ressources entre différents serveurs physiques, dans un jeu comme Aion tu met une machine par map et c'est réglé. Les devs de Rift avaient parlé de leur techno dans une interview, ils ont 8 machines pour un continent, certaines qui s'occupe de l'IA des mobs, d'autres de la physique, d'autres des inputs des joueurs, ça avaient l'air d'être un gros bordel. j'arrive pas a le retrouver et c'est pas du tout mon domaine d'expertise, en tout cas c'est pas les problèmes de LOD les plus chiant à résoudre.
Non Rift n'est pas un vrai seamless.
Pour comprendre ce que j'entends par seamless : c'est un monde comme DNL par exemple. Alors certes c'est un exemple fumeux mais c'est le seul truc qu'ils avaient réussi à faire.
Pour WoW j'en sais rien, je n'y foutrai jamais les pieds.
Quand tu parles de 'seed' c'est bien pour parler de génération aléatoire ? Est-ce qu'on doit en déduire que le monde de EQN sera généré aléatoirement avec une seed partagée par tout le monde (pour avoir la même map) ?

Si on obtient de très sympathiques résultats avec des mondes générés aléatoirement, on est toutefois à des années lumières des univers patiemment construit à la main.

L'autre soucis conceptuel que j'ai concerne la synchronisation des informations de modification du monde entre les joueurs. Actuellement, PNJ/mobs et toutes les données interactives sont gérées coté serveur, si le paysage est destructible, il va falloir que le serveur gère/stocke l'état du monde et l'envoie aux clients pour que tout les clients aient les mêmes informations.

Si on prend le cas d'un "Rally call", on peut penser qu'ils durent quelques jours/semaines. Je ne pense pas non plus que le monde se reconstruira pendant ce temps là, sinon on peut déjà les considérer comme des ratages (si la forteresse assiégée repop à minuit et que la phase 1 du rally call c'est de la détruire pendant 1 mois, c'est tout de suite moins intéressant). Tout ça pour dire que le joueur qui débarque après plusieurs jours va se prendre l'intégralité des modifications apportés au paysage depuis le début du "Rally call" et pouvoir prendre son café pendant que le client recalcule tout ?

Et je pense que ça se complique dans les zones de reconstruction rapide du monde, je vois mal le terrain rester ravagé quelques jours, on peut donc penser que les fenêtres de repop vont être courtes. Potentiellement, on peut donc commencer à creuser un trou et le voir se reboucher en live ... et s'ils gèrent des fenêtres glissantes de repop, faut penser à la cohérence du monde pour éviter de repop un haut d'arbre sans son bas, un rocher flottant au dessus d'un trou.

C'est dingue quand on est inculte toutes les questions qu'on peut se poser
Rift et Wow sont seamless. Tu peux traverser tout le continent, escalader les montagnes et passer d'une zone à l'autre sans aucun écran de chargement. Le fait que les accès d'une zone à l'autre soient canalisés par le relief ne change pas cet aspect. D'ailleurs sur wow quand tu prend une monture volante c'est encore plus flagrant.
Après tu peux argumenter que les continents qui sont séparés par un vaste océan requièrent un chargement et que les donjons sont instanciés, mais à mon avis c'est chipoter, la technologie "seamless" est bel et bien utilisée.

Le vrai argument, c'est que leurs monde ont beau être seamless, l'organisation en zones par niveau, propre au genre, rend cette feature inutile. A quoi bon pouvoir escalader une montagne si tu n'as pas le niveau requis pour aller de l'autre coté ? Le changement de "niveau" des mobs reste artificiel et lié a des frontières de zones arbitraires.

DAoC (intra royaume) et Vanguard fonctionnent de la même façon (L2 aussi il me semble).

Par contre EQ1 et 2, WAR, LotRO, Aion, FFXI, FFXIV, SWTOR, GW2 etc. sont des jeux à zones avec chargement. Dans les faits, toujours à cause de cette hiérarchisation par niveaux qui morcelle tout le contenu, ça ne change pas grand chose concrètement : pendant le levelling tu es limité a explorer les zones de ton niveau n +/- 2, et une fois niveau max les zones inférieures ne servent plus à rien.

Dans EQnext, si l'ensemble du continent (et ses souterrains) est réparti en 4 ou 5 tiers de difficulté seulement, ça permet une exploration moins segmentée ("je viens de passer 46, je vais aller dans la zone des mobs 46 maintenant"), du coup le seamless est plus pertinent.
Parenthèse, mais Lotro est plutôt dans la catégorie seamless au même titre que WoW: outre des chargements pour passer dans des zones instanciées ou intérieures (bâtiments, cryptes, etc), le reste du monde est partitioné en 3 (4 car une des zones n'est pas géographiquement contigüe aux autres, mais ça reste une exception).
Seamless n est pas censé vouloir dire sans aucun chargement?

Nan parce que dire c'est un seamless y a juste quelque chargement.

ça revient pas un peu à dire "nan mais c'est une jument mais elle a juste un pénis "
Citation :
Publié par Gaelynn
Le vrai argument, c'est que leurs monde ont beau être seamless, l'organisation en zones par niveau, propre au genre, rend cette feature inutile. A quoi bon pouvoir escalader une montagne si tu n'as pas le niveau requis pour aller de l'autre coté ? Le changement de "niveau" des mobs reste artificiel et lié a des frontières de zones arbitraires.
This.

Et désolé mais à partir du moment ou il y a un mur invisible, comme c'est le cas sur Rift, ce n'est plus du seamless "pour moi".
DnL était génial pour cet aspect, une totale liberté, un véritable continent. (Je ne pensais pas un jour être capable de parler en bien de DnL ...)
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés