Compte-rendu de la réunion du club du jeudi 4 décembre
  2003
  Présentation
  Cette réunion a eu lieu de 20h05 (happy hour ratée, quel malheur)
  à 23h30 environ, à la brasserie "La Tour" à Montparnasse.
  Etaient présents (ordre alphabétique) :
  
  
  
  
  Auteur du compte-rendu : Olivier (wondersye).
  Le compte-rendu de cette réunion est parcellaire, et fondé sur mes
  souvenirs et mes notes, également imparfaits. Pour toute remarque,
  correction, ajout, 
  envoyez un mail ! En écrivant ce CR, quelques idées
  supplémentaires me sont venues que j'ai directement placées
  ici
  Minutes de la réunion
  Coincé entre un mordu de développement et un fondu de scénario, je
  réussis à tirer mon épingle du jeu en leur faisant croire à chacun
  que je partageais leur passion coupable.
  Scénario
  Arnaud pense lui aussi qu'il est temps d'ouvrir le travail
  sur les personnages principaux. Cela consisterait à faire une liste
  (non limitative, juste pour proposer des pistes) d'une dizaine de
  personnages que l'on pourrait développer. Ceux qui voudraient en
  choisiraient quelques uns, posteraient le résultat de leurs
  cogitations sur les forums jusqu'à atteindre un certain degré de
  précision qui permettrait d'en placer les descriptions sur le
  site.
  Le bestiaire
[Consulter notre section monstres (elle est plus à jour)]
  Nous eûmes quelques idées concernant les monstres (plus
  généralement, les PNJ potentiellement hostiles) qui pourraient
  figurer dans notre jeu. Inutile de dire que cette phase de la
  conception est une des plus rigolotes. On pourrait considérer que
  l'important serait moins de les réussir graphiquement que de les
  doter chacun de spécificités comportementales qui leur seraient
  propres. Ainsi, alors que dans la plupart des jeux un monstre est
  d'abord caractérisé par son apparence et son potentiel de combat,
  là on pourrait poser le principe que l'IA de la plupart de nos
  monstres (voire tous) soit particulière à chaque espèce. Deux
  facteurs permettraient de ne pas rendre les développements trop
  importants :
  
    - on disposerait de nos propres primitives, qui seraient déjà de
    relativement haut niveau, afin de les utiliser comme briques
    élémentaires pour écrire les algorithmes comportementaux de chaque
    espèce. Ainsi, des opérations de base disponibles pour décrire les
    IA seraient par exemple "se rendre à telle destination",
    "poursuivre telle cible", "chercher tel objet"
    ou "combatter telle cible", etc. Cela rendrait
    l'écriture de comportements un peu évolués considérablement
    plus simple, sachant de plus que de telles primitives, dans tous
    les cas, nous seront nécessaires
