Journal Pandi Panda Python

Posté par  . Licence CC By‑SA.
Étiquettes :
25
10
août
2014

«Blender pour le jeu video» (FLOSS et donc gratoss)

Blender et le BGE

Comme vous le savez sans doute, Blender possède un module nommé BGE (Blender Game Engine). C'est un moteur de jeu, qui se scripte en Python avec l'API fournie par Blender. Cette API, bien que fluctuant au grée des versions, permet d'accéder à l'intégralité de Blender, et de piloter le rendu sans passer par l'interface. Ou également d'agir sur une scène existante. Voilà qui est intéressant pour un moteur de jeu, et qui au passage résoud l'épineux problème de l'export des modèles dans un format lisible par un moteur externe.

Le BGE se programme à l'aide de Python, tout comme n'importe quel script de Blender.

De l'avis général (je vous laisse chercher les sources dans les forums spécialisés, comme gamedev.net avec son topic récurrent sur le sujet), le BGE est surtout utile pour du prototypage. Il est d'ailleurs tout à fait envisageable pour un graphiste de présenter ses travaux de manière plus vivante grâce au BGE. Ou même de schématiser un mécanisme de jeu à l'aide du moteur interne.

Ce moteur se destine donc principalement aux utilisateurs de Blender. Cependant, certains d'entre-eux, pas avares de leurs connaissances, ont envisagé que des personnes extérieures pourraient y voir un intérêt.

Un bouquin sur le sujet

Des membres du forum Blender Clan se sont penchés sur le problème, et ont sorti un manuel destiné à promouvoir le BGE.
Un sympathique panda va servir de fil conducteur au propos (faut-il y voir un clin d'œil au moteur de jeu Panda3D ?). En fait, on ne le voit pas trop le panda, mais qu'importe.

La discussion sur le Blender Clan.

Le bouquin.

Le livre en lui même est classique dans son développement: introduction, développement, conclusion (je devrais faire les chroniques des pavés estivaux chez Lire, je ferais surement un tabac).

Pour ceux qui n'aiment pas lire (mais ont-ils seulement lu jusque là ?), voici quelque développement sur le plan de l'ouvrage.

  • Un peu de retape sur le BGE, pour motiver les troupes.
  • Les bases de la création d'un jeu: quelques notions de game design, croquis préparatoires, description des mécanismes ludique. Mais attention, tout cela est proposé avec des exercices: direct dans le bain avec un premier jet obtenu depuis Blender. Puis, amélioration progressive de la maquette de départ.
  • Des aspects secondaires sont ensuite abordés, afin d'améliorer l'expérience rétinienne utilisateur : éclairages, textures… l'aspect sonore (Blender propose en effet un véritable logiciel de montage, et gère donc le son) est également abordé. On repart dans la logique avec une partie concernant la gestion de machines à état à l'aide de Blender. Également, la façon dont on peut résoudre avec Blender la recherche d'un chemin (en fait, on le prédéfini géométriquement, si j'ai bien compris. On assigne ensuite des régles simples pour la navigation des objets qui vont suivre les formes prédéfinies).
  • Animation des personnages, et génération d'objets. Tests de collision. Menus. Interactions du joueur.
  • Un peu d'optimisation pour finir: culling, pré-calculs de textures et de lumière.

Alors c'est bien ?

