• # HappyBoom

    Posté par (site web personnel) . En réponse à la dépêche Wormux a besoin de vous et de vos compétences. Évalué à 5.

    Salut,

    Je suis à l'origine du projet HappyBoom lancé en avril 2005. Le but est d'écrire un nouveau moteur de jeu qui serait utilisable pour Wormux. J'ai TOUT remis à plat, et j'ai essayé de ne plus reproduire les même erreurs :
    - Langage Python plutôt que C++ : je trouve que le temps de compilation (et de débogage) est trop important avec C++. Et Python est tellement sympa
    - Le jeu est découpé physique en trois partie : logique du jeu (server), entrée clavier/souris (input) et affichage (view).
    - Génie logiciel : je sais pas si je vais survivre à la torture de Damien (l'autre développeur), mais on va essayer d'écrire de vrais documents de spécification AVANT de coder :-)
    - Le réseau est la première chose qui a été développée (et non la dernière)
    - SVN plutôt que CVS (on me dit dans mon oreillette que Wormux a aussi fait le bon choix tout récement)

    Il en ressort de nombreux avantages :
    - On peut écrire des clients dans de nombreux langages et avec divers librairies (ex: client en Perl utilisant GTK, client en Python utilisant pygame, etc.). J'aimerai tenter l'expérience d'être capable d'avoir plusieurs "vues" d'une même partie en texte, 2D et 3D simultanément. C'est possible pour d'autres types de jeu (Awalé, en cours de gestation), mais peut-être pas pour Wormux (trop axé sur le rendu 2D).
    - On peut avoir un serveur décentralisé (serveur "dédié"), mais aussi avoir client+serveur sur le même PC
    - On peut imaginer des clients "fantomes" qui ne font que visionner une partie sans interagir (pour voir une finale sur écran géant par ex.)
    - Une intelligence artificielle s'intègre super facilement vu que le client envoie des actions (genre "tirer", "changer d'arme", ...) plutôt que des touches claviers. Et vu qu'en plus on peut utiliser n'importe quel langage, on peut imaginer une IA sur un PC dédié écrit en Prolog ou autre langage plus orienté IA ;-)

    L'écriture d'un client est simplifiée par le fait qu'il peut ne pas gêrer toutes les fonctionnalités (ex: ignorer tout ce qui concerne le chat). On lui envoie également que le strict nécessaire. Un client "IA pure" ne recevra rien concernant le rendu à l'écran par ex. => économie de bande passante.

    Aujourd'hui, HappyBoom, c'est :
    - un jeu "BoomBoom" presque jouable : crée pour tester le moteur, et surtout la partie réseau (ce qui m'a obligé à passer par UDP pour garder une bonne fluidité dans le suivi d'un objet en mouvement constant)
    - un site web MediaWiki
    - un document de spécification version 0.2 toujours au stade de brouillon
    - une marmite d'idée qui bouillone

    Les deux développeurs étaient en vacances, mais ça va beaucoup s'accélérer vu qu'on va se retrouver (je prend un appart au dessus de Damien) et que j'ai enrolé un 3e développeur (à vérifier) ... J'ai pensé à un jeu Awalé, ça serait sympa ça (j'ai une idée d'IA costaux en tête). Et peut-être aussi un jeu de Dames ...

    Site web de HappyBoom (on s'est fait plaisir, on s'est pris un .org chez OVH) :
    http://www.happyboom.org/Accueil(...)

    Pour les développeurs :
    http://developer.berlios.de/projects/happyboom/(...)

    Haypo