Des nouvelles du projet Apricot

Posté par  . Modéré par Nÿco.
Étiquettes :
0
12
juil.
2008
Jeu
Le projet Apricot (abricot), réalisé par l'institut Blender, a pour but de créer un jeu vidéo libre avec des outils libres, et notamment le modeleur 3D Blender. C'est en quelque sorte le pendant pour les jeux vidéos des projets Peach (pêche) et Orange, qui ont donné les courts-métrages Elephants Dream et Big Buck Bunny.

Ce projet est intéressant sur plusieurs points. Tout d'abord, par la publicité apportée par le projet aux outils et à l'écosystème libre : C'est une démonstration de la possibilité d'obtenir un produit fini de qualité, ainsi que de l'existence d'un modèle économique alternatif se basant sur les licences libres. Ensuite, cela permet d'enrichir les ressources du libre, qu'il s'agisse de textures ou de modèles 3D. Enfin, c'est l'occasion d'ajouter de nombreuses fonctionnalités aux outils utilisés, et notamment à Blender.
Partie prenante du modèle économique, la vente de DVD, contenant le jeu, mais également les sources, graphiques comme logicielles, financera les développements de l'institut Blender, ce qui est une excellente occasion pour soutenir un projet libre. À noter que la précommande de ces DVD est d'ores et déjà disponible.

Le projet, commencé le 1er Février 2008, avait une date de sortie initialement prévue vers la fin Juillet, et bien qu'aucune date précise ne soit annoncée à l'heure actuelle, on peut supposer que le jeu sortira en réalité fin Août, une partie de l'équipe travaillant un mois de plus afin de peaufiner le jeu. Une version de démonstration du jeu, parue le 1er Juillet, permet de se faire une petite idée du jeu et des développements faits dans Blender, très rapides ces derniers temps. À noter que le dépôt Subversion du projet devrait être très prochainement disponible. Le jeu
Le jeu, dont le nom devrait être bientôt dévoilé, est avant tout un jeu de plateforme. Il reste dans l'esprit de Big Buck Bunny : on incarne Frank, l'écureuil volant (et non un manchot) malmené à la fin du film, dans plusieurs niveaux sous formes d'îles, le tout dans une ambiance cartoon.
Le jeu offre un gameplay original, par son mode de déplacement qui se base notamment sur la particularité que possède Frank : il est capable de planer sur de longues distances.
Tout comme dans le film, l'écureuil lance des glands, ramassés sur le sol, pour terrasser ses ennemis, qui semblent pour l'heure principalement composés de moutons ainsi que de piranhas, ces derniers étant à éviter lors des longs sauts.
Au niveau de la durée de vie, le jeu sera probablement assez bref, vu la durée de développement relativement courte et les effectifs réduits. Initialement, le jeu devait tourner sur un moteur de rendu indépendant de Blender et spécialisé dans le temps réel, Crystal Space. Mais, le temps jouant en la défaveur du projet, un seul des niveaux sera pleinement fonctionnel avec celui-ci, les autres restants accessibles via le Blender Game Engine, qui à la base devait servir uniquement au prototypage. Cependant, le jeu ainsi que les outils étant libres, ces niveaux pourront être portés sur Crystal Space avec le temps, et il y aura moyen d'augmenter le nombre de niveaux et la durée de vie.

