JeuWeb - Crée ton jeu par navigateur

Version complète : [En cours] Civilife
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Pages : 1 2 3
Evolution : Dernière MAJ : 18/11
[Image: pourc.php?pc=8]
Plus d'informations : http://civilife.fr.nf/demo/index.php


Salut à tous. Depuis maintenant quelques semaines je développe MMORPG exclusivement en php et je dois dire qu'il commence à être plutôt lourd (j'ai peur pour la bande passante 34)

- Synopsis -


La planète Emenia est une planète d'un système solaire éloigné. Elle possède le même environnement que la Terre, à quelques exceptions près. Le rapport terre emmergée/immergiée penche largement pour les terres immergées puisqu'il n'existe qu'un seul continent, une île volcanique, partagée entre deux entités politiques. D'un coté les Alebrans (capitale Alebrane), des humanoïdes avec une technologie très avancée. De l'autre, un ensemble d'Etats. On y retrouve toutes formes d'Etats, des royaumes de mages aux technocraties, le tout dirigé par un puissant empereur dont le palais se situe dans la capitale de l'union, Tingis. Au milieu de tout cela, neutres, les Lycanthropes, sortes de loups humanisés qui tentent de survivre dans la tradition et leurs valeurs ancestrales.

L'Histoire de ce monde reste toutefois inconnue en grande partie à ses habitants. En effet, sans trop qu'on sache pourquoi, les faits remontant à plusieurs siècles sont de plus en plus confus dans les récits, jusqu'à en devenir incompréhensibles ou totalement incohérents. Tout ce qu'on sait en revanche, c'est que les deux entités politiques éprouvent une haine réciproque qui trouve sa source dans les méandres de cette Histoire obscure. Cette haine se traduit régulièrement par des guerres et des batailles sanglantes qui déciment peu à peu la population.

- Principe -


Le joueur pourra choisir de s'inscrire selon l'une des races présentes sur Emenia et devra en outre mentionner dans quelle zone de départ il voudra débuter ses aventures. Il devra donc s'assurer que son style de jeu soit conforme aux valeurs fondamendales et au mode de vie de chaque peuple. Il pourra ensuite mener sa propre vie, et choisir sa destinée, notament grâce aux carrières (guerrier, magie, politique, recherche, exploration...) Il pourra en outre faire évoluer le monde, en tentant par exemple de découvrir de nouvelles races hypothétiques, des nouvelles richesses ou bien des éléments pouvant améliorer la compréhension du monde et de son histoire. Qui sait... quelqu'un parviendra peut-être à recoler les morceaux de l'histoire de ces terres...

Plus d'infos : http://civilife.fr.nf/demo/index.php

Souhaitez moi bonne chance 34
Bonjour,

Et tous les peuples se partagent cet unique continent ? Si oui, on peut considérer que les Lycans se défendent pas mal. 10

Peux-tu nous donner quelques détails sur le gameplay de chaque race, puisque je suppose qu'il doit être différent tant les races le sont.

Si l'on choisit d'être un habitant des Etats (un petit nom pour cette fédération ?), choisit-on d'être mage, ingénieur, etc. ? Si oui, est-ce la seule faction à proposer un genre de classes ?


Sephi-Chan
Salut. Merci de ton intérêt 2

Et tous les peuples se partagent cet unique continent ?

>> Oui 34

Si oui, on peut considérer que les Lycans se défendent pas mal.

>> Ils sont plus ou moins neutres dans le conflit en fait 34

Peux-tu nous donner quelques détails sur le gameplay de chaque race, puisque je suppose qu'il doit être différent tant les races le sont.

>> Je n'y ait pas vraiment réflechi en profondeur en fait. Mais chaque race aura certaines classes spécifiques (assassin pour les Lycanthropes par exemple), et des techniques spéciales.

Si l'on choisit d'être un habitant des Etats (un petit nom pour cette fédération ?), choisit-on d'être mage, ingénieur, etc. ? Si oui, est-ce la seule faction à proposer un genre de classes ?

>> Je n'ai pas de nom 34 Oui on choisir l'Etat, la race et la classe, sauf limitations dans certains Etats. Il est clair que chaque faction aura quelques classes uniques, mais pas trop non plus 16
Civilife a écrit :Mais chaque race aura certaines classes spécifiques (assassin pour les Lycanthropes par exemple), et des techniques spéciales.
On a vu mieux comme neutralité. 15

