• [^] # Re: 64bit

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche The Dark Mod 2.0 sort en version standalone. Évalué à 4.

    Je crois qu'on en avait déjà parlé avec une dépêche sur Unvanquished il y a longtemps

    C'était peut-être cette dépêche : Une histoire de fork à propos de la filiation Tremulous → Unvanquished. (Attention, c'est un journal transformé en dépêche donc la partie « Analyse » est une réflexion personnelle et est plus un questionnement qu'une affirmation qui mériterai tout plein de mises en garde {référence nécessaire} ).

    Vu que toutes les équipes apportent presque toutes les mêmes fonctionnalités supplémentaires sur le moteur, pourquoi diable ne pas remettre le moteur en commun?

    Pourquoi est-ce que j'ai l'impression que chaque équipe qui développe un jeu basé sur un moteur id Tech se fait un devoir de forker le dit moteur plutôt que d'adopter celui de quelqu'un d'autre?

    Il y a tout de même un fait indiscutable, c'est qu'avant d'être libérés ces moteurs sont distribués ainsi. À part dans le cas particulier du mod qui repose sur un projet tiers, un studio de jeu vidéo qui achète une licence id Tech l'intègre à son jeu indépendamment des autres. Tout jeu propriétaire basé sur id Tech est un fork plus ou moins avancé d'id Tech. C'est donc la manière de faire qui prévaut, et ce pendant toutes les années qui précèdent la libération. Le moteur est vendu pour cet usage, et il est acheté pour cet usage. Quand le moteur est libéré, pourquoi cela changerait-il ?

    Ce serait à la fois une question technique, et une question d'ordre psychologique : « c'est comme ça qu'on fait ».

    À noter l'argumentaire du projet UrbanTerror lors de l'annonce du passage de ioQuake3 au SDK propriétaire :

    Urban Terror HD: A new era of Urban Terror

    [...] To be able to do all that, Frozen Sand is going to ship as an official Q3 licensee, forked properly from the 1.32b Quake sources. The GPL stuff we’ve made public releases of (IoUrbanTerror 4.1 and IOBumpy) will still have their sources available, but there won’t be another Q3/GPL’d Engine Urban Terror release. From the next version on out, Urban Terror will be its own standalone game with its own engine and no longer a mod. This means we can do the tech we want instead of having to keep backwards compatibility with vanilla Q3.

    Au delà d'un argument technique (le développement d'un système antitriche propriétaire qui ne peut être intégré à ioQuake3 parce que propriétaire), on voit surtout un argument psychologique. « En forkant le SDK propriétaire, on n'est plus un mod ». Ce qui signifie que pour les développeurs, utiliser le code libre d'ioQuake3 c'est être toujours un mod, un jeu de second rang. Cet argument n'est pas technique.

    Si certains pensent « si tu achètes pas le SDK ton jeu n'est pas un vrai jeu », ça ne serait pas étonnant que d'autres pensent « si tu ne forkes pas id Tech ton jeu n'es pas un vrai jeu ». C'est un peu la question du bon ou du mauvais chasseur.

    Voir encore le reste de l'argumentaire du projet Urban Terror :

    Everybody loves feature creep, right?

    Tout le monde aime les nouveautés, mais cet argument ne justifie ni le propriétaire, ni le fork. Pourtant c'est l'argumentaire qui est employé.

    Alors sans avoir la mauvaise foi de Frozen Sand (ils ont tout à faire le droit de faire du proprio, mais pas en le justifiant « comme ça on ne sera plus un mod et on pourra ajouter des fonctionnalités » car c'est faux), on peut vraiment se demander si ce n'est pas le poids de l'usage.

    Un moteur id Tech, c'est un SDK que tu intègres à ton projet, ce n'est pas une bibliothèque.

    Même dans le cas du mod, le mod est une bibliothèque pour le moteur, ce n'est pas le moteur qui est une bibliothèque pour ton jeu.

    Alors il serait possible d'adapter le moteur de manière à en faire une « libidtech », mais c'est pas vraiment dans l'air du temps. Le moteur Daemon (Unvanquished) était plus ou moins pensé comme ça à l'origine, mais vu qu'il n'est utilisé que par un seul projet, rien ne garanti qu'il le soit.

    Cependant on remarque que l'on pouvait tout à fait faire cela :

    • Lancer UrbanTerror avec le code d'OpenArena :
    openarena +set com_hunkmegs 256 +set fs_basegame 'q3ut4' +set fs_basepath /usr/share/games/urbanterror/

    Le jeu est fonctionnel (mais ne se connecte pas au master server), il faut dire que ioUrbanTerror ioQuake3 quasiment tel quel, comme OpenArena.

    • Lancer UrbanTerror avec le code de Smokin'Guns :
    smokinguns +set com_hunkmegs 256 +set fs_basegame 'q3ut4' +set fs_basepath /usr/share/games/urbanterror/

    Le jeu se lance mais il y a des problèmes graphiques très gênants.

    • Lancer Smokin'Guns avec le code d'OpenArena :
    openarena +set com_hunkmegs 256 +set fs_basegame 'smokinguns' +set fs_basepath /usr/share/games/smokinguns/
    • Lancer Smokin'Guns avec le code d'Urban Terror :
    urbanterror +set com_hunkmegs 256 +set fs_basegame 'smokinguns' +set fs_basepath /usr/share/games/smokinguns/
    • Lancer Quake3 avec le code d'OpenArena ou d'Urbanterror (avec Smokin'Guns il y a de graves problèmes d'affichage) :
    openarena +set com_hunkmegs 256 +set fs_basegame 'baseq3' +set fs_basepath /usr/share/games/quake3/
    urbanterror +set com_hunkmegs 256 +set fs_basegame 'baseq3' +set fs_basepath /usr/share/games/quake3/

    Par contre d'autres combinaisons ne marchent pas forcément, comme lancer OpenArena avec le code d'Urban Terror ou celui de Smokin'Guns.

    # ça ne marche pas
    smokinguns +set com_hunkmegs 256 +set fs_basegame 'baseoa' +set fs_basepath /usr/share/games/openarena/
    urbanterror +set com_hunkmegs 256 +set fs_basegame 'baseoa' +set fs_basepath /usr/share/games/openarena/

    Mais on voit que techniquement, ça pourrait être possible s'il y en avait la volonté.

    (allez hop, je m'en vais nettoyer tous les profils que j'ai pourri :p)

    ce commentaire est sous licence cc by 4 et précédentes