Ayin a écrit 2 commentaires

  • [^] # Re: Version "science-fiction"?

    Posté par  . En réponse à la dépêche Internet, le 2 octobre 2005 - Wesnoth 1.0. Évalué à 4.

    Que je sache, personne ne l'a jamais fait. C'est un boulot énorme : il faut développer un jeu d'images complet pour les décors, les unités... Il faut quasiment tout refaire. Il faut ensuite passer d'innombrables heures à jouer afin d'ajuster les différentes unités afin qu'elles soient équilibrées.

    Mais bon, que ça ne décourage pas les bonnes volontés. ;-)

    Au passage, l'alternance jour / nuit n'est pas codée en dur dans le jeu. Certains scénarios se passent sous terre (auquel cas c'est en permanence la nuit), et certaines campagnes utilisent même des cycles complètement différents, avec des jours ou des nuits plus longues. Enfin, certaines cases peuvent avoir un « moment-de-la-journée » différent du reste du terrain (par exemples, un créateur de scénario peut ajouter un phare et décider que les unités sur les cases atour de ce phare seront toujours considérées comment étant en journée, comme c'est fait dans un des scénarios de la campagne « l'Essor de Wesnoth ».

    Enfin bref, le jeu est très flexible, et pourrait très bien s'adapter à un autre univers.
  • [^] # Re: Questions techniques

    Posté par  . En réponse à la dépêche Internet, le 2 octobre 2005 - Wesnoth 1.0. Évalué à 7.

    Ah bon, des contributeurs du projet qui lisent cette news ? ;-)

    Répondons donc aux deux-trois questions, dans l'ordre :

    - C'est un peu exagéré de parler de « moteur de scripts » (oui, je sais, c'est pourtant dit comme ça dans l'annonce). Les fichiers de configuration de Wesnoth sont écrits en ce qui a été nommé « WML », ou « Wesnoth Markup Language » (à ne pas confondre avec le Wireless Markup Language pour les pages WAP). Ce format est, comme son nom l'indique, avant tout un langage de markup et non un langage de script. À l'origine, le WML est prévu pour écrire des trucs, en gros, comme ça :

    [scenario]
    [unit]
    name="Robert"
    type="Elven l33tmaster"
    x,y=12,23
    xp=100
    [/unit]
    ...
    [/scenario]

    Ici, le WML est utilisé de manière purement descriptive, afin de représenter des structures de données. Ça ressemble à du XML, mais en moins verbeux, et en plus commode à taper par un humain.

    Avec l'évolution du jeu et des besoins des concepteurs de scénarios, de nombreux raffinements sont apparus : macros, différents types d'événements, « filtres » permettant de spécifier précisément dans quelles conditions les événements ont lieu, variables, etc. Bien que ne remettant pas en cause la nature « markup » des fichiers de configuration, celles-ci permettent de scripter à peu près n'importe quoi. Il semblerait même que ça serait Turing-complet. Ça permet de faire des scénarios très évolués, mais ça reste accessible aux non-programmeurs, vu que, pour les scénarios simples, ça reste du markup tout bête.

    La réponse à la question « pourquoi un langage de script développé exprès » est donc « parce que ce n'est pas, à la base, un langage de scripts, mais juste un langage de balisage. »

    Ceci dit, la question d'intégrer un langage de scripts existant pour les scénarios, comme, disons, Ruby, Python ou Lua, s'est maintes fois posée. L'objection principale à ce développement étant essentiellement : « On a le WML. C'est simple à utiliser, et les créateurs de campagnes savent déjà l'utiliser. À quoi bon introduire un nouveau langage, maintenant ? »

    - Seconde question : « Est-ce que les ressources graphiques et sonores du jeu sont aussi sous GPL ? » - la réponse sera plus courte : oui.

    - Pour ce qui est du post-mortem... Bah, on est pas morts, hein :-) La version 1.0 est une étape importante, mais n'est pas une fin.
    Toutefois, les textes suivants, écrits par David White alias Sirp, le développeur en chef de Wesnoth, illustrent bien l'approche employée pour développer BfW :

    How to Write a Game: The Wesnothian Approach
    http://www.wesnoth.org/forum/viewtopic.php?t=3294(...)

    C++ and games programming: the Wesnothian Approach
    http://www.wesnoth.org/forum/viewtopic.php?t=6509(...)