[DX] Alors là, je suis impressionné

Bon, dans un précédent thread ici, que je n’arrives plus à retrouver (malheureusement), j’avais posé la question sur "intégrer un Internet Explorer dans une texture/overlay directX). De ce que je me rappelles, on m’avait dit “pas possible”.

Bhen ils l’ont fait! Qui ca, ils? Simple. Les gens de chez Turbine, qui dans leur dernier jeu, Dungeons & Dragons Online, dispose d’une aide au format HTML dans un IE directement ingame. Et c’est vraiment un IE (ou alors ils ont poussé le vice a reproduire le menu contextuel de chaque élément, et implémenter la gestion du flash).

Alors, la vrai question. Comment ont ils fait?

[quote]Cil’ date=’ 6 Feb 2006, 14:44’ post=‘442825’]
Bon, dans un précédent thread ici, que je n’arrives plus à retrouver (malheureusement), j’avais posé la question sur "intégrer un Internet Explorer dans une texture/overlay directX). De ce que je me rappelles, on m’avait dit “pas possible”.

Bhen ils l’ont fait! Qui ca, ils? Simple. Les gens de chez Turbine, qui dans leur dernier jeu, Dungeons & Dragons Online, dispose d’une aide au format HTML dans un IE directement ingame. Et c’est vraiment un IE (ou alors ils ont poussé le vice a reproduire le menu contextuel de chaque élément, et implémenter la gestion du flash).

Alors, la vrai question. Comment ont ils fait?[/quote]
Intégré comment ? Si c’est un IE que tu peux utiliser sur un objet 3D ça sur-poutre. Ca rend à quel framerate ? Ptet qu’ils font de la capture real-time en backbuffer d’un client IE, mais ça serait violent. Si c’est un affichage strictement 2D, c’est déjà moins compliqué puisqu’il suffit d’intégrer le client directement (doit bien y avoir quelques fonctions dans DX qui font la liaison avec Win32).

Sinon, dans l’absolu, faut pas oublier que le IE SDK permet de faire à peu près tout et n’importe quoi avec IE dans n’importe quelle application. La seule limite se situe au niveau du moteur interne qui n’est pas accessible. Ce qui explique pourquoi l’on ne peut pas corriger les bugs CSS par exemple.
En revanche, la conception même d’IE en tant que composants (note le pluriel) permet de faire des trucs assez funky. Pour ma part je me suis amusé à ajouter mes propres objets et fonctions Javascript. A partir de là j’ai construit une sorte de framework pour concevoir vite fait des applications en pur HTML/JS sans avoir à sortir l’artillerie lourde (Visual Studio quoi). Evidemment ça fonctionne aussi bien en offline qu’en online ce qui permet notamment de construire des applications en total ASP (Application Service Provider : applications distantes). Joie.

Antoine

Déjà au niveau du framerate, c’est fluide. Rien a redire de ce point de vue là. Visiblement ca reste de la 2D, mais vu l’intégration (tu peux cliquer sur les liens, t’as le menu contextuel qui « dépasse » de la fenêtre IE) le flash qui tourne, c’est déjà énorme.

Par contre, j’ai constaté un léger « lag » au niveau du mouvement de la fenêtre. Tu commences a déplacer la fenêtre de l’interface, la fenêtre IE est toujours un pixel « en retard ». Donc ca pourrait être effectivement une capture realtime d’un client IE, ou une intégration du client direct.

[quote=« AntoineViau, post:2, topic: 27372 »]Intégré comment ? Si c’est un IE que tu peux utiliser sur un objet 3D ça sur-poutre. Ca rend à quel framerate ? Ptet qu’ils font de la capture real-time en backbuffer d’un client IE, mais ça serait violent. Si c’est un affichage strictement 2D, c’est déjà moins compliqué puisqu’il suffit d’intégrer le client directement (doit bien y avoir quelques fonctions dans DX qui font la liaison avec Win32).

Sinon, dans l’absolu, faut pas oublier que le IE SDK permet de faire à peu près tout et n’importe quoi avec IE dans n’importe quelle application. La seule limite se situe au niveau du moteur interne qui n’est pas accessible. Ce qui explique pourquoi l’on ne peut pas corriger les bugs CSS par exemple.
En revanche, la conception même d’IE en tant que composants (note le pluriel) permet de faire des trucs assez funky. Pour ma part je me suis amusé à ajouter mes propres objets et fonctions Javascript. A partir de là j’ai construit une sorte de framework pour concevoir vite fait des applications en pur HTML/JS sans avoir à sortir l’artillerie lourde (Visual Studio quoi). Evidemment ça fonctionne aussi bien en offline qu’en online ce qui permet notamment de construire des applications en total ASP (Application Service Provider : applications distantes). Joie.

