Objet: Intégrer un navigateur Internet

Il existe une API : Gecko FX
qui permet d’intégrer un navigateur Internet directement dans un logiciel.
Gecko FX se base (et utilise) le moteur de Firefox donc c’est pas une API seulement sous Windows. (je veux dire, pas uniquement spécialisée pour Windows).

Ce serait bien de créér un objet en utilisant cette API: Navigateur Internet

(où il aurait comme paramètre: Nom, Taille (Longueur/Largeur), URL, Bordure (visible/invisible)) ça devrait suffire.

Ainsi, on pourrait via les actions le manipuler et via les conditions le tester (ses paramètres):

NavigateurWeb(lenavigateur)

Ce qui ferait aller le navigateur web objet nommé “lenavigateur” à l’adresse spécifiée.

POURQUOI je proposes ça?

Ok, ce serait plus sympathique que dans nos jeux on puisse intégrer des classements via un navigateur internet (vu qu’on ne peut pas recevoir de données, pour le moment tout ce qu’on peut dire c’est de dire au joueur de se rendre sur le site nianiania pour voir son classement et les autres classements)…

On imagine aisément comme il s’en moquera et passera de ce fait à côté de la partie “online” de nos jeux.

Tandis que si on peut intégrer un tel objet, on lui met aucune bordures et, on le dirige sur une page à nous, ainsi, le classement pourrait s’afficher directement dans le jeu sans le quitter ET sans utiliser de fonctions réseau trop complexes (ce sera GeckoFX qui le fera)… voilà!

J’aime bien ton idée ! Je suis de ce genre là, à fermer une fenêtre non autorisé, sans même voir ce qui ce passe dessus. Si c’est applicable, j’en connais au moins un membre qui trouvera cette idée génial. Moi je suis pour ! :laughing:

Sympathique, sauf que GeckoFX n’est disponible que pour C#, et fait pour être intégré dans des applications Windows Forms, et non pas dans une fenêtre OpenGL. :neutral_face:

Notons quand même qu’une action de téléchargement est disponible depuis peu, permettant de télécharger par exemple un fichier de score qui pourra être lu par le jeu.

Arf, pour C#, je vois, (je me souvenais plus de ce détail, et pourtant j’en ai fait du C# avec XNA)

Sinon, pour l’action de télécharger un fichier, je le savais déjà, mais, bon, c’est moins pratique qu’un navigateur intégré, je poursuis mes recherches et si je trouves une API/LIB pour C++ je te tiendrais au courant 4ian ! :slight_smile:

J’ai trouvé ça: http://www.codeguru.com/Cpp/controls/controls/internetwebrelated/article.php/c5267

– en revanche, seul les Windows pourraient s’en servir de ce système.
– donc pour Game Develop Linux, c’est raté… Ainsi, on risque pas de la voir débarquer cette fonctionnalité vu que le produit (GD) doit ^(je penses selon toi)^ être semblable d’un système d’exploitation à l’autre.

Là c’est bien du C++, mais c’est pour être utilisé avec les MFC ( Bibliothèque d’interface graphique de Microsoft entre autre en gros ) et non pas avec OpenGL.
Ce qu’il faudrait donc, c’est un rendu qui se fasse dans OpenGL. Autant dire que ça risque d’être dûr à trouver…

C’est contraignant l’OPenGL dans ce genre de cas… Je continues ma recherche, mais je suis comme toi, je ne penses pas qu’elle aboutira.

Finalement 4ian, je suis arrivé à ce genre de chose: sand-labs.org/owb

Cela conviendrait-il?

Car j’ai vu ça: Using OWB Pukapuka as a rendering engine for your application

ET j’ai aussi vu ça: kirix.com/labs/wxwebconnect.html

C’est tiens toi bien: wxWebConnect is a Web Browser Control library for wxWidgets that enables developers to quickly integrate advanced Web browser capabilities into their own applications.

Je te rapelle que 4ian utilise WxWidget uniquement dans GD, mais WxWidget n’est pas incluse dans les jeux compilés.

Dans ce cas le premier OWB pourrait faire l’affaire je penses.

Enfin, c’est à 4ian de décider.

Sinon, tant pis mais c’est rééllement un manque à combler sigh.

