Un WebOS massivement multijoueur
Vous connaissez sûrement le concept des MMOG qui englobe des jeux multijoueurs. C'est un type de jeu qui a beaucoup évolué depuis 1996, puisqu'il tend à se développer de plus en plus avec l'arrivée massive d'Internet dans les foyers. Les MMOG se divisent en plusieurs sous-genres tels que les MMOFPS, les MMORTS, ou encore les MMORPG, ces derniers étant de très loin les plus populaires de nos jours.
En ce qui concerne le terme de WebOS, ou Web Operating System, on peut le définir comme une imitation graphique d'un environnement d'un système d'exploitation. Le plus souvent, il s'agit d'une application qui contient des icônes, des fenêtres redimensionnables et déplaçables. Dans le cas de OnHack, le joueur peut décider d'aller sur Internet, de consulter l'aide ou lancer les différents logiciels qu'il possède grâce au menu Start (voir capture d'écran ci-contre). Si l'utilisateur choisit par exemple « Internet », une nouvelle fenêtre virtuelle s'ouvrira.
OnHack, présentation par l'auteur
OnHack est à la base un concept né en 2003. Je cherchais à l'époque à m'améliorer en JavaScript, et je m'étais mis en tête de créer un OS Virtuel sur une page web. Une fois le WebOS créé, j'ai pensé qu'il pourrait être sympa d'avoir plusieurs personnes disposant du même système pour discuter ou s'échanger des fichiers. Évidemment, il n'a pas fallu longtemps pour que j'en vienne à me dire qu'un jeu de « hack » serait idéal sur ce support.
Cependant, à cette époque, j'étais employé dans une grosse société de service, et j'avais peu de temps à consacrer à mes développements personnels. J'ai donc laissé le script dans un coin de mon disque dur, mais ça ne m'a pas empêché de continuer à poser les bases du concept. Et sept ans plus tard, me revoilà avec un projet, et surtout avec le temps disponible pour le concrétiser.
Aujourd'hui, OnHack est un jeu par navigateur, développé en PHP et JavaScript, mis en relation avec de l'aJaX. Il possède un mode solo avec un scénario principal, mettant le joueur dans la peau d'un hacker devant aider un voleur lors d'un cambriolage. On progresse dans le jeu en résolvant des énigmes, et en suivant les instructions du voleur via des vidéos. Il existe aussi une partie multi-joueurs qui, même si elle n'est pas encore autant développée que je le souhaiterais, permet aux joueurs de s'attaquer entre eux, de s'unir dans des clans, de pirater des comptes en banque, etc.
Le jeu possède son propre site où une communauté s'est installée. Il y a des échanges, des concours, des suggestions, des hors-sujets. Bref tout ce qui fait le commun de personnes rassemblées entre elles.
Interview
En quoi le Site du Zéro vous a-t-il aidé dans la création du jeu ?
À mon grand étonnement, c'est plus la communauté que le site en lui-même qui m'a été d'une grande aide. Évidemment, certains tutos comme celui de nod_ sur les bonnes pratiques en JavaScript m'ont permis d'apprendre deux ou trois ficelles. Mais c'est surtout la motivation et l'implication des membres qui ont ouvert la porte à la mise en production du jeu.
J'ai reçu énormément de soutien et d'aide de la part des Zéros, notamment en ce qui concerne la sécurité. Pour quelqu'un qui crée un jeu de hack, c'est quand même un comble de ne pas être au courant de toutes les failles. Les membres m'ont donc envoyé des messages privés et mails pour me prévenir des dangers, et m'apporter les solutions. Ils ont également été très actifs lors de la bêta, ce qui m'a permis de recenser un grand nombre de bugs. Et encore aujourd'hui, une grande partie des membres actifs sont des Zéros qui prennent le temps de remonter les bugs et de faire des suggestions d'amélioration.
Je peux dire sans rougir que si OnHack est ce qu'il est aujourd'hui, c'est grâce aux Zéros qui s'y sont investis. Et je leur en suis reconnaissant.
Est-ce que l'expérience vous satisfait, si oui en quoi ? Quels sont les points qui vous semblent négatifs ?
C'était la première fois que je créais un jeu en ligne, et je suis vraiment satisfait du projet et de son résultat. L'objectif premier était de concrétiser l'idée, à savoir un jeu de hack basé sur un WebOS. Je voulais ensuite un jeu qui soit accessible au plus grand nombre, et pas juste réservé aux experts en sécurité. J'ai donc volontairement simplifié au maximum l'interface, et j'ai accentué la tension générée par les attaques. Je pense avoir également atteint cet objectif, même s'il me reste des (gros) efforts à fournir sur le manuel.
Avec le recul, je dirais que certains aspects qui me paraissaient des avantages ont également été des inconvénients. Par exemple le fait d'être le seul à travailler sur le projet lui a permis d'avancer très vite, car il n'y avait aucune latence de communication. L'inconvénient, c'est qu'il est difficile de prendre du recul, et de rester objectif sur la qualité et le fun que procure le jeu à l'utilisateur lambda. Mais malgré tout, je m'en suis bien sorti et j'ai énormément appris sur la création d'un jeu, surtout en ce qui concerne l'optimisation.
Combien de temps consacrez-vous à maintenir OnHack ? Quels sont vos espérances futures pour ce projet ?
Je dirais facilement entre 40 à 50 heures par semaine, quand je ne suis pas occupé à autre chose. OnHack est vraiment un projet décisif dans ma carrière : soit je décide de me mettre aux jeux en ligne, soit je reste dans l'informatique de service. J'ai en effet d'autres projets de jeux en attente, et l'objectif final serait de réussir à en vivre. Si OnHack accroche suffisamment les joueurs pour me permettre de faire un pronostic « rentable » de mes jeux, alors je déciderai de franchir le cap et d'en faire mon activité principale. OnHack, c'est un test : « Jusqu'où suis-je capable d'accrocher les gens avec mes idées ? »
Cependant, OnHack n'est pas juste un tournant professionnel. C'est surtout une idée qui trotte dans ma tête depuis des années, et qui se concrétise petit à petit. Je suis d'ailleurs en train de développer le patch 1.1, qui apportera son lot de nouveautés, notamment en terme de multi-joueurs. Deux autres patchs sont prévus courant 2011 pour le faire évoluer. C'est vous dire si ce jeu n'est pas prêt de mourir.
Pourriez-vous nous donner quelques statistiques sur la fréquentation de votre jeu ? Avez-vous fourni un effort particulier pour promouvoir votre projet ?
À l'heure actuelle, OnHack compte plus de 5200 inscrits. Il faut cependant relativiser ces chiffres. Sur les 5200, il y en a au moins 2000 qui se sont créé un compte juste pour jeter un œil, ou qui ont abandonné car le jeu n'était pas assez facile à prendre en main. Il doit y en avoir encore 1000 qui n'ont pas dépassé la première heure de jeu, sans doute parce que ça ne leur plaisait pas.
Au final, il doit y avoir entre 1000 et 2000 joueurs « occasionnels » et une centaine de membres réellement actifs. Mais les statistiques sont biaisées pour l'instant car bon nombre de joueurs sont dans l'attente du prochain patch et ne jouent plus en attendant. L'idéal serait d'en reparler dans un mois après la sortie du patch.
Sinon, il n'y a rien eu de spécial pour la promotion du jeu. J'en ai essentiellement parlé ici, sur le Site du Zéro, et un peu à gauche et à droite sur des forums de développement ou des portails de jeux vidéo. J'avoue moi-même être assez surpris par le nombre d'inscrits. Je m'attendais à la base à une cinquantaine d'inscriptions, tout au plus. Et par je ne sais quel moyen, je me retrouve avec cent fois plus. Ce qui, finalement, me conforte dans le fait que je suis capable d'accrocher avec mes idées. Encore faut-il pouvoir faire rester les joueurs. Mais ça, c'est une autre histoire.
De manière générale, quels sont vos conseils pour permettre à un codeur de mener à bien un projet (seul ou en équipe) ?
Je pense que la plus grosse erreur à ne pas commettre, c'est d'avoir les yeux plus gros que le ventre. Avant de vouloir s'attaquer à un gros projet, il faut avoir conscience des réalités. « Suis-je assez compétent ? », « Ai-je le temps nécessaire ? », « Ai-je suffisamment de motivation et de courage pour aller jusqu'au bout ? ». Voilà des questions qu'il est important de se poser avant de débuter quoi que ce soit.
De plus, je pense que beaucoup trop de développeurs négligent l'aspect réflexion d'un projet. Savoir poser un cahier des charges, faire ses modèles de données et surtout les analyses fonctionnelles et techniques est la meilleure base pour démarrer. Généralement, je passe deux à trois fois plus de temps à mettre sur papier mes réflexions qu'à développer. Et c'est un aspect qui est trop sous-estimé à mon sens. Il n'y a pas plus démotivant de constater qu'on a travaillé pour rien pendant des semaines parce qu'on se rend compte qu'on n'avait pas prévu telle ou telle fonctionnalité.
REF.: Vous pouvez accéder à OnHack à l'adresse www.onhack.com