Certains voudront sûrement essayer la version de démonstration du jeu. Il est nécessaire de prévenir que cela n'a rien à voir avec une version de démonstration d'un jeu commercial. Tout d'abord, cette démo est un fichier .blend qui doit se lire avec une branche spéciale de Blender. De plus, les toutes dernières versions, qui offrent des améliorations de performances substantielles, rendent le saut bogué. Si vous avez toujours envie de tester, je laisse quelques lignes de shell (pas très propres) qui permettent de récupérer le jeu et la démo, et de lancer les deux. Cependant, il ne faudra pas tenir compte des performances car rien n'est optimisé dans cette configuration.
Il va vous falloir subversion, SCons, et les dépendances requises par Blender (À noter qu'il m'a fallu installer le paquet freealut, sans quoi j'avais une erreur à la compilation).
mkdir blender-apricot
cd blender-apricot
svn co https://svn.blender.org/svnroot/bf-blender/branches/apricot/ --revision 15425
cd apricot
echo WITH_BF_GAMEENGINE = \'true\' > user-config.py
scons
wget http://apricot.blender.org/wp-content/uploads/apricot_bge_de(...)
../build/linux2/bin/blender ./apricot_bge_demo_01.blend


Blender
Un grand travail a été réalisé dans Blender par les développeurs du projet, afin de faciliter la tâche des graphistes.
Tout d'abord, l'une des améliorations importantes est la possibilité d'avoir un rendu temps réel dans Blender, via GLSL, la partie d'OpenGL qui s'occupe des shaders. Ceci offre notamment l'affichage des textures ainsi que des ombres dans les fenêtres 3D. De nouvelles techniques de texturing sont donc possibles. La fonctionnalité de rendu temps réel va de pair avec celle qui consiste à exporter vers le moteur de rendu Crystal Space, qui est spécialisé dans ce domaine.
Ces changement sont également disponibles dans le Blender Game Engine qui a été dépoussiéré. On citera les performances, qui ont été nettement revues à la hausse et la logique, qui est désormais simplifiée.
On peut également citer la possibilité de placer un objet par magnétisme, ainsi que celle d'avoir des bibliothèques d'objets, ainsi qu'une navigation plus aisée dans les grandes scènes. De même, la mise en cache des ombres est maintenant disponible.
Une grande partie de ces améliorations devraient être disponibles pour la version 2.47, en plus d'une simplification du système audio, provenant tout droit du Google Summer of Code de 2007.

D'autres développements, indépendants du projet Abricot, sont à remarquer, dont celui qui concerne la possibilité, déjà abordée dans un précédent journal, d'obtenir des rendus volumétriques au niveau du moteur de rendu interne à Blender, ou encore les projets du Google Summer of Code. Dans ces derniers, on trouve notamment deux projets de moteurs de rendu artistique, la création d'une API d'import/export qui devrait simplifier la cohabitation avec les autres formats et moteurs de rendus, ainsi que des possibilités approfondies de modifier les maillages multi-résolution.

À suivre également, la version 2.50, qui devrait consister principalement en une refonte de l'interface utilisateur, ce qui devrait permettre, par exemple, de personnaliser les raccourcis claviers, les barres de menu, ou d'avoir un navigateur de fichiers avec une prévisualisation.

Aller plus loin

  • # Coquille: Apricot et non Abricot

    Posté par  . Évalué à 1.

    Bonjour

    J'aime bien Blender et je me tiens au courant de ce qu'ils font en général, mais il me semble que le projet est APRICOT avec un P et non abricot, d'ailleurs les liens pointent vers apricot.

    Une belle coquille en somme!
    • [^] # Re: Coquille: Apricot et non Abricot

      Posté par  . Évalué à 3.

      Le projet Abricot (« apricot » en anglais) (...)
      \o/
      • [^] # Re: Coquille: Apricot et non Abricot

        Posté par  . Évalué à 4.

        Il a raison, car le nom du projet est bien «Apricot» et non «Abricot» sa traduction française. «Apricot» ayant ici valeur de nom propre, comme l'indique sa majuscule, on doit respecter son orthographe, qui constitue son identité.
        De la même façon qu'il ne vous viendrez pas à l'idée de parler du projet «Fenêtres», il est préférable d'écrire : «Le projet Apricot («Abricot» en français)...»
        • [^] # Re: Coquille: Apricot et non Abricot

          Posté par  . Évalué à 4.

          Je ne suis pas d'accord, on peut utiliser les traductions françaises pour des logiciels : tous les jours j'utilise BureauOuvert.org et PandaRoux (et j'écoute ma zik avec BoiteARythme).

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

        • [^] # Re: Coquille: Apricot et non Abricot

          Posté par  (site web personnel) . Évalué à 2.

          Enfin, il me semble qu'en de nombreuses occasions, ici même, on a identifié le projet Peach sous le nom de Pêche. Le nom Orange étant le même en Français et en Anglais, il n'y a pas pu y avoir de débat.

          De toute façon, le nom du jet sera différent.
    • [^] # Re: Coquille: Apricot et non Abricot

      Posté par  . Évalué à 3.

      Pas une coquille, c'était volontaire. Il m'a semblait que dans les précédentes dépêches les noms des projets étaient traduits.
      Bref, à y regarder de plus prêt, j'suis m'trompé.
  • # Très joli!

    Posté par  . Évalué à 2.

    Je vous invite à regarder les video sur le site du projet... C'est vraiment très joli :)
  • # libs nécéssaires

    Posté par  (site web personnel) . Évalué à 8.

    Voici en vrac une liste de bibliothèques que j'ai dû installer pour compiler avec la méthode donnée dans la dépêche:

    alut.h
    ft2build.h
    jpeglib.h
    png.h
    tiffio.h
    zlib.h

    il faut simplement trouver le nom des paquets qui les contiennent sur votre distro favorite.

    J'ai également dû installer gettext et libxi-dev(pas sûr que le nom soit le même pour toutes les distros)
  • # libs nécéssaires

    Posté par  (site web personnel) . Évalué à -4.

    Voici en vrac une liste de bibliothèques que j'ai dû installer pour compiler avec la méthode donnée dans la dépêche:

    alut.h
    ft2build.h
    jpeglib.h
    png.h
    tiffio.h
    zlib.h

    il faut simplement trouver le nom des paquets qui les contiennent sur votre distro favorite.

    J'ai également dû installer gettext et libxi-dev(pas sûr que le nom soit le même pour toutes les distros)
  • # Définition d'un format d'exportation documenté Blender

    Posté par  . Évalué à 2.

    J'ai lu la présentation du projet, et j'espérais qu'il intégrerait la définition d'un export documenté des objets Blender.
    Ca ne me semble pas très clair, bien que le contraire ne soit pas affirmé non plus.

    Si vous lisez les forums, que ce soit Ogre3D ou Irrlicht (pour les moteurs 3D les plus utilisés par les hobbystes), vous vous rendez compte que le problème numéro un est l'export des objets de Blender vers le moteur 3D.
    Tout le monde est capable d'écrire en Python un exporteur de maillage (sommets+surfaces). Ca se complique un peu quand on intègre les textures, et ça devient difficile quand on ajoute l'animation (exportation du squelette avec ses bones, ses contraintes et ses attracteurs).

    Une bonne chose serait de définir un format adapté aux jeux videos, d'écrire l'exporteur Python pour Blender et de l'intégrer dans les moteurs 3D.

    Pour l'instant, seul Panda3D possède un importeur d'objets Blender de qualité. D'ailleurs Panda3D possède une bibliothèque d'outils de grande qualité (explorateur de scène, profileur, tous deux fabuleux).

    Je suis sûr que je ne suis pas le seul à penser que l'exporteur documenté Blender devrait être la priorité numéro un. D'ailleurs, quelque chose me dit que Crystal Space va bientot s'enrichir d'un nouveau format.
    Tant mieux, le développement sur ce moteur s'était un peu assoupi, et ça stimulera la concurrence :)

    Discussions en français sur la création de jeux videos : IRC freenode / #gamedev-fr

    • [^] # Re: Définition d'un format d'exportation documenté Blender

      Posté par  (site web personnel) . Évalué à 2.

      En l'occurence, je pense qu'ils ont fait un choix différent. Ils utilisent blender2cs (ou blender2crystal, je ne sais plus) qui ajoute une interface à Blender pour exporter des fichiers spécifiques à CrystalSpace. On peut même modifier les entités CEL dans Blender.

      Créer un format intermédiaire me semble inutile, on en a déjà pleins. On a VRML, Cal3D, et Blender supporte bien d'autres formats. A mon avis, si on veut en faire plus, il faut une intégration avec le moteur 3D pour lequel on exporte, et cela ne peux donc pas vraiment être standard ...
      • [^] # Re: Définition d'un format d'exportation documenté Blendercoll

        Posté par  . Évalué à 2.

        Moi je dis que collada a pour seul but d'etre un format d'echange de fichier 3D, non un format final.
        Donc pour moi, utiliser collada entre blender et crystal space serait le mieux, pas besoin de créer un exporteur spécifique.

        Mais bon je dis ca, je ne sais pas ce qu'ils ont utilisé
  • # "il est capable de planer sur de longues distances."

    Posté par  (site web personnel) . Évalué à 2.

    Oui, bon, comme Mario avec sa "cape", et ça date... SNES, vieux souvenirs que les plus jeunes ne connaissent pas...

    Désolé -->[]
  • # Builds de Blender

    Posté par  (site web personnel) . Évalué à 3.

    Des versions précompilées de Blender existent (pas besoin de faire la compilation soi même):

    http://www.graphicall.org/builds/builds/showbuild.php?action(...)

    En plus c'est une ancienne version, je n'ai pas l'impression que le saut soit buggé.
  • # Hey, super !

    Posté par  (site web personnel) . Évalué à 9.

    Cette dépêche est superbe, elle mériterait d'être publiée comme un journal !
  • # Bande-dessinée réalisée avec Blender

    Posté par  . Évalué à 1.

    Bande-dessinée (en anglais) que j'ai découverte sur la galerie du forum de Blender :
    http://ustherobots.com/utr/1.html

    Et pour ceux qui ne connaissent pas, la galerie de Blender Artists qui contient les meilleures images réalisées avec Blender :
    http://blenderartists.org/forum/forumdisplay.php?f=27

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.