Salut, Je viens de vous parler de Boombastic, une réécriture de Wormux que j'ai en tête. J'ai bien réfléchi, et je pense que ça aurait des chances d'être viable comme projet :)
!!! Avertissement !!! Avant toute chose, je tiens à dire que cette réécriture n'engage que moi. Je ne veux pas bloquer / ralentir le développement de Wormux. Par contre, si des gens ont des critiques constructives à apporter, qu'ils m'en fassent part (par la liste de diffusion). !!! Fin de l'avertissement !!! Le nom est choisi pour marquer la réécriture, et éviter les problèmes juridiques avec Team17 ;-) Et puis, j'aime bien la chanson homonyme. L'idée serait de partir de zéro. Ceci laisse la voie ouverte à plein d'innovations, et une écriture mieux pensée. Quelques idées en vrac : - ajout de pièges sur le terrain, comme par exemple un piège à souris géant :) (je pense au jeu Lemmings) - ajout de zones spéciales sur le terrain, comme un fontaine qui redonne de l'énergie aux personnages qui en sont proches (idée reprise de Wacraft 3, jeu excellent au passage) - séparation radicale de la partie logique et de l'affichage. la partie logique ne verra que les fonctions draw() et collisionTest(obj). J'ai carrément pensé à faire plusieurs affichages 2D différents et aussi à un rendu 3D (c'est le projet X-Foot qui m'a fait pensé à ça). - tout est un objet, et tous les objets actifs seront dans une liste globale. Plus besoin de s'embêter à faire plusieurs boucles séparées pour afficher tous les persos, puis le fond, puis les armes, puis ... Une seule boucle fait *une* opération sur TOUS les objets. - utilisation de SDL (héhé). bon, reste à voir si ça couvre tous les besoins de Boombastic. - probable changement du langage de programation. le c++ est lent à compiler, et un peu trop bas niveau à mon goût (je veux dire que ça hérite du C, et qu'on hérite des pointeurs null, et autres attrocités). Je vais voir si le python pourrait couvrir tous mes besoins. - Il faut un langage de script (pas forcément que le jeu soit écrit qu'avec ce langage). Ceci permettrait de rendre le jeu beaucoup plus dynamique, car je trouve que Wormux est plutôt chiant au bout d'un moment (comme les escargots qui finnissent par s'allumer une cloppe au bout d'un moment). Bon, j'ai du jouer trop longtemps tout seul. - écriture d'une IA - pour le moteur physique, je suis emmerdé. mais vu comme j'ai pensé le projet, il peut être modifié facilement. - écriture hyper-méga modulaire, pas comme Wormux où tout est mélangé (passer à Wormux SDL ? impossible ...) Le truc le plus intéressant est de rendre le jeu plus dynamique. Je pense par exemple à une statue qui suit du regard le perso qui s'en approche (super trippant ça). L'histoire de séparer complètement la logique de l'affichage est une excellente idée (normal, ça vient de moi, lol). Par contre, si on prévoit X sorties différentes, il faut que chaque objet sache s'afficher dans de X manières différentes. On peut imaginer aussi des thèmes, comme un thème gore pour les grands enfants (+ 18 ans) avec des décors gloques et du sang (le sang gicle quand un perso est touché => besoin d'un langage de script pour personnaliser chaque thème). J'ai pensé à un monde 3D circulaire, j'ai pas de scanner pour vous montrer mon dessin, mais disons que vous plaquez le jeu Wormux comme texture d'un cylindre. Vous ajouter de l'épaisseur, et vous y êtes. Pour les pièges / interactions : alors là, on peut vraiment imaginer N'IMPORTE QUOI ! J'ai pensé à un réservoir d'eau qui lorsqu'il est percé se déverse sur les joueurs (et du coup l'eau pousse les joueurs). Imaginez la même chose avec du métal en fusion (ouille !). Ou alors, que pour les parties trop fines du terrain, si un "gros" personnages (en poid) passe dessus, le terrain craque :-D Ou bien, comme dans le jeu Balazar, qu'on puisse planter des arbres pour se protéger. Et ... que l'arbre grandisse ! Ceci permet de se fabriquer des abris ;-) Ou encore, Bozo le clown qui se balance quand on le frapppe (cf. Maniac Manson, autre excellent jeu en 2D, super délirant). Et si on le frappe trop fort, il bascule. Il pourrait servir à traverser un trou dans le terrain. Autre idée : dans le thème techno (avec de la musique électronique quoi), le décor DANSE avec la musique sur le même rythme. Dans un thème jungle, si un joueur est statique (genre, le campeur), des racines poussent autour de lui pour finalement le bloquer ! Un mode grotte où ne l'on voit que 10m autour de soit ! Et il faudrait ajouter des animaux / objets / autre qui apparaissent dans le jeu. Comme par exemple un oiseau qui s'envole quand on s'approche trop prêt. Ou une chauve-souris vampire qui nous attaque. Ou une soucoupe volante qui arrive n'importe quand et tue un joueur d'un coup de laser (bam! dans ta gueule). --- Niveau code, j'ai isolé plusieurs gros blocs (reste à retrailler ça, mais c'est un début) : - User input - IA engine - Logic - World & objects - Sound - Visual --- Beaucoup de bonnes idées, reste à les mettre en application. J'ai discuté avec un mec à GameOver. Il m'a dit que la conception (UML / bien définir les choses / ...) c'est bien joli, mais si on vise trop gros, au final on se décourage. Il m'a dit qu'il faut écrire de petis bouts de code *qui marchent* et ensuite les coller ensemble. Je pense qu'il a raison. Si une réécriture me tient à coeur c'est parce que je trouve que Wormux est un gros truc patché à mort que je ne comprend plus vraiment (alors que pourtant j'ai écrit un gros morceau !). Voilà voilà. J'espère que cet email ne va pas faire grincer trop de dents, et qu'il va créer de nouvelles idées ;-) @+ Haypo
