Loading
 
 

Création de jeu : quel outil de développement ?

[Attention, cet article commence à dater : Gamesalad a basculé sur un modèle payant par abonnement… 😭 Désormais, pour mes ateliers d’initiation, j’utilise Construct 2 que je recommande pour sa simplicité et ses fonctionnalités.]

Différentes solutions pour différents usages

Les outils professionnels

On peut distinguer principalement deux types d’outils pro :

  • Les kits de développement (SDK) dominés par

Unreal Development Kit (Epic Games), CryENGINE SDK (Crytek) et Unity 3D (Unity Technologies)
Les deux premiers sont plutôt dédiés aux jeux de tir en vue subjective tandis que le troisième, basé sur un moteur en C# et disposant d’un éditeur intuitif offre plus de liberté.

On peut aussi citer Shiva et Torque. A noter qu’il existe des kits de développement plus spécialisés notamment dans la réalisation de jeux pour plateformes mobiles comme MarmaladeCocos2d, ou Corona.

Tous ces kits ne sont pas adaptés à un atelier pour débutants même avancés. Le problème ne vient pas de leur prix (à part Torque, ils sont gratuits pour une utilisation non commerciale) mais bien de leur complexité. Ces kits sont des outils de développement fantastiques par leur puissance mais leur utilisation est soumise à la compréhension d’un langage de programmation.

C’est d’autant plus complexe, que dans notre cas, il s’agit aussi de transmettre un savoir, de donner envie. Les ateliers de création qui ont pour ambition de faire participer le public sont les plus chronophages en temps de préparation car il faut se préparer à différents scénarios, être suffisamment  à l’aise avec le sujet et l’outil…

Rappelons que la programmation est un métier à part entière, qui nécessite des années d’apprentissage pour arriver à quelque chose d’un peu abouti. La quantité d’instructions, même pour un jeu simple, est considérable : plusieurs milliers de lignes de code sont souvent nécessaires.  Le temps passé à coder sera du temps en moins consacré aux graphismes ou à d’autres savoir-faire tout aussi intéressants.

  • la programmation pure et dure.

A moins de maîtriser un langage comme C++, Java ou Python et d’être prêt à faire des gros compromis sur le jeu (fonctions, graphismes…) cette « solution » n’est pas adapté pour les raisons déjà évoquées plus haut. Attention, je ne dis pas qu’un atelier d’initiation à la programmation ne serait pas intéressant à mettre en place.

Le « modding »

De nombreux jeux offrent depuis quelques années la possibilité de « modder » le jeu, à savoir d’y apporter des modifications (création de niveaux, de textures, d’armes…) pour profiter d’une expérience de jeu différente. Ainsi, les développeurs de jeu vidéo autorisent, et fournissent les logiciels nécessaires à la création de mods (Half-Life 2 et son « Garry’s mod », Oblivion, Counter Strike ou Minecraft pour en citer un plus récent). Acteur de cet engouement pour les mods, la plateforme de téléchargement Steam lui consacre un espace workshop.

Ce phénomène s’est amplifié (il permet aux éditeurs d’augmenter la durée de vie d’un jeu à moindre frais, de créer une communauté fidèle…) et s’adresse désormais aussi au simple joueur dans la mesure où le modding, nouvelle forme d’interactivité, devient une composante de l’expérience de jeu (en simplifiant évidemment, au passage, les outils de création) à l’image de Little Big Planet. Ce jeu de plateforme offre des possibilités de personnalisation intéressantes et par là même des opportunités de médiation mobilisant l’imagination des apprentis « level designer » ou « character designer ». Pour autant, je trouverais dommage, pour les raisons déjà évoquées dans le premier article, de restreindre la création (et les opportunités de médiation afférentes) à ce type d’outils forcément spécialisés.

Les outils basés sur des langages visuels

De mon point de vue, et vis à vis des contraintes d’un atelier pour débutants, cette solution est la plus pertinente. Parfois appelé « Game maker » ces logiciels de création de jeu vidéo basé sur des langages visuels sans programmation sont relativement nombreux. Le projet européen Magical en recense une quarantaine… Il n’y en a pas vraiment de mauvais par contre chacun répond à un type de besoin, d’usage. A ce propos, j’écarte volontairement les jeux 3D car leur développement est plus complexe notamment en ce qui concerne les graphismes. Pour une sensibilisation à la création vidéoludique 2D, cinq moteurs me semble pertinent :

GameMaker, Construct 2, Stencyl, Multimedia Fusion et GameSalad