Antoine[/quote]

Va donc faire des trucs utiles en retournant chez tes anciens patron, bosser sur Nomad Soul 2 :stuck_out_tongue:
Private joke: 2 et 4 dépareillés, Tapis!

[quote=« Coldorak, post:4, topic: 27372 »]Va donc faire des trucs utiles en retournant chez tes anciens patron, bosser sur Nomad Soul 2 :stuck_out_tongue:
Private joke: 2 et 4 dépareillés, Tapis![/quote]

Mouarf ! Nan, fini pour moi le jeu vidéo. Suis totalement dépassé et je serais incapable de pondre du code avec les techniques d’aujourd’hui, aussi bien en hard (consoles notamment) qu’en algo pure (moteur 3D, collisions, animations…). A la limite, je pourrais juste être utile sur la conception de tools maison. Je m’en sortais bien de ce côté là, à bouffer les desiderata des grapheux et pondre des plugs 3DSMax ou Maya.
Mébon, aujourd’hui je fais dans le WebDev et j’adore ça. Je quitte pas le C/C++ pour autant (notamment l’appli décrite ci dessus).
Et pour la private : bah moi je continue à jouer, mais online. Je mise même du vrai argent ! Bon ok, je fais des parties à $0.25 de buy-in donc je ne risque pas grand chose :stuck_out_tongue:
En même temps, je me suis fait offrir un bouquin sur le poker et je commence à jongler avec les stats et les stratégies : ça augmente sensiblement l’intérêt du jeu. Le seul problème, toujours le même, c’est de tomber sur des joueurs qui essayent d’être un peu sérieux et sur lesquels tu ne prends pas un bad-beat parce qu’il a touché un brelan de 2 (avec un 2-4 en pockets, par exemple) :stuck_out_tongue:

Antoine

Et en fait ca répond toujours pas a ma question: comment font ils? :stuck_out_tongue:

[quote]Cil’ date=’ 6 Feb 2006, 16:07’ post=‘442864’]
Et en fait ca répond toujours pas a ma question: comment font ils? :P[/quote]
Bah, si tu avais un screenshot ou une description plus détaillée…
J’ai exposé deux méthodes dans deux contextes. Maintenant, rien ne dit que j’ai bon.

Antoine

Je peux tenter un screen, effectivement. Je posterais ce soir.

Ben tu peux faire un IE qui « rend » dans une surface offscreen et l’utiliser comme texture, sinon il y a surement d’autre techniques, mais c’est tout a fait possible. Avalon marche 100% base sur DX et ca marche avec des composant autrement plus complexe niveau UI que le moteur de IE :stuck_out_tongue: donc non non ca a rien d’impossible.

Oui mais si tu fais ca, t’as pas l’interactivité non? JS, liens etc?

Voici une image de l’interface avec l’IE intégré.

Il ya 2 choses qu’on peut constater:

  1. l’Internet Explorer est en “overlay”. Tout ce que j’essaie de mettre par dessus (fenetre des options dans ce cas) est derrière la fenêtre IE. Je doutes fortement que ca soit un bug, je dirais plutot qu’ils ont pas réussi à faire mieux.
  2. le menu contextuel est identique et peut sortir du cadre intégré d’IE. L’appel aux options genre propriétés de la page fait alt tabber le jeu et ouvrir une popup.

Je pense de plus en plus a un système d’overlay. Le jeu est en “fenêtré” de telle sorte a ce que la fenêtre masque tout l’écran, et on ajoute le controle IE par dessus dans une autre fenêtre.

On peut tout re-router proprement. Encore une fois, c’est en tres gros la maniere dont fonctionne tout Avalon (WPF) et ca marche sans probleme. On peut hoster le moteur de IE dans une surface Avalon qui est rendu en DX. La maniere dont ils l’ont fait la tient apparement beaucoup plus du “hack” qu’autre chose…

D’un autre coté, tu parles tout le temps d’avalon, mais la c’est pas encore trop disponible, hein :stuck_out_tongue:

Ca fait des mois et des mois qu’une alpha puis maintenant beta est disponible (sous XP sur DX9 et Vista):

http://msdn.microsoft.com/windowsvista/get…ta/default.aspx

L’API “freeze” a eu lieu en fin d’annee derniere. Mais bon le but du ma mention de Avalon, c’est pas de dire qu’il faut l’utiliser dans un jeu DX9/DX 10 fullscreen a priori (quoi que…) mais d’avancer que les techniques utilisees n’ayant rien de magique et n’utilisant pas de “truc super secret auquel le public a pas acces”, ca prouve que c’est clairement possible de faire ce genre de choses, meme si c’est pas forcement trivial…