Oui! En plus c'est en français.
L'ouvrage est bien développé, tous les points importants pour la réalisation d'un jeu sont abordés.
Il y a des exemples concrets pour chacun des points abordés, et le BGE reste au centre du livre.
Je suis sorti de la lecteur avec le sentiment d'avoir appris beaucoup de choses sur les possibilités de Blender, et du BGE en particulier.
Certains points mériteraient un développement plus important, mais je pense qu'il faut le prendre comme une présentation complète du BGE. À charge au lecteur d'approfondir selon son intérêt pour le sujet.
Il est à signaler que ce livre à été écrit en 5 jours.
Merci aux auteurs !

  • # Questions naïves

    Posté par  . Évalué à 4.

    -En supposant qu'on y aille pas comme un porc sur les détails, quelle configuration est capable de faire tourner un jeu fait avec BGE?
    -Est-ce que le jeu serait portable sous Android facilement?
    -Si le livre a été écrit en 5 jours, est-ce qu'on peut supposer que le complémentaire est vrai et qu'il est "facile" de développer un jeu en 3D avec? (ou d'autres applis d'ailleurs)

    • [^] # Re: Questions naïves

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

      -Est-ce que le jeu serait portable sous Android facilement?

      Non, la BGE ne tourne pas directement sur Android. Tu peux passer par gamekit qui est un moteur alternatif pour Blender (qui comprend tout ce qui est brique logique) mais le langage de script est lua vs python pour BGE. Donc il faut se retaper un paquet de truc

      Est-ce que c'est facile ?

      Je ne dirai pas que c'est facile, mais c'est certainement plus facile qu'un "processus classique" pour un jeu. Pas mal de choses sont intégrées de base (son, 3D, physiques, animation, …). L'intégration avec la partie modeling est "parfaite" vu que c'est le même outil. Et tu peux développer des trucs sans savoir vraiment développer à l'aide des briques logiques. Après, dès que tu veux faire des choses compliqués, va quand même falloir comprendre un minimum OpenGL, un minimum la gestion de la physique, … et savoir faire du python.

  • # booouuuhooooo le lien fonctionne pas ...

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

    Bonjour,

    Bien le journal mais le lien fonctionne pas ou plus …

    A+
    chris

    • [^] # Re: booouuuhooooo le lien fonctionne pas ...

      Posté par  . Évalué à 4.

      Avez-vous essayé de l'éteindre et de le rallumer ?

      Sérieusement, je viens d'essayer les liens, et tout fonctionne.
      Sèche tes larmes, et refais donc un essai.

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

  • # [:fear]

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

    Cette API, bien que fluctuant au grée des versions, permet d'accéder à l'intégralité de Blender, et de piloter le rendu sans passer par l'interface.

    Un jeu prends facilement plusieurs années à développer, si l'API change régulièrement, ça ne donne pas très envie…

    Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

    • [^] # Re: [:fear]

      Posté par  . Évalué à 4.

      Je ne pense pas qu'il faille voir le BGE comme une fin, mais comme un moyen de réaliser son brouillon de jeu.

      Ça a l'air très pratique pour esquisser un embryon d'univers, et voir si tout colle.

      D'ailleurs, il y a des rumeurs persistentes comme quoi le BGE serait intégré comme un visualiseur amélioré au sein de Blender. Je ne sais pas ce que ça va donner, ni si cela sera vraiment fait (il y avait aussi pendant un moment des rumeurs sur l'abandon pur et simple du BGE). Par contre, dans l'affirmative, cela renforcerait le côté «prototypage» du BGE.

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

  • # Livre sur le BGE

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

    En tant que co-auteur je me permet quelques compléments d'informations :
    Le l- ivre n'a pas été écrit avec 4 membres du Blender Clan, mais par 10 autres personnes aussi
    Il a été organisé par fmfr évidemment mais grâce à la participation financière de l'Organisation internationale de la francophonie qui a bien faciliter les choses
    Le livre est encore en relecture mais il devrait y avoir une annonce officielles dans les jours qui viennent.
    Concernant l'API du bge, je pense que Blender ne sera certainement pas fait pour des jeux qui mettent des années à développer, son moteur ne semble pas tenir la charge. On ne connait pas encore la limite de se point de vue, mais plus de gens l'utiliserons, plus la limite sera repoussée :)
    Concernant Péril en Daiza, le développement du jeu a été confronté à quelques bugs qui ont été corrigés suite au sprint (un développeurs du BGE était là) mais ne seront intégré avant la 2.72. Il faut donc attendre la version prochaine ou télécharge une dailybuild.

    Cordialement

Suivre le flux des commentaires

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