JeuWeb - Crée ton jeu par navigateur
Quel langage utiliser pour créer un jeu ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Quel langage utiliser pour créer un jeu ? (/showthread.php?tid=7613)

Pages : 1 2


RE: Quel langage utiliser pour créer un jeu ? - L'Omniscient - 05-04-2016

Oh long-polling ? Je vais regarder ça, merci !
J'étais tombé sur websockets pour le temps réel, du coup je regardais de ce côté là, je suis un auto-didacte du web, du coup je ne connais que les langages que j'utilise, ce qui est assez embêtant et difficile pour aller plus loin, surtout quand ça touche à ce genre de choses plus précises dont la documentation est plus éparse et plus difficile à trouver (et le plus souvent en anglais ><).
Et pour l'AJAX, il y a 5 successions de une à trois requête à la suite avant que l'élément ne reload. J'ai eu beau chercher comment alléger, mais j'essaie à la fois de sécuriser (et encore, c'est pas du tout suffisamment sécurisé, ya plein de données en JSON mais qui transitent assez vite et sont un peu verrouillées par des conditions partout). Mais je pense que c'est la succession des AJAX qui font s'enchaîner quelques secondes d'attente les unes après les autres avant que la dernière requête ne soit validée.


RE: Quel langage utiliser pour créer un jeu ? - niahoo - 05-04-2016

Mais dans ce cas là, avec websockets tu devrais aussi faire 3 allers retours. C'est juste une méthode de transfert des données, ça ne diffère pas beaucoup du long-polling + Ajax par la suite : si tu fais 3 envois à ton serveur pour lui envoyer des données tu devrais toujours le faire.

Ce qui est lent au final, c'est plus probablement ton architecture !


RE: Quel langage utiliser pour créer un jeu ? - Ter Rowan - 06-04-2016

(05-04-2016, 03:58 PM)LOmniscient a écrit : Et pour l'AJAX, il y a 5 successions de une à trois requête à la suite avant que l'élément ne reload. J'ai eu beau chercher comment alléger, mais j'essaie à la fois de sécuriser (et encore, c'est pas du tout suffisamment sécurisé, ya plein de données en JSON mais qui transitent assez vite et sont un peu verrouillées par des conditions partout). Mais je pense que c'est la succession des AJAX qui font s'enchaîner quelques secondes d'attente les unes après les autres avant que la dernière requête ne soit validée.

2 réponses :
1) factuel : regarde le temps que mettent tes requêtes soit avec les outils de debug (ex firebug, etc...) soit en utilisant la console pour tracer les actions. tu sauras alors où ça rame
2) algorithme
pourquoi 5 successions de 1 à 3 requêtes ? ne peux tu pas optimiser ton code (à la limite nous expliquer ton algo)


RE: Quel langage utiliser pour créer un jeu ? - Akira777 - 06-04-2016

LOmniscient
(05-04-2016, 03:00 PM)LOmniscient a écrit : Ah tiens, parfait, justement, ton node.js est sur un autre serveur que ton PHP ? Et comment envoie-tu les données de Node.js à PHP et vis versa ? Je suis en pleine galère là dessus en ce moment, aucune doc ne fait le tour de la question des websockets sur PHP >.<
Sinon j'ai bien trouvé ça :
http://stephaneey.developpez.com/tutoriel/php/sockets/
En gros juste une petite technologie socket.php, mais je me tate, j'attends de trouver les différentes alternatives, lesquelles sont les mieux, et surtout, lesquelles sont possible sur mon serveur mutualisé (je crois que c'est un mutualisé, j'arrive même pas à trouver cette info).
D'autre part, tu as un clé SSL ? Pour avoir la clé SSL, faut que je paye 108e l'année je crois au lieu de 48e. J'ai lu que c'était important.

Re-désolé guys1, je te pique un peu ton sujet, mais les réponses qu'on me donnera pourront te profiter. Faut que tu te renseignes sur les websockets en tous cas pour le temps réels. A partir de là, tu auras les langages serveurs les plus adaptés.
Voici un site avec des infos là dessus :
http://www.html5rocks.com/en/tutorials/websockets/basics/
Tu noteras qu'ils ont évincé le PHP ces petits *** Big Grin
D'où ma peine actuelle, alors que je veux faire des petits trucs pas très élaborés en temps réels (du genre, juste un chiffre qui s'affiche en temps réels) pour que yait pas de soucis de deux interactions au même moment sur ce chiffre. Et pour ça, avec PHP, bah faut trouver des trucs de vaurien de web, le codeur de la rue. Mais bon, je suis un codeur de la rue, j'assume Big Grin

Re,

- Pour faire communiquer PHP et Node.js, c'est très simple. J'utilise une API REST entre mon code Node.js et mon code PHP (sous Laravel 5). Au final la partie Node.js gère très peu de "métier", dès que deux joueurs s'affronte, Node.js va chercher sur mon API les infos de chacun des joueurs et du match. A la fin du match, elle renvoie à l'API un paquet d'info que la partie PHP va traiter et stocker en BDD.

- Concernant le SSL je peux pas te dire pour du mutualisé, j'en utilise trèèèèès peu. Je préfère amplement être sur du dédié où là j'utilise Let's encrypt ou je l'achète chez Gandi quand j'ai besoin d'un certificat EV (toute la barre d'adresse en vert, avec nom de la société en amont). Chez OVH pour du mutu c'est de l'ordre de 60€ / an (mais seulement pour le domaine principal de ton hébergement, pas pour les multi-domaines).

Mais je rejoins niahoo sur le long-polling, ça fonctionne très bien Smile
Par contre @niahoo, en PHP on commence à avoir des trucs vraiment pas dégueu, notamment le dernier né "php-pm". Je viens de tester un tout petit projet avec récemment, le gain de performance de malade ! Vraiment, ça devient mature; bon pas encore au top du top; mais ça a le mérite d'être signalé. (Le projet testé en question est un clone du jeu de Gwynt de Witcher 3, que j'avais déjà implémenté en Ajax pur, puis en node.js et maintenant via ReactPHP).

Quelques infos en plus pour toi LOmniscient :
- Certificat SSL basique chez Gandi : 12€ / an
- Certificat SSL pour l'offre mutualisé chez OVH : 59,99€ / an
- VPS SSD chez OVH (ressources mutualisées mais souplesse du dédié) : à partir de 3,6€ / mois
- Serveur dédié chez Kimsufi (filialle OVH) : à partir de ~6€ / mois
Initiation node.js + socket.io chez Grafikart


RE: Quel langage utiliser pour créer un jeu ? - niahoo - 06-04-2016

(06-04-2016, 02:05 PM)Akira777 a écrit : Par contre @niahoo, en PHP on commence à avoir des trucs vraiment pas dégueu, notamment le dernier né "php-pm". Je viens de tester un tout petit projet avec récemment, le gain de performance de malade ! Vraiment, ça devient mature; bon pas encore au top du top; mais ça a le mérite d'être signalé. (Le projet testé en question est un clone du jeu de Gwynt de Witcher 3, que j'avais déjà implémenté en Ajax pur, puis en node.js et maintenant via ReactPHP).

Ah oui ça à l'air cool. Bon j'men fous moi j'utilise Phoenix/Elixir. Et justement, leur idée de garder une empreinte mémoire de tous les composants chargé j'avais développé une version en Lua basé sur Erlang et le serveur web Cowboy, c'était assez fun Smile Bon ensuite comme je dev pas vraiment en Lua j'ai laché le truc. C'est cool que ça arrive en PHP, je m'en servirai probablement !