- cette intelligence comportementale des créatures serait
    exprimée dans le langage de script embarqué que l'on aura
    choisi, ce qui facilitera énormément et son écriture, et sa mise au
    point
  
  Il serait souhaitable de créer des légendes autour de chaque
  créature, de manière à renforcer l'aspect jeu de rôle et
  l'attachement que chacune pourrait susciter chez le joueur.
  Des formes de factions pourraient être implémentées, comme dans
  DAOC (Dark Age Of Camelot), où un personnage, du fait de ses
  interactions passées avec les membres d'une espèce, hérite
  d'une sorte de réputation vis-à-vis d'elle, ce qui
  conditionne en retour le comportement des nouveaux individus
  qu'il serait amené à rencontrer : après avoir considéré les
  Changelins mineurs comme des punching-balls, le héros qui tombe sur
  un Changelin pas mineur passe de rudes moments.
  Les PNJ/monstres auxquels nous avons pensé
  
    - les PNJ (classe générique) : à la manière de
    la souris de la bande-dessinée Léonard, le PNJ vaquerait
    frénétiquement à des occupations sans rapport avec l'histoire,
    et sans qu'il ait la moindre utilité. Il formerait une partie
    dynamique du décor, et pourrait être de plusieurs types selon son
    activité (bûcheron, prostituée, certains, comme les gardes, les
    marchands, les voleurs ayant eux déjà plus d'interaction
    potentielle avec le joueur). Tous seraient amenés à se défendre ou
    à fuir en cas d'agression, selon leur estimation de leur
    probabilité de victoire, et avec leur arme caractéristique (ex : le
    sac à (deux) main(s) avec un bonus +3 aux coups assommants en fin
    de soirée car les pièces de l'époque étaient pesantes).
- le supplicateur : le monstre entame très tôt
    un travail de sape psychologique auprès du joueur, dans le but
    qu'il l'épargne, en le suppliant et en faisant appel à ses
    bons sentiments et à sa prudence. Si le joueur épargne le premier
    qu'il croisera, les suivants seront amenés à le lui rappeler et
    à faire valoir cet argument supplémentaire en faveur de leur
    survie.
- l'amorce : ce monstre part en courant
    dresser les autres contre le joueur. A tuer très rapidement avant
    qu'il rameute la moitié des gros calibres du voisinage. Bien
    sûr, cours vite et convainc rapidement.
- la malédiction ambulante : pas forcément fort,
    il mourra probablement si on lui donne l'assaut, mais il ne
    partira pas sans affliger le joueur de tares plus ou moins gênantes
    (ivresse chronique, daltonisme, puanteur soufrée, etc. [faire la
    liste des malédictions, on pourrait s'inspirer des limitations
    d'INS, In Nomine Satanis]).
- le chimiste : son sang acide endommage les
    armes, a une fâcheuse tendance à exploser quand certaines de ses
    fioles se brisent sous les coups ou, pire, sous l'impact de
    dégâts de feu.
- la Gorgone : apprécie particulièrement de
    pétrifier ses ennemis
- le lycanthrope revisité : cette variante, à
    réinventer, du loup-garou transmet au joueur son état atypique (et,
    éventuellement, s'en débarasse par la même occasion, variante
    appelée "la patate chaude"). Le joueur se retrouve obligé
    de cacher sa condition et se voit doté de nouvelles capacités et
    limitations. Cette métamorphose peut induire un changement des
    objectifs qu'il s'assigne (un peu, pour ceux qui
    connaissent, comme les amoureux dans le jeu des loups-garous et des
    villageois).
- le bon père de famille (variante du
    supplicateur) : cette créature, qui ne semble pas directement
    menaçante (son apparence presque engageante est importante), est
    accompagnée de sa progéniture (entre une et quatre répliques de
    lui-même, avec un facteur d'homothétie entre 1/4 et 1/2). Il
    oblige le joueur à faire face au dilemme de tous les épargner ou de
    les supprimer, lui et sa marmaille. Comment se résoudre à éliminer
    toute une petite famille, ou à laisser des orphelins sur le carreau
    ? D'un autre côté, même les pires monstres se reproduisent, et
    comment faire confiance, dans un monde de brutes ?
- le monstre voleur (avec moins de duplicité que
    le PNJ de même occupation) : en clin d'oeil à Dongeon Master,
    il se ruerait sur le joueur en poussant un cri assez
    reconnaissable, le délesterait d'un objet important (par
    exemple, son arme) et repartirait en courant. Bien sûr, quand on le
    cherche, il est presque introuvable.
- l'impénient bavard : ne constitue pas un
    réel danger, à la manière de celui de Baldur's Gate il se
    contente simplement d'agacer le joueur en le sollicitant pour
    le dialogue en permanence, et en toute inutilité. Ses ébauches de
    dialogues peuvent être particulièrement réjouissantes à écrire. Une
    variante, le bavard agressif, s'échine à provoquer le joueur
    (taunting, d'autant plus que le joueur a adopté une
    attitude agressive) par des interjections de type "p'tite
    b*te". Si le joueur se laisse aller à une saine tentative de
    monstricide, il pourra, en fonction de son attitude, souffrir de
    malus d'énervement pouvant aller jusqu'à provoquer
    l'accident bête (maladresse).
- le dauphin : appelé ainsi car tout son jeu
    concourt à faire flipper le joueur. Il le prend en filature,
    restant plus ou moins discrétement en contact visuel permanent avec
    l'avatar, laissé au centre d'une couronne (asservissement
    du monstre entre une distance minimum et une maximum). Doté
    d'une bonne capacité de furtivité et de discrétion, bien que
    gâchée en partie par un petit bruit qu'il module régulièrement,
    pas mauvais en assassinat silencieux, il s'appliquera à fuir
    quand le joueur voudra provoquer la confrontation. Pour mieux
    revenir ensuite.
- le fou (très) dangeureux : à l'image
    d'un monstre d'un jeu d'action dont le nom
    m'échappe qui commence dans un asile, il reste hilare mais
    silencieux dans son coin jusqu'à ce que le joueur, par sa
    présence, le tire des séquences-fiction (à la K. Dick) qu'il se
    passe en boucle et qu'il trouve amusantes. Alors, il se
    précipite sur le joueur d'un rire qui enfle jusqu'à devenir
    tonitruant et malsainement, complètement fou. S'il arrive au
    contact, il explose : il n'aime pas partir seul dans le paradis
    des rigolos. Une mini-variante : le pyromane, qui s'immole par
    le feu avant d'offrir l'accolade fraternelle à
    l'avatar.
- le caméléon des donjons : il se fond dans le
    décor en fin connaisseur des lieux.
- l'esseulé des charniers : sous ce nom
    horrifique se cache un squelette, un des monstres les plus
    attachants que le joueur sera amené à rencontrer (avec
    l'impénitent bavard, pour des raisons différentes). Le
    squelette proposera une petite sous-quête au joueur : venger ses
    copains dont les os ont été bouffés par un chien, en lui ramenant
    le quadrupède espiègle en question. Cela pourrait éventuellement
    donner lieu à une séquence rafraîssante à la Mario sur Nintendo 64,
    où l'avatar doit capturer un lapin sauteur dans un réseau de
    tunnels inondés.
- le prêcheur du marais : à la manière de la
    caricature des témoins de Jéhovah, il attend ses victimes dans les
    endroits passants (pas d'aéroport comme dans Zac Mac Kraken !)
    pour leur expliquer, avec moultes preuves édifiantes, qu'il
    existe un monde meilleur, et qu'il va vous y emmener. Peut-être
    un peu plus à craindre que le bavard impénitent.
- le négociateur-rançonneur : vous le choisissez
    pour une prestation (de type franchissement d'une rivière sur
    son bac) et découvrez que les négociations tarifaires n'étaient
    pas achevées sur la terre ferme, et qu'à mesure qu'elle
    s'éloigne (quoique la berge opposée se rapproche), elles se
    font en des termes de plus en plus défavorables. Seulement voilà,
    le bonhomme est diablement irremplaçable et il semble le
    savoir.
- l'ouvreur : ce n'est pas un boucher
    assassin, juste une monstre clin-d'oeil (Bloodwich) qui trouve
    un salut précaire en fermant la porte derrière laquelle il
    s'est réfugié à chaque fois que le joueur l'ouvre pour le
    trucider. Certaines portes sont de mauvais paris puisque des armes
    les traversent.
- l'hypocondriaque patenté : ce monstre
    sympathique simule la blessure grave ou la mort pour mieux tromper
    la vigilance du joueur.
- l'assaisonneur à la hallebarde (car
    parfois, il en pleut !) : doué de l'infravision, il repère ses
    victimes dans les recoins obscurs des donjons, et, tel le lama
    d'humeur vacillante, arrose le porteur de torche pour avoir
    tout le temps, dans l'obscurité traîtresse ainsi créée, de
    l'assaisonner à coups de hallebarde.
- la pieuvre qui se cherchait des amis : ce
    céphalopode facétieux laisse traîner des tentacules sur la terre
    ferme, autour des trous d'eau qu'il affectionne, dans
    l'espoir qu'un étourdi se fasse prendre, attirer dans
    l'eau, et promptement noyer avant d'avoir pu comprendre ce
    qui lui arrive.
- le Jawah-surprise : cet autre monstre
    clin-d'oeil, cette fois-ci à Dungeon Master, prend une forme
    proche des Jawah de Starwars (de petits êtres engloutis dans une
    robe de bure, dont on ne voit que les yeux). Silencieux et
    solitaire, presque capable de téléportation, il a une sacrée
    tendance à se retrouver dans le dos du joueur. Dans ce cas, il
    commence à incanter entre ses bras tendus à la verticale un éclair
    d'énergie, qu'il convient d'interrompre brutalement
    sous peine de se voir bien sonné, voire plus. Le poursuivre est
    déconcertant car rapidement on en perd la trace. On s'arrête
    pour réfléchir à l'endroit où il a bien pu disparaître, un
    sixième sens nous avertit, on fait volte-face, en général trop tard
    pour éviter le rayon qu'il préparait dans notre dos.
- le dealer de bufs : cet être peu
    recommandable, généralement rencontré dans les zones peu sures,
    offrira grâcieusement au joueur un dose de buf, qui augmentera
    temporairement assez sensiblement certaines caractéristiques de
    l'avatar (ex : classe d'armure, bubulle, rapidité de
    récupération, célérité, etc.). Le joueur s'applique alors à
    bénéficier de ces bonus en exterminant des monstres au-dessus de
    ses moyens. Mais assez rapidement les effets de la dose
    s'estompent et le joueur se retrouve en zone de conflit avec
    des facultés diminuées par rapport aux conditions nominales, ce qui
    rend sa survie intenable dans le guêpier dans lequel il s'est
    fourré. Seule solution : prendre une nouvelle dose, d'autant
    plus que les effets de manque peuvent se faire jour (ex :
    déformation des perspectives, application d'un filtre de flou
    anisotrope, etc.). Et voilà notre joueur devenu accro aux bufs
    durs, subissant éventuellement les effets d'accoutumance (les
    doses successives ont de moins en moins d'effet), transformé en
    adepte de monster-bashing pour se procurer sa dose journalière,
    alors que vraisemblablement ce n'est ni sa vocation première
    (vous vous souvenez ? Il partait en croisade pour la Vraie Foi,
    quelle déchéance) ni son domaine d'excellence. Bien sûr, le
    dealer de bufs a des copains très (trop) costauds. Une possibilité
    de rémission : faire une cure de désintoxication, assez périlleuse
    (on est vulnérable) si déjà on arrive à fuir assez loin sans trop
    de casse. Une autre voie de sortie : une sous-quête conduisant à
    s'attirer les bonnes grâces du dieu scandinave qui va bien
    (lequel ?), qui le délivrera du mal. Un avenir professionnel :
    développer lui-même la compétence dealer de bufs pour recruter sa
    petite armée de sous-fifres.
- la fausse bonne affaire : deux monstres à
    l'apparence très voisine disposent de facultés de nuisance très
    différentes. Quand on en croise un, dur de savoir si on a affaire à
    la version lavette ou à la version king size. En rapport avec les
    factions.
- le Doppelgänger parfait : ce monstre assez
    agressif prend l'apparence et les capacités des créatures de
    son voisinage qu'il est amené à apercevoir, voire de
    l'avatar, ce qui, en cas de combat, donne un pronostic très
    réservé pour le joueur (pile ou face, ce n'est satisfaisant
    pour personne). Comme le monstre ne contrôle pas nécessairement le
    processus, un moyen de résoudre le problème serait de capturer des
    rongeurs (vous voyez ceux auxquels je pense), de les lâcher près du
    Doppel, de les éclairer. Sa métamorphose réflexe en ragondin
    illuminé lui serait alors fatale.
  
  Pour tous ces monstres, il existe une tâche identifiée :
  répertorier tous les graphismes de créatures disponibles en vue de
  l'établissement d'une correspondance entre un profil et un
  graphisme, modulo une adaptation dans certains cas dudit profil.
  Le roi et les Dieux
  L'idée que le roi croit sincèrement aux "vrais"
  dieux (ceux de la mythologie scandinave) mais affiche sa dévotion
  pour ceux de la Sainte Foi (ou Vraie Foi, comment l'a-t-on
  appelée ?), en vue de remporter l'adhésion de la caste des brutes
  sanguinaires chantant "Te Deum" semble intéressante,
  surtout si on fait en sorte que les mythes scandinaves restent
  centraux dans notre jeu et si la Vraie Foi n'est pas trop
  directement assimilable par exemple avec le catholicisme ou une autre
  religion "mainstream", pour éviter de froisser qui que ce
  soit.
  Le ralliement des brutes enreligionnées serait conditionné par la
  réussite de la quête consistant à libérer des glaces (symbolisant les
  mythes nordiques) une fée convertie à la Sainte Foi qui se révèlerait
  passablement dérangée. Notre jeu pourrait alors être interprété comme
  brodant sur le thème du moment de la métamorphose historique des
  mythes païens en les religions aujourd'hui établies, ou bien
  comme explorant l'uchronie résultant de l'éventuel triomphe
  des premiers sur les secondes.
  Technique
  Sébastien nous a montré un livre particulièrement intéressant
  intitulé Programming Linux Games, qui a été l'occasion
  idéale pour ouvrir notre section bibliographie.
  A lire d'urgence !
  Construire notre bibliothèque graphique
  Initialisation
  Le module vidéo générique pourrait avoir, entre autres, comme
  tâche d'initialiser SDL en permettant de confronter les
  caractéristiques graphiques réellement obtenues à celles demandées. A
  voir la liste de discussion SDL, ce n'est pas toujours évident,
  notamment pour savoir si l'accélération est réellement matérielle
  (cas difficile à obtenir).
  Boucle principale
  C'est la portion de code de notre jeu qui sera la plus souvent
  exécutée (d'où l'importance de l'optimiser) et qui sera,
  en ordonnançant la succession des cycles de mise à jour, le chef
  d'orchestre pour toutes les sous-tâches du jeu, au nombre
  desquelles figurent :
  
    - 
      récupération des événements : 
      
        - lecture des périphériques d'entrée (clavier, souris,
        joysticks, etc.)
- réception des événements réseau (dans le cas où il y en a
        !)
- prise en compte des événements générés en interne (ex :
        conditionnés par le temps, genre : à midi les cloches
        sonnent)
 
- simulation du monde : chacune des entités
    dotées d'un état voire d'un comportement (des monstres à la
    couleur du ciel et au joueur) voit son état mis à jour en fonction
    des événements qui l'affectent (i.e. auxquels, d'une
    manière ou d'une autre elle est abonnée), qui sont autant
    d'arguments fournis à son algorithme de comportement (IA) pour
    déterminer son état lors du prochain cycle de jeu
- rendu : le moteur prend le point de vue
    courant pour représenter le monde ainsi mis à jour
Cet ordre est plus ou moins celui suggéré par Programming
  Linux Games, qu'il faudra lire avec attention sur ce sujet
  critique.
  Il y aurait beaucoup de choses à dire sur cette boucle (j'ai
  tout à apprendre sur le sujet, faute d'en avoir écrit une seule),
  mais on pourrait penser que son objectif est de mener à bien
  équitablement toutes les étapes du cycle dans un temps imparti, en
  respectant l'importance de chacune. Cela voudrait dire entre
  autres que le travail de rendu (au hasard) ne devrait jamais prendre
  trop de temps, de peur soit de retarder le prochain cycle (le jeu
  rame visiblement, devient saccadé et n'est plus réactif) soit de
  contraindre les autres à être amputées (ex : les monstres deviennent
  frappés de stupidité dès lors que le joueur se tourne vers une vue
  dégagée). De cet impératif (le bon arbitrage des ressources allouées
  à chaque étape du cycle), on pourrait déduire deux caractéristiques
  intéressantes à observer :
  
    - idéalement, chaque étape serait interruptible à tout moment
    (temps imparti écoulé) ou plutôt en un temps maîtrisé, ce qui
    impliquerait de procéder par raffinements successifs (on commence
    par l'essentiel, on regarde si on a encore un peu de temps, si
    oui on continue par ce qui reste le plus important restant, on
    regarde si on a encore un peu de temps, etc.). La granularité des
    étapes de raffinement est alors cruciale et résulterait d'un
    savant dosage, et concernerait aussi bien l'IA que le rendu,
    pour citer les deux causes d'explosion de délai les plus
    courantes.
- un traitement multi-tâche des étapes du cycle pourrait aider à
    garder un contrôle fin de l'arbitrage du temps alloué, et de
    pallier des appels bloquants (attente d'informations,
    primitives graphiques réalisées par la carte vidéo, etc.)
  
  Tout cela permettrait de donner l'illusion du temps réel et
  une boucle bien architecturée devrait induire des développements plus
  faciles.
  Enfin, un point sur la transparence a été fait par Sébastien, qui
  personnellement m'a appris beaucoup, et que j'ai donc résumé
  dans notre section documentation.
  AOB
  On pourrait éventuellement placer un miroir dans le jeu, de
  manière à ce que le joueur découvre l'apparence de l'avatar.
  Utile pour le test du gros bill (à la Duke Nuke'em) et pour le
  Doppel.
  Penser à un monstre clin d'oeil à Nethack ?
  Il faudra renforcer le nombre de monstres 100% originaux que
  l'on pourrait engendrer.
  Des listes sont à créer : malédictions, limitations, altération de
  la conscience (alcool, drogue, etc.) et ses effets (fenêtre réduite,
  flous, effets de palette, hallucinations, voiles noirs, etc.)
  
  Fin du compte-rendu de cette réunion en petit comité qui fut donc
  relativement dense !
  
  
  N'hésitez pas à nous faire part de votre avis !
  Pour toute remarque, 
  envoyez-nous un mail!
  
  
  
    Top
    
    Dernière mise à jour : 7 Décembre 2003