JeuWeb - Crée ton jeu par navigateur
[Sondage et Question] Type (technique) de jeu par navigateur - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Gameplay, gamedesign (https://jeuweb.org/forumdisplay.php?fid=48)
+--- Sujet : [Sondage et Question] Type (technique) de jeu par navigateur (/showthread.php?tid=6317)

Pages : 1 2


RE: [Sondage et Question] Type (technique) de jeu par navigateur - Maks - 16-08-2012

Merci Smile J'ai utilisé tellement de choses sur ce projet que je crois que j'aurais du mal à faire l'inventaire là ^^

Pour l'alpha : PHP, vanilla Javascript, MySQL, CouchDB, Code Igniter, Node (Socket.IO, Express...), HTML/CSS3/JSON bien sûr... ect
Pour la bêta : CoffeeScript, Javascript, jQuery, RequireJS, underscore, BackBone, MongoDB, Node (Socket.IO, Express, Mongoose, Jade, i18n...), SASS, YAML, JSON... et surement Rails pour le site web mais j'y suis pas encore...

Sinon la seule API HTML5 que j'utilise c'est canvas en effet Wink Je souhaiterais toucher le plus de plate-formes/browser possibles.

Si tu t'y lances bon courage Big Grin Ca reste moins ardu que de la 3D ceci-dit.


RE: [Sondage et Question] Type (technique) de jeu par navigateur - Argorate - 17-08-2012

Tu confond beaucoup de choses et du coup tu dis un peu n'importe quoi à mon gout, je vais donc rectifier selon mon point de vu (plaira à qui voudra).

Il y a différent types de jeux, et différente technologies pour les implémenter.
La première chose, il faut distinguer les types de jeux:

_tour par tour
_en temps réel

Ce que tu compares à des "jeux de bureau", sont en fait des jeux en temps réel (ça n'a rien avoir avec le fait d’être une application et de quitter le monde du jeu par navigateur! certains jeux par navigateur sont en temps réel, surtout avec le push et node.js et les websocket qui arrive sur les navigateur moderne.)

Ensuite, il y a les jeux tour par tour, où tu affirmes bêtement que l'"on ne contrôle pas son personnage" (désolé mais vu que tu parles indirectement de mon jeu et de d'autres jeux en tour par tour que j'aime bien, j'aime pas trop qu'on dise n'importe quoi^^).
Où là, on contrôle bien entendu son personnage, mais où les actions sont limiter via un système de tour (soit du temps, soit des points d'action et autre forme de limitation).

Ce sont donc deux principes de jeux, ni meilleur, ni moins bon l'un que l'autre, juste différent sur la manière de jouer (Civilization V est un jeu tour par tour c'est pour ça que c'est moins bien qu'un autre jeu du même genre).

On peut ensuite, distinguer un amalgame récurrent de ces derniers temps (qui m’exècre relativement, car porte a confusion mon petit esprit): certains parle de jeu en "temps réel" pour des jeux tour par tours qui utilise le temps "reel" => de notre monde dans celui du jeu.
Moi même sur DVO, j'utilise ce procéder pour la création des bâtiments: un timer diminue au court du temps "réel", mais ce n'est pas pour autant que c'est un jeu en temps réel, cela reste du tour par tour.
Il faut donc faire attention a ne pas mélanger les concepts.


Après, il y a les technologies (coté programmeur):

_Le vieux principe HTTP: on click, ça recharge
_Le vieux principe HTTP avec un peu de jugeote: on click, requête AJAX, on charge que se qu'on veux et on traite la réponse sans tout recharger.
_Le principe intéressant du push ou encore long polling qui est une sorte de cheat pour contourner les limites de l'HTTP: on envoi une requête qui écoute en boucle pour pusher un résultat attendu lorsqu'une action/event se produit
_Et enfin, le principe novateur des websocket, qui permet de s'affranchir de l'envoi inutile des en-tête HTTP a chaque échange et qui permet de faire du temps réel en communiquant uniquement les données qui nous intéresse.


Maintenant que la distinction est faite, on s'aperçoit qu'on peu coupler de mainte manière ces différents paramètres, nous laissant à nous, humble programmeur amateur ayant des rêves de jeux inassouvis, tout le loisir de créer un jeu de la manière qui nous siéra le mieux, et qui sera la plus judicieuse (espérons-le^^).

Bon courage !


RE: [Sondage et Question] Type (technique) de jeu par navigateur - Sephi-Chan - 17-08-2012

Pour le coup je suis globalement de l'avis d'Argorate (à l'exception de quelques bêtises :p). Je distinguerais seulement ces deux types de jeu : temps réel et tour par tour.

Après, tu as effectivement plusieurs possibilités pour créer le jeu : client desktop, client Web lourd, client Web léger, etc.

Pour le joueur, le mieux est à mon sens un client Web lourd, entièrement bâti en Javascript avec une API HTTP derrière. C'est la solution qui offre les meilleurs performances ressenties, et qui sera également la plus efficace pour le serveur.


Après, tu as différentes façon d'implémenter le jeu côté serveur.

Tu peux créer un serveur de jeu qui va être relativement autonome et vivre qui reçoit des commandes de l'utilisateur en temps réel : c'est notamment le cas des MMORPG et FPS. Certains technologies se prêtent à ce genre d'usage (les langages concurrents comme Erlang ou ceux basés sur la JVM, par exemple).

Cependant, la plupart des langages de scripts Web majeurs (PHP, Python, Ruby, Javascript), du coup la plupart des jeux Web simulent ce monde persistant : à chaque action du client (une requête HTTP le plus souvent), on recrée un bout du monde, on y fait les opérations dont on a besoin puis on l'éteint : comme ça lors de la requête suivant, le monde sera récrée avec son nouvel état.


RE: [Sondage et Question] Type (technique) de jeu par navigateur - Auronake - 17-08-2012

Eh bien écoute ! Je te remercie pour ces clarifications et j'admet volontiers ne pas employer ou définir les choses convenablement.

C'est pourquoi je me lance dans cette partie de la conception du jeu à savoir comment faire techniquement ce que je veux donner aux joueurs Big Grin.

Le monde est vaste et je ne suis pas à jour sur les technologies et tout cela m'embrouille Smile, c'est pourquoi ton poste est très pertinent pour moi.

Ensuite, pour le "contrôler", je me suis mal exprimé dans le sens où l'on ne contrôle pas son personnage en temps réel et du coup, opposition tour par tour/temps réel.

Ah et je n'ai pas dit (me semble-t-il) que tel ou tel type de jeu était mieux ou moins bien (je joue d'ailleurs à civilization V Wink).
Après par rapport à mon jeu en devenir, oui le tour par tour me semble être une redondance car ce n'est là que pour le déplacement (ce qui ne vaut que pour mon game design) mais maintenant que je vois que le temps réel est possible, je vais revoir ma copie Smile.

Et merci, du courage va en falloir !

(17-08-2012, 08:57 AM)Sephi-Chan a écrit : Tu peux créer un serveur de jeu qui va être relativement autonome et vivre qui reçoit des commandes de l'utilisateur en temps réel : c'est notamment le cas des MMORPG et FPS. Certains technologies se prêtent à ce genre d'usage (les langages concurrents comme Erlang ou ceux basés sur la JVM, par exemple).

Est-ce que reddwarf (que j'ai découvert ici) rentre dans ce type de serveur ?

(17-08-2012, 08:57 AM)Sephi-Chan a écrit : Cependant, la plupart des langages de scripts Web majeurs (PHP, Python, Ruby, Javascript), du coup la plupart des jeux Web simulent ce monde persistant : à chaque action du client (une requête HTTP le plus souvent), on recrée un bout du monde, on y fait les opérations dont on a besoin puis on l'éteint : comme ça lors de la requête suivant, le monde sera récrée avec son nouvel état.

Je pense que c'est cette solution vers laquelle on va se tourner même si l'on créera des évènements en dehors des bouts de monde de chaque joueur pour faire vivre le monde.

(17-08-2012, 08:57 AM)Sephi-Chan a écrit : Pour le coup je suis globalement de l'avis d'Argorate (à l'exception de quelques bêtises )

Et du coup, quelles sont les "bêtises" ? Non pas pour créer des polémiques ou autre mais pour savoir Smile.

Merci


RE: [Sondage et Question] Type (technique) de jeu par navigateur - Sephi-Chan - 17-08-2012

Je ne connaissais pas RedDwarf. Le sujet est trop complexe pour que je donne un avis sans une documentation un peu plus approfondie, ce que je ne ferais probablement pas. xD


Pour ce qui est de l'instantiation d'un bout de monde, c'est très imagé, mais globalement c'est ce qui se passe : lorsque le joueur effectue l'action d'attaque, je récupère le joueur, je récupère sa cible, j'altère leur état et je donne une réponse. Avec une approche plus persistante, c'est un peu plus subtile, mais l'expliquer revient à faire une version 2.0 du sketch des Inconnus sur les chasseurs.


Rien d'important : je reste d'accord avec l'idée globale qu'il a exposé. Les petites bêtises portent sur des aspects techniques (genre sur Node, le push et ses technologies (long polling, web socket).

(17-08-2012, 02:50 AM)Argorate a écrit : Ce sont donc deux principes de jeux, ni meilleur, ni moins bon l'un que l'autre, juste différent sur la manière de jouer (Civilization V est un jeu tour par tour c'est pour ça que c'est moins bien qu'un autre jeu du même genre).

Mais après quelques lectures, je suppose qu'il a juste oublié un mot, je pense qu'il voulait dire :

Citation :Civilization V est un jeu tour par tour c'est pas pour ça que c'est moins bien qu'un autre jeu du même genre.



RE: [Sondage et Question] Type (technique) de jeu par navigateur - Argorate - 17-08-2012

oui, désolé pour le mot oublié (je n'arrive toujours pas a taper aussi vite que ce que je pense) ^^

Tant mieux si mon post a pu être utile Wink