Tech. : Le programmeur écologique
Tech. : automatisation et mails
Salon MondeDuJeu 2002
Revue de presse des JpC
Humour : 1001 raisons pour jouer
Ludique : le joueur parfait
Ludique : découverte du JpC
PHP : accès base de données
PHP : structure du site
Ludique : JpC et Temps réel
Jeux de rôles sans règles
Humour : astrologie du JpC
Tech. : Bases de données
MJ : les joueurs multiples
PHP : utilité pour un JpC
PHP : c'est quoi ?
Tech. : l'analyse des ordres
Ludique : débutants et vétérans
Tech. : archi Ultraball 2100
Ludique : les jeux de pronos
Tech. : le site Web d'un JpC
Humour : football et wargame
Présentation de TourDeJeu
par Le Caphar Développeur du jeu Tératogénèse
Métaphore botanique
Tout programmeur en herbe, alors qu'il plante les petites graines de ce qui deviendra un grand succès du jeu en ligne, conçoit un jour des arborescences interminables et des aventures merveilleuses, aux graphismes tapageurs servis par une interface d'une intuitivité inégalable. Et lorsqu'il lance ses premiers essais sur un modeste hébergeur gratuit, ébahi par la splendeur nue de son premier echo "Bonjour."; en Times noir sur fond blanc, il se rend compte - mais vaguement, sans trop vouloir y penser - que c'est assez lent quand même. Alors il fait pousser ses fonctions, arrose sa base de données, et quand il a obtenu une véritable flore, il invite quelques braves passants à venir cueillir quelques fruits. Oui mais voilà... les fruits bourrés d'OGM mesurent trois mètres et pèsent six tonnes. Et les quelques badauds qui s'aventurent dans le jardin ressortent bredouilles et passablement énervés.
Cette petite métaphore botanique, pas très rigoureuse, nous a tout de même conduit au coeur du sujet : un jeu en ligne trop lourd, si beau soit-il, si fascinante soit son intrigue, fera fuir les visiteurs, qui n'ont pas que ça à faire d'attendre le chargement de 1Mo pour déplacer leur monstre d'une case. Avec un peu de chance, vous arriverez à capturer quelques joueurs. Soit, mais les ennuis ne font que commencer. Untel va vous dire que les pages ne se chargent pas assez vite, donc il clique plusieurs fois, rechargeant systématiquement le début de la page d'action, ce qui finit - selon l'ordre dans lequel vous avez placé les évènements - par lui faire perdre tous ses points ou au contraire effectuer des tas d'actions gratuitement.
Un jour, vous réunissez enfin les fonds pour que votre jeu dispose d'un serveur. Rapide, fiable, pas cher ; c'est le rêve. Oui mais voilà : au bout d'un mois, le commercial vous appelle et vous signale que vous "abusez du trafic illimité" (rigolez pas, c'est ainsi que va le commerce) qui vous est octroyé, et que pour gérer vos 40 GO de données échangées par jour vous devrez hypothéquer la maison le mois suivant.
"Fichtre", se dit-on dans ces cas-là. "Je n'étais pas fait pour l'herboristerie virtuelle."
Et là je vous dis : "Quid de ces récriminations ? Mettez-vous au travail ! Un jeu c'est RIEN." Ou presque. En termes de données, la plupart des jeux online pourraient tenir sur une disquette, et les calculs qu'ils effectuent pourraient être faits par un enfant de CE2 (on va dire une classe de CE2 pour les plus complexes). Comment alors parviennent-ils à mettre à genoux un serveur ? Parce qu'ils sont trop expansifs. Ce que je veux inculquer aux programmeurs débutants, c'est à ALLEGER leur jeu, par diverses petites ruses que j'ai apprises au fil des nuits sans sommeil, l'oeil morne rivé sur d'impénétrables lignes de code. Et si je pouvais donner quelques trucs aux vieux routards qui traînent, je n'en serais que plus fier.
Conclusion
Il va de soi que cette présentation n'est pas exhaustive. Ecolo-développeur en herbe, je découvre chaque jour de nouvelles manières de simplifier, d'alléger le jeu et d'économiser les ressources limitées du serveur. Il y a de vastes possibilités dans les fonctions mySQL (fonctions de recherches croisées sur les tableaux, etc...) qui permettent des choses étonnantes dont je n'entrevois l'intérêt qu'après deux ans de pratique quasi quotidienne du PHP. Mais je crois avoir abordé l'élément essentiel qui s'impose dès que l'on veut alléger un jeu : rechercher systématiquement, frénétiquement, les possibilités de compacter son jeu. Je l'ai dit, et je persiste : vos joueurs vous en seront reconnaissants...