Réellement ? Actuellement, pas tant que ça.
Game Develop reste tourné vers les jeux. Et un navigateur internet n’est pas un jeu.
Le jour où Game Develop permettra de faire des applications, oui, ça sera quelque chose à ajouter. Mais si un jour Game Develop permet de faire des applications, ça signifiera l’utilisation de bibliothèque telles que wxWidgets, et là l’intégration d’un navigateur ne posera plus aucun problème.

Certes, mais ça enlève un certain côté online pratique.

La lecture de site c’est pas important, ce système était pensé (dans ma tête) pour afficher des notes concernant le jeu, et notemment des classements.

Car récupérer une feuille de score, certes c’est faisable, mais il me semble que Game Develop ne peut pas parser un fichier.
Donc si il contient des éléments complexes comme des couleurs, Game Develop ne sera pas apte à les déchiffrer.
De plus même si on télécharge un document HTML, il faudra ouvrir une fenêtre d’un navigateur externe pour l’afficher, et dans ce cas: L’ergonomie du jeu en prend un sale coup

De ce fait ça rend le tout assez limité.

Dommage, mais bon, tant pis, sinon, théoriquement parlant, OWB ferait l’affaire ou pas?
Si oui, peut-être donc que dans ce cas le SDK pourrait permettre l’écriture d’une extension du genre.

Si le fichier de score est fait en xml, à la manière des fichiers qu’on peut créer actuellement avec les actions d’écriture/lecture ( C’est à dire un fichier xml relativement simple avec des paramètres “value” et “texte” associés aux balises et qui contiennent les données ), Game Develop pourra tout à fait le lire.

Si tu télécharge et affiche les scores dans le jeu, tu peux les présenter comme tu le souhaite, sans devoir communiquer les couleurs dans le xml.

Il y a un rendu SDL, donc on s’approche du faisable. Mais je ne sais pas à quoi ça ressemble, ni la charge de travail nécessaire pour afficher ça avec SFML/OpenGL.

(Nous sur le projet collectif on s’est intégrer un navigateur internet :smiley: tu télécharge des XML’s que le jeu lis :smiley: )

Faire afficher un XML c’est une chose oui.

Mais le HTML pour ce genre de choses c’est plus aisé, tableau, couleur et j’en passes :slight_smile:
Et en plus quand il est écrit dynamiquement avec du PHP, c’est vraiment très agréable :astonished:

Et pour OWB tu dis que c’est faisable, hum, intéréssant, je m’y attèlerais peut-être, sauf que là, je veux au moins finir un jeu avec Game Develop.

Et après, je tenterais de faire des extensions pour Game Develop (et donc faudra que j’apprennes les bases du C++, ce qui ne sera pas une mince affaire).

Cependant, avant de coder des extensions, j’attendrais que la nouvelle version de Game Develop soit sortie histoire de pas avoir à tout fixer pour les versions futures :slight_smile:

Quand on parle de XML, il s’agit de l’utiliser pour récupérer des données. Le HTML est lui destiné à être affiché. C’est différent et donc assez peu comparable.
( D’ailleurs, question intégration, il est parfois même préférable de récupérer des données depuis internet et de les afficher dans le jeu ( Avec objets, textes… ) de façon totalement integré plutôt que d’avoir une page web à l’intérieur du jeu. )

Le fichier XML que tu peux récupérer sera bien évidemment généré dynamiquement du coté du serveur, lors de l’ajout d’un nouveau score par exemple.

On s’approche du faisable, car si il y a un rendu pour SDL, il y a peut être moyen de l’adapter pour SFML/OpenGL. Mais franchement, ça semble ardu.

Il peut y avoir quelques adaptations à faire entre deux versions, mais rien de bien méchant, tu peux tout à fait commencer à coder des extensions maintenant.

Hum, je penses que tu as raison.

Par contre, avant de coder une extension (je n’en suis pas du tout encore là, j’expérimentes un peu la création avec Game Develop avant, je le trouve vraiment sympa.
Bien que des fois je confonds certaines choses avec d’autres, je dois être illogique ^^…

Et ensuite seulement je tenterais de coder des extensions à Game Develop.
Il est vraiment dommage que le language utilisé ne soit pas du C#.NET, car je le maîtrise mieux :s

M’enfin, j’ai toujours voulu (avant de connaître le C#.NET) apprendre le C++, donc, ça sera une raison supplémentaire de coder des extensions pour ce merveilleux logiciel Game Develop.

C’est rare ce genre de logiciel (aussi puissant et aussi capable tout en restant gratuit, merci encore).