Je n’ai pas retenu Scratch, car, bien que très utilisé, notamment dans le milieu scolaire, ses fonctionnalités limitées l’éloignent trop des standards professionnels. Je ne vais pas me lancer dans un comparatif d’abord parce que je suis loin d’avoir testé en profondeur chacun de ces systèmes et parce que ces derniers s’améliorent continuellement. Les quelques comparatifs de moteur que l’on trouve sur la toile sont à lire avec prudence tant ces domaines évoluent rapidement. Celui de John Bura est intéressant et confirme l’excellence de Construct 2 en particulier pour des jeux web (HTML5) mais ses exigences sont  celles d’un professionnel qui commercialise ses jeux… De même pour ce comparatif, cette fois en français (merci au Cube), qui regrette que GameSalad ne soit compatible qu’avec Mac. Ce logiciel que je surveille depuis plus d’un an, a connu nombre d’améliorations dont la plus frappante est son passage sur Windows.

Tous ces moteurs de jeu proposent, avec des variations,  un environnement de création basé sur une interface visuelle où l’on applique des blocs de comportement (jouer un son, opérer une rotation, accélérer…) aux objets appelés acteurs. Chaque acteur a ainsi un ensemble d’attributs à partir desquels vous pouvez contrôler leurs actions , animations, etc . Les scènes dans lesquelles prendront place les acteurs ont également des attributs pour contrôler, entre autres, le temps et la physique. Les acteurs sont ensuite glissés et déposés par l’utilisateur dans les scènes où mener ses actions prédéterminées.

Verdict

Gamesalad de mon point de vue, et avec les contraintes déjà évoquées, constitue le meilleur compromis entre les plateformes amateurs fermés (peu de liberté) et celles, professionnelles, très ouvertes, mais « tributaires » d’un langage de programmation.

De ce point de vue, Multimedia Fusion, est aussi un bon candidat avec ses extensions, ses possibilités de publication multiplateformes et sa communauté active. Une licence spéciale Education gratuite est aussi disponible.

Le moteur Gamesalad n’a pas besoin de codage, et fonctionne avec un système visuel et intuitif de « Glisser-déposer ». Pour créer des comportements on va donc glisser une «règle» sur un objet. Une «règle» est une instruction conditionnelle qui va préciser ce qui doit être faux ou vrai pour qu’une action se produise (Déplacement ,modification d’un objet, changement de scène, chargement d’un son, etc…). Un exemple : Vous voulez déplacer le personnage lorsque le bouton est enfoncé. Il faut créer une règle qui indique que lorsque le bouton est enfoncé, le personnage se déplace. Pour ce faire, il suffit de glisser sur cette règle l’action «move to» puis de remplir toutes les variables (objet, vitesse, direction, etc.). Toutes les règles peuvent s’imbriquer de manière hiérarchique pour suivre la logique du jeu. Pour reprendre l’exemple précédent, on peut imaginer un attribut booléen (On/Off) « GameOver » qui indique si le jeu est terminé ou non. Il servirait notamment de déclencheur pour libérer ou, au contraire, bloquer le contrôle du personnage. Imbriquées à l’intérieur de la règle conditionnelle « GameOver est vrai », les règles de contrôle du personnage, signifie ainsi que tant que le jeu est GameOver (impliquant d’autres conditions et règles à spécifier), le personnage ne peut plus être déplacé.

Un exemple français

En France, à part quelques actions, peu médiatisées, souvent initiées par des animateurs (EPN, médiathèques…), il existe encore trop peu d’exemples, en dehors de Scratch, d’ateliers proposant la création de jeu à des non-spécialistes. L’une des initiatives les plus abouties, à ma connaissance,  émane du Cube, un centre de création entièrement dédié au numérique créé par la Ville d’Issy-les-Moulineaux. Elle consistait à créer avec GameSalad, cinq serious games, dans le cadre du programme « Connectons Nos Écoles 2010-2011 » avec cinq classes de CM1-CM2 : http://gameplay.lecube.com

Ce projet, bien que limité par le public auquel il s’adressait (CM1, CM2) et se produisant dans un contexte éducatif atteste de l’efficacité de cette démarche. Je m’étonne seulement que cette initiative n’est pas été reconduite et que l’éducation nationale, qui place pourtant le numérique dans ses priorités ne s’en soit pas encore emparée tant l’aspect création vidéoludique me semble présenter des atouts indiscutables. Par nature pluridisciplinaire, l’entreprise consistant à concevoir un jeu, même rudimentaire, mobilise des savoirs scolaires, exige une organisation et une concentration remarquable. De plus l’apparition de versions « Education » (Exemples A, B, C) de ces plateformes de création proposant tarifs et ressources adaptés facilitent leur appréhension par les enseignants/partenaires éducatifs.

Défauts et avantages du système

