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
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
Partager