Si tu utilises des classes communes à plusieurs de tes factions, pourquoi ne pas les personnaliser à l'aide de capacité raciales ? Des classes trop génériques risqueraient de faire ressembler ton jeu à… tous les autres du genre. 6


Sephi-Chan
On a vu mieux comme neutralité.
>> C'est peut être une neutralité imposée par eux justement 34

Si tu utilises des classes communes à plusieurs de tes factions, pourquoi ne pas les personnaliser à l'aide de capacité raciales ? Des classes trop génériques risqueraient de faire ressembler ton jeu à… tous les autres du genre.

>> C'est ce que je comptais faire justement. Mais je dois encore y reflechir, le codage est loin d'être terminé et le pire reste à venir : son optimisation, parce que sinon je vais vite griller mon quota de bande passante :(
La complexité du système influera sur l'utilisation du processeur et de la mémoire, pas sur la bande passante. 16

Ce serait dommage de sacrifier ton gameplay sur l'autel de la performance ! Surtout que ce genre de concepts n'affectent pas (ou peu) les performance de l'application.


Sephi-Chan
Ahhhhh ça m'intéresse ça !!!

Je suis un nOOb en hébergement

Je t'explique. Pour les combat par exemple, il faut interroger la base de donnée sur la foultitude de statistiques des joueurs. C'est très lourd en code. Et donc tu es en train de me dire que ça ne coutera pas de bande passante ?

Mais alors qu'est ce qui coute de la bande passante alors ?
Le quota de bande passante gère les transferts qu'il y a entre le serveur et le joueur. Et uniquement cela.

Ainsi donc, ce qui utilise de la bande passante est tout ce que le client "télécharge", donc au final : une page HTML et des images, dans la plupart des cas. Chaque image, chaque fichier (CSS ou encore Javascript) qui est envoyée au visiteur est comptabilisé sur le quota.

L'interrogation de ta BDD est faite (le plus souvent) en PHP. Or PHP est un processus serveur. C'est le processeur du serveur qui prend en charge toute l'interprétation du PHP, pour en générer au final via des echo; ou quelque chose du même genre, une page HTML qui sera envoyée à l'utilisateur.

Donc ce qui influe le plus sur ta bande passante est : le poids de ton fichier HTML généré (si on a la mégarde de faire un design en tableau, le fichier devient très vite très lourd, en plus d'être illisible), le poids du fichier javascript (à partir de là il doit être téléchargé une fois, si mes souvenirs sont bons il est gardé en cache ensuite), le poids et le nombre de tes images (plus tu as d'images, plus l'utilisateur doit télécharger. De même pour leur poids), puis également le poids de ton fichier CSS. Voilà "grosso modo" ce qui utilise de la bande passante.

Attention, au final tu pourrais te dire que ça ne fait pas grand-chose, enfin moins que tu pensais, mais tout ça va très vite, dès qu'on commence à avoir un peu de monde 34

Amicalement,
ça me rassure quand même, je vais pouvoir coder beaucoup plus sereinement 2
Pour compenser cela, tu peux également compter sur tes joueurs et le cache de leurs navigateur. Un navigateur qui se rend sur un site va chercher à enregistrer les ressources (images, fichiers CSS, fichiers Javascript, etc.) sur ton disque. Lors d'un chargement ultérieur de la page, ton navigateur n'ira chercher que ce qu'il n'a pas (ou qu'il n'a pas à jour).
Le cache profite à tout le monde : tu dépenses moins de bande passante et l'utilisateur charge plus rapidement ses pages. 2

Tu peux également améliorer le temps de chargement de tes pages en plaçant cette petite ligne au tout début de tes fichiers (ou d'un fichier appelant, si tu en utilises un). À la manière d'un session_start(), aucune sortie ne doit être envoyée avant l'appel à cette fonction.
Code PHP :
<?php ob_start("ob_gzhandler"); ?>

Cela permettra de compresser tes pages à la volée, et réduire leur poids (et donc la consommation de bande passante pour ces pages) d'environ 70% (selon Yahoo - Best Practices for Speeding Up Your Web Site).

Si Anthor passe par là, peut-être parlera-t-il de sa classe de gestion des compression qui semble assez géniale. 16


Sephi-Chan
Pages : 1 2 3
URLs de référence