Trolldi : comment prendre sept ans pour livrer une bêta d'un jeu vidéo ?
L'art d'allonger les délais en développement logiciel

Le , par Stéphane le calme, Chroniqueur Actualités
Ben Porter, un développeur de jeu vidéo, a fait un billet satirique dans lequel il donne des conseils et astuces pour permettre aux développeurs de prendre leurs temps … sans en donner l’air.

Développez votre propre moteur

C'est probablement la partie la plus importante. Si vous êtes d’un naturel curieux et avez besoin de comprendre comment fonctionne chaque petite partie d'un jeu, cette étape est assez facile. Ouvrez simplement votre éditeur de code, téléchargez une couche de fenêtrage de base comme SFML (Simple and Fast Multimedia Library).

Pour rappel, SFML est une Interface de programmation destinée à construire des jeux vidéo ou des programmes interactifs. Elle est écrite en C++, mais également disponible dans divers langages comme C, D, Python, Ruby, OCaml ou Microsoft .NET. Elle a entre autres pour but de proposer une alternative orientée objet à la SDL.

Elle a également la particularité de fournir un graphisme 2D accéléré en utilisant OpenGL en interne, qui permet à l'utilisateur de s'affranchir de la gestion d'une pseudo-3D. Composée de nombreux modules, elle peut être utilisée en tant que système de fenêtrage minimal pour s'interfacer avec OpenGL, ou en tant que bibliothèque multimédia riche en fonctionnalités pour construire des jeux vidéo ou des programmes interactifs.


Porter propose par la suite de commencer à écrire votre gestionnaire de ressources, système d'événement, système d'animation, système physique (que vous allez finalement abandonner pour le remplacer par Box2D), gestionnaire de scène, code d'interface graphique, framework de sérialisation, chaîne d'outils de construction, système d'entité-composant et gestionnaire de texture, pour n'en nommer que quelques-uns. À ce stade, vous aurez un fonctionnement sans jeu.

Pour prolonger encore plus votre temps de développement, pensez à utiliser un langage qui introduit une mise à niveau de version majeure (comme C ++ 11) à mi-chemin de votre développement. Essayez simplement de résister au refactoring.

Ne vous arrêtez pas à la simple création de votre propre moteur. Vous pouvez également créer vos propres outils, comme un éditeur de sprites personnalisé, car tous les autres éditeurs de sprites ne font pas exactement ce dont vous avez besoin.

Ayez une idée sur le jeu qui n’est pas très claire

Avant le développement, assurez-vous d'avoir une image floue sur le type de jeu que vous faites. Cela va allonger à la fois le temps de développement de votre moteur et votre temps de conception de jeu.

Par exemple, disons que vous voulez faire un jeu avec un monde infini où le joueur peut continuer à marcher dans une direction et ne jamais atteindre le bord du monde. Vous aurez besoin de développer une quantité décente de technologie pour soutenir cela. Quelques années plus tard, vous réalisez (du point de vue du game design) que non, vous n'avez pas réellement besoin d'un monde infini. Abandonnez toutes les structures de données et les algorithmes que vous avez développés. Les 3 mois que vous avez passés à développer un système de fluide qui fonctionne sur une grille infinie ? À la poubelle ! Un simple réseau de cellules fluides fera l’affaire finalement !


Pour atteindre l’objectif de l’élongation dans le temps, vous pouvez même surveiller constamment les jeux similaires qui sont sortis, afin de modifier à chaque fois votre jeu pour qu’il ressemble moins aux autres. Est-ce que tous ces jeux ont un "bac à sable" dans la description ? Développez simplement un anti-bac à sable avec un objectif spécifique, qui va certainement différencier votre jeu sur le marché. Sont-ils tous modifiables ? Abandonnez toutes les idées de modding et concentrez vous plutôt sur la fourniture de contenu plus unique. Ou quelque chose comme ça. Tout ce qui compte, c'est que l'idée du jeu change, s'adapte constamment au marché - au point que vous ne pouvez même pas écrire un seul paragraphe expliquant ce que c'est (TOUTE RESSEMBLANCE AVEC STAR CITIZEN N’EST QUE PURE COÏNCIDENCE).

Lancer une campagne de financement participatif

Inévitablement, vous manquerez d'argent. Vous pourriez lancer le jeu plus tôt, mais c'est le contraire de notre objectif, alors Porter recommande de lancer une campagne de financement participatif.