Pour autant, et malgré son accessibilité, GameSalad, n’est pas forcément adapté aux plus jeunes (moins de dix ans). Il faut garder à l’esprit que dans ce domaine, simplicité de l’outil rime avec pauvreté des interactions, potentiel limité, manque de liberté…Le fait qu’il s’adresse plutôt à un public plus avancé n’est donc pas mauvais signe si votre objectif est d’arriver à un produit fini dont vos apprentis développeurs pourront être fiers. De même, vous aurez moins de difficulté à attirer puis captiver un public sur la promesse de réaliser le jeu de leur rêve (toute proportion gardée !), de les former/sensibiliser à un outil leur permettant de concevoir des gameplay aussi différents qu’une course de voiture, un jeu de tir spatial, un jeu d’aventure… avec la perspective non moins alléchante de pouvoir le publier sur l’AppStore par exemple.

A ce propos, certains petits studios de développement d’applications mobiles utilise gamesalad pour sa simplicité et sa capacité à concrétiser rapidement un jeu. ( http://blackchairgames.comhttp://www.utopiangames.co.uk ). Pour ces mêmes raisons, il est utilisé à des fins de prototypages par des studios pro.

Finalement GameSalad permet de se concentrer sur la logique de programmation (les conditions à rassembler pour aboutir à tel résultat) et non pas sur les procédures ultra codifiées (langage C++ ou autre).  Le raisonnement reste identique. Ainsi, on peut se confronter aux mêmes problèmes et aboutir aux mêmes solutions que ceux rencontrer par les développeurs de PacMan, BomberMan, SpaceInvader…pour citer des jeux 2D cultes.

Les puristes de la programmation voient souvent d’un mauvais oeil, les systèmes basés sur des langages visuels auxquels ils reprochent leur environnement fermé. A ce sujet, les bibliothèques de comportement de GameSalad disposent d’un éditeur d’expression mathématiques permettant de les modifier. Si GameSalad n’a pas la prétention de rivaliser avec des outils pro, il n’en demeure pas moins un outil formidable pour s’initier à la création vidéoludique et créer des jeux aux gameplays accrocheurs. Comme avec des systèmes pro, les bons jeux requièrent des efforts et du talent. Beaucoup de jeux médiocres sont effectivement créés avec GameSalad. Mais l’outil est moins en cause que ceux qui s’en servent…les amateurs auxquels GameSalad est largement dédié.

Angry Birds, TinyWings, CutTheRope… ces jeux ont engendré des millions de téléchargements et sont plus ou moins transposables sur GameSalad. Beaucoup d’apprentis développeurs ont ainsi copié les concepts, les mécanismes et alimenté le phénomène de clonage que l’on observe sur l’AppStore. Phénomène accentué par la vente de templates largement inspirés des jeux les plus « bankables ». Ce parasitage et la pollution qu’elle engendre sur les plateformes de téléchargement ternissent la réputation de cet outil.

Autre limitation, si GameSalad permet le dévelopement d’applications pour de multiples plateformes (iOS, Windows 8, Android, HTML5, et Mac ) la publication pour Android et Windows 8 est assujetti à un abonnement à la version Pro (environ 135 euros par an pour la version Education).
Le principal défaut de GameSalad est le fait que, malgré des mises à jour régulières, il est encore en version « bêta ». A ce titre, il n’est pas exempt de quelques bugs en particulier sur la version Windows et certaines fonctionnalités sont encore en développement.

En ce qui nous concerne, les principaux atouts de GameSalad sont sa :

  • Facilité d’accès
  • Gratuité (la version payante permet de publier sur Android et Windows 8 )
  • Flexibilité (développement sur mac ou pc pour HTML5, IOS…)

Les participants à l’atelier pourront donc poursuivre leur création ou en entreprendre une nouvelle ailleurs qu’à la médiathèque.

D’autres atouts plus techniques concernent :

  • la possibilité de créer/modifier des tableaux de données (table)
  • l’accès à des bibliothèques de fonctions et d’expressions mathématiques pour éditer en profondeur certains comportements
  • la prévisualisation instantanée

Un dernier argument en faveur de GameSalad : sa communauté. A l’heure où j’écris ces lignes près de 60 000 discussions ont été ouvertes suscitant près de 400 000 commentaires sur le forum officiel du site…Si vous avez une question, qui n’a pas déjà été posé sur le forum, un utilisateur se fera certainement un plaisir de vous répondre. Autre facteur qui traduit le dynamisme et l’engouement d’une communauté : l’abondance des tutoriels vidéos présents sur Youtube. Je consacrerai, très prochainement, un billet sur les ressources disponibles en ligne pour se former rapidement à cet outil.
.

5 Commentaires

  1. Pingback : Création de jeu : quel outil de d&eacute...

  2. Pingback : Jeuxenmed | Pearltrees

  3. Pingback : Jeuxenmed | Pearltrees

  4. Pingback : Création de jeu : quel outil de d&eacute...

  5. Pingback : La médiation avec les jeux vidéo | Louise et les canards sauvages

Laisser un commentaire…

Votre email ne sera pas publié.