D'abord, il faut prendre trois mois pour la préparer, il est très important de bien faire les choses. Vous aurez besoin d'une bonne bande annonce mais également de passer beaucoup de temps à commercialiser votre campagne. Les commentaires que vous recevrez seront fantastiques et tout le monde sera super gentil et va vous encourager.


Il est vrai que si votre campagne est couronnées de succès, l’argent récolté peut servir à accélérer le développement et livrer le jeu plus tôt, n’est-ce pas ? FAUX, c’était un piège. Pour prendre 7 ans uniquement pour livrer une bêta, vous devriez dépenser cet argent plutôt … pour le rendre meilleur.

Faire constamment des billets de blog sur votre jeu

Développer un jeu par vous-même peut être un travail solitaire, et vous pouvez donc vous retrouver à créer un blog. C'est une excellente façon de consommer tout ce temps que vous avez perdu. Assurez-vous de faire des billets fréquemment et en profondeur sur votre jeu et de vous retrouver avec l'un des blogs avec les plus forts trafics et les plus regardés. C'est définitivement votre objectif.

Faites tous vos propres tests

Chaque produit a besoin de tests. Chaque fonctionnalité doit être testée. Cela doit être fait par vous, dans toutes les conditions et sur toutes les plateformes. Rappelez-vous : si vous changez une chose, toutes les autres choses doivent être testées à nouveau parce que vous avez peut-être brisé quelque chose.


Attention : Porter rappelle que les Crowdfunders et les amis peuvent vous offrir la possibilité d'obtenir des testeurs supplémentaires. « J'ai fait cette erreur et raccourci mon temps de développement, mais vous ne devriez certainement pas », a-t-il souligné.

Faites toutes les choses secondaires

Comme les années passent, vous serez sans doute très ennuyé de travailler sur le même projet, jour après jour. Pour vous assurer de travailler sur ce même projet pendant de nombreuses années, il est impératif que vous preniez en charge de nombreux projets parallèles.

Avec les jams de jeu sans fin maintenant disponibles, vous pouvez certainement passer quelques jours à travailler sur un jeu parallèle. Pourquoi pas un jeu de parodie appelé No Mario's Sky ? Soyez prudent cependant, car il est probable que vos jeux stupides faits dans les trois jours auront plus de presse que tout ce que vous ferez jamais commercialement.

« Le développement de jeu implique de nombreuses disciplines différentes et vous devriez certainement essayer de les maîtriser tous. Ma façon préférée d'apprendre est de trouver une communauté en ligne et de m'impliquer dans les compétitions et les événements qu'ils organisent. Si cela vous semble trop simple, vous pouvez toujours créer votre propre communauté ».

Source : billet Ben Porter

Et vous ?

Que pensez-vous de ces « préceptes » ? Pouvez-vous donner d'autres recommandations ?
Avez-vous des anecdotes à partager sur un développement, de jeu ou autres, qui s'est inspiré de l'art d’allonger les délais ?

Voir aussi :

Trolldi : les meilleurs employés ne sont pas ceux qui sont les plus agréables, selon un psychologue qui explique sa réflexion
Trolldi : Good Luck With That, enfin une licence pour le code spaghetti ? Les devs peuvent modifier votre code tant qu'ils ne vous mentionnent pas
Trolldi : quelles sont les pires excuses que les entreprises pourraient avancer, pour refuser le passage à l'IPv6 ?
Trolldi : pour ou contre les noms de fonctions drôles dans son code ? Les développeurs du client mail Eudora semblent avoir été un peu farceurs
Trolldi : une blague de Richard Stallman sur l'avortement crée la polémique, 26 ans après avoir été écrite dans la documentation du projet glibc


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de Glutinus Glutinus - Expert éminent sénior https://www.developpez.com
le 20/07/2018 à 12:21
Je participe à pas mal de kickstarter de jeux... de société.
La plupart des jeux ont des prototypes finis, déjà présentés dans des conventions... ils font des versions print n play (à imprimer chez soi, des fois gratuitement) pour avoir des retours, testés, et que les membres influents de la communauté peuvent commenter. Quand le kickstarter sort, tout est presque fini, il reste quasiment plus qu'à illustrer et choisir la forme des pions.

Il est clair qu'il est plus simple de vendre un concept et de s'assurer que des mécaniques sont bonnes, avant de produire des boites, des pions et des cartes.

Pour les jeux video, j'ai kickstarté pour un pote qui n'avait pas de compte, et lui forwarde le peu de mail que je reçois.
Florilège :
- premier mail pour dire... que l'équipe a trouvé ses locaux. Cinq photos des locaux, dont trois du placard à balais.
- puis un autre mail un an après pour dire surprise... la bêta ? Nooooon ! Un jeu mobile qui n'a aucun rapport
- puis un autre mail un an encore après en commençant par "grrrr notre Community Manager nous a dit de communiquer... donc on communique mais on n'a pas vraiment envie. Bon, on a dit que ça sortait en janvier 20XX, donc on va le sortir en décembre 20XX, c'est la même année, non ? Et puis, pour faire une expérience de jeu avec une profonde immersion (roulement de tambour blabla commercial) on a décidé de sérialiser le jeu... d'en faire des saisons ! Donc on le divise en 4". Donc grosso modo, avec un an de retard, y aura juste 25% du jeu disponible....
Avatar de Thorna Thorna - Membre éprouvé https://www.developpez.com
le 20/07/2018 à 14:11
Je ne sais pas si l'article a été inspiré par Star Citizen, mais c'est une assez bonne impression de ce que je ressentais quand je suivais encore ce qui (ne) se passait (pas)
Avatar de gallima gallima - Membre régulier https://www.developpez.com
le 20/07/2018 à 15:20
N'oubliez pas le système d'environnement de dialogue RE-VO-LU-TI-O-NAIRE ! 3 ans de recherches et deux thèses pour finalement utiliser un système de dialogue QCM.
Avatar de Glutinus Glutinus - Expert éminent sénior https://www.developpez.com
le 20/07/2018 à 16:05
Citation Envoyé par gallima Voir le message
N'oubliez pas le système d'environnement de dialogue RE-VO-LU-TI-O-NAIRE ! 3 ans de recherches et deux thèses pour finalement utiliser un système de dialogue QCM.
Mass Effect ?
Avatar de Aiekick Aiekick - Membre chevronné https://www.developpez.com
le 20/07/2018 à 16:08
c'est fou je me vois bien dans tout ca, sans avoir voulu prendre mon temps, j'ai fait 80% de ce qui est dit. résultat mon jeu n'est toujours pas sorti. merci je viens de réaliser
Avatar de benjani13 benjani13 - Membre émérite https://www.developpez.com
le 21/07/2018 à 13:07
Citation Envoyé par Thorna Voir le message
Je ne sais pas si l'article a été inspiré par Star Citizen, mais c'est une assez bonne impression de ce que je ressentais quand je suivais encore ce qui (ne) se passait (pas)
Le cas de Star Citizen est je pense un peu différent. C'est le syndrome des kickstarters qui reçoivent beaucoup plus d'argent que prévu, du coup ils ajoutent des éléments au cahier des charges (décalant la deadline), reçoivent encore plus d'argent car ça rend le projet encore plus intéressant, et rebelote, jusqu à ce que la deadline ne soit plus qu'une notion abstraire.

J'ai l'impression que beaucoup de projet crowdfundés se sabrent de cette manière, ils ne savent pas faire face au trop grand succès de leur projet et se font complètement dépassés. C'est à se demander si les projets kickstarter ne devrait pas être bloqué une fois que le budget demandé est atteint.
Avatar de shadowmoon shadowmoon - Membre émérite https://www.developpez.com
le 24/07/2018 à 16:28
Citation Envoyé par benjani13 Voir le message
Le cas de Star Citizen est je pense un peu différent. C'est le syndrome des kickstarters qui reçoivent beaucoup plus d'argent que prévu, du coup ils ajoutent des éléments au cahier des charges (décalant la deadline), reçoivent encore plus d'argent car ça rend le projet encore plus intéressant, et rebelote, jusqu à ce que la deadline ne soit plus qu'une notion abstraire.

Star Citizen est en version "alpha" depuis 2015, mais les mises à jour et l'ajout de contenu sont réguliers.
Les développeurs communiquent très fréquemment avec les joueurs-testeurs.

De plus, vu que c'est MMORPG, je pense que le développement de ce jeu n'aura jamais véritablement de fin.
La version "beta" est annoncée pour 2019, donc à mon avis , une partie des modules seront regroupés pour publier une version "principale" en 2020 et le reste sera diffusé périodiquement en tant que pack/extension/"DLC".
Le nombre de ces pack/extension/"DLC" augmentera avec celui des contributions.
Contacter le responsable de la rubrique Accueil