Les Leçons du jeu vidéo (1ère partie)


Voici mon premier article d’une série sur le jeu vidéo.

Je ne vais pas du tout parler de technique !
Je vais essayer de vous faire une description de mes 18 ans de programmation dans le jeu vidéo (1985-2003), en vous décrivant ce qui s’est passé intérieurement et extérieurement.

Si vous êtes intéressé par l’aspect technique des jeux vidéo, je vous recommande ce blog:
http://www.codeofhonor.com/blog/tough-times-on-the-road-to-starcraft
qui décrit bien l’état d’esprit dans le milieu des années 90, mais comme j’ai commencé 10 ans plus tôt, cela ne reflète q’une partie de mon expérience personnelle.

Si vous êtes intéressé par l’organisation de projets de jeux vidéo, je vous recommande les post-mortem de Gamasutra:
http://www.gamasutra.com/features/postmortem/
qui sont riches en expériences vécues.

Avant le jeu vidéo

Aussi loin que je m’en souvienne, j’ai toujours été intéressé par les challenges intellectuels.
J’ai découvert les mots croisés à 8 ans, et pendant longtemps mes seuls loisirs étaient les mots croisés, les échecs, les dames et le dictionnaire.
En 1981, à 16 ans, j’ai découvert les récréations mathématiques avec les articles de Martin Gardner et ceux de Pierre Berloquin.
Un nouveau monde s’est ouvert à moi: les mathématiques.
J’avais enfin trouvé un but dans ma vie: devenir mathématicien !

Mes tous débuts en informatique

Afin de résoudre ces challenges mathématiques, je me suis acheté une calculatrice programmable.
En ce temps là, je n’avais pas du tout d’argent, et les ordinateurs étaient très chers.
Le seul objet qu’on pouvait programmer pour pas cher était une calculatrice TI58C (500 francs).
Le magazine l’Ordinateur de Poche contenait des tas de petites astuces, mais ne permettait pas vraiment de franchir le seuil de compréhension de la programmation.
Mais comme il s’agissait d’un challenge intellectuel, je me suis investi à fond, et j’ai compris tout seul comment faire.

En 1983, après plusieurs années d’économies, je suis passé à la vitesse supérieure: j’ai pu m’acheter un ordinateur Oric 1 (2400 francs !).
J’ai appris le Basic puis l’assembleur 6502 avec la documentation de base, qui tenait en quelques pages.
A ce moment-là, j’ai décidé de devenir informaticien.

Avec des machines tournant à moins d’1 mégahertz, j’étais obligé d’optimiser mes programmes, et ça a été la première grande leçon de ma vie:

programmer, c’est d’abord chercher la meilleure solution à un problème.

Les non-programmeurs pensent que n’importe quelle solution conviendra, mais les programmeurs savent bien que ce n’est pas le cas et ils savent aussi qu’il n’y a pas de solution idéale, il faut toujours chercher le meilleur compromis.

J’ai commencé à écrire mes premiers jeux en assembleur, et ensuite mes propres outils (assembleur/désassembleur) parce que taper de l’hexadécimal, c’est vraiment trop chiant. 30 ans plus tard, je me souviens encore de tous les opcodes !

En 1984, après avoir redoublé ma classe de terminale, j’ai programmé le jeu « Lunar Mission » pour une société appelée Epsilon Software.
J’ai fini le jeu mais il n’est jamais sorti parce que je souffrais de perfectionnisme à l’époque, je voulais écrire le meilleur programme possible. Le jour où nous sommes allés chez le dupliqueur de cassettes, j’ai vu le jeu Cobra Pinball qui me semblait 1000 fois mieux que le mien, ce qui fait que je n’ai pas osé publier le mien: j’avais trop honte.

A l’époque, mon seul centre d’intérêt était l’informatique, ce qui fait que je passais tout mon temps libre sur mon ordinateur à programmer et je délaissais complètement mes études.

Cette année-là, mon père est mort écrasé par un camion, ce qui fait que ma seule raison de réussir mon Bac avait disparu: mon père avait dû arrêter ses études pour s’occuper de ses 6 frères et soeurs, ce qui fait qu’il tenait absolument à ce que je réussisse les miennes.
Alors je me suis encore plus enfoncé dans l’informatique, je ne faisais vraiment plus que ça, et je n’avais plus de contacts humains depuis quelques années déjà (l’école est avant tout un ciment social).

En toute logique, j’ai raté mon Bac pour la deuxième fois, ce qui fait que j’avais fini mes études, et un autre événement important s’est produit: ma mère m’a insulté en me traitant de nul et elle voulait que je trouve rapidement un travail manuel.
Cet événement a renforcé mon obstination à devenir programmeur.
Je me suis dit: je vais lui prouver que je ne suis pas nul, je vais devenir le meilleur programmeur du monde !
Je ne m’aimais vraiment pas à l’époque et personne ne s’intéressait à moi, donc à partir de ce moment-là, j’ai tout sacrifié pour l’informatique.

Pour devenir le meilleur, je passais mon temps à remettre en cause tout ce que je faisais: comment faire toujours mieux ?
Je n’avais personne autour de moi qui s’intéressait à l’informatique, et il n’y avait pas de livre technique.
J’imaginais que les informaticiens qui publiaient des programmes étaient super forts, alors je regardais leur code pour apprendre comment ils faisaient.

J’ai très vite découvert que 99,9% des programmes que je désassemblais était vraiment très mal programmés.
En tout et pour tout, je crois que je n’ai trouvé que 2 programmes dignes d’intérêt.
Ma seconde leçon a été:

Pour s’améliorer, il faut sans cesse se remettre en cause et essayer de faire mieux que les meilleurs.

L’embauche chez Titus

Devenir informaticien, c’était mon rêve, mais comment le devenir ?

Fin 1984, je suis tombé par hasard sur la petite annonce d’une société qui cherchait des programmeurs pour convertir des logiciels éducatifs (pour le « Plan Informatique pour Tous »).
Cette société s’appelait EH Services (E pour Eric Caen et H pour Hervé Caen).
J’ai converti une dizaine d’éducatifs du Thomson TO7 vers l’Exelvision.
Toujours dans l’obsession de prouver que j’étais le meilleur programmeur du monde, j’avais demandé à faire les conversions les plus difficiles.
Comme les frères Caen ont vu que je m’en sortais bien, ils m’ont proposé de convertir le jeu qu’ils produisaient de l’Amstrad CPC vers l’Oric.
J’ai donc travaillé sur « One » sur Oric, et bien que fini, le jeu n’est jamais sorti parce que l’Oric est mort au moment où le jeu était prêt.
J’ai reçu en paiement un des tous premiers Atari 520 ST (7200 francs !), et ils m’ont embauché dans leur nouvelle société « Titus Software ».
J’étais un des tous premiers salariés avec Gil Espèche et Alain Fernandes.

A l’époque, programmer des jeux vidéo était très mal payé (un peu plus que le SMIC) et j’étais très motivé, parce que je travaillais 10 heures par jour, 6 jours sur 7, et je passais des nuits blanches pour finir un jeu, comme tous les autres programmeurs de Titus.
Ces conditions m’ont permis de comprendre en profondeur les motivations intérieures des programmeurs, bien plus que tout ce que j’ai vécu par la suite.

Les leçons chez Titus

Titus était très proche de ce qu’on peut imaginer de l’enfer: des conditions de travail terribles et du harcèlement perpétuel.

Je vais essayer de vous décrire les leçons apprises de cette expérience.

L’important, c’est que le jeu sorte

Un jeu qui ne sort pas ne sert à rien.
Comme je l’ai dit avant, j’étais perfectionniste à l’époque, je voulais écrire des programmes parfaits.
Alors il a fallu que je me fasse violence pour finir.
Et pour la violence, Titus savait s’y prendre: il fallait sortir le jeu à une date donnée, et ils prévenaient royalement une semaine à l’avance quand le jeu devait sortir.
Dans ces conditions, je travaillais toutes les nuits avant la sortie et le jeu sortait tel quel.
J’espérais toujours qu’il n’y ait pas de bug, parce que personne ne testait.

A ce propos, je me souviens d’une anecdote amusante.
J’avais dû finir à l’arraché « Crazy Cars » sur C64 en moins d’un mois (projet sur lequel Eric Caen avait passé plus de 6 mois), et ils m’avaient demandé de filmer le jeu pour un salon américain.
Donc je joue en étant filmé, et juste avant d’atteindre la ligne d’arrivée, je suis percuté par une voiture.
Malheureusement, j’avais programmé un ralentissement progressif pour que la voiture finisse pile sur la ligne d’arrivée.
Ce ralentissement était supérieur à la vitesse de démarrage, ce qui fait que ma voiture s’est retrouvée bloquée à 2 mètres de l’arrivée, alors que j’étais filmé !
Je n’étais pas trop fier de moi à ce moment-là.
Eric a dit: « on s’en fout, c’est bon », et j’imagine que la vidéo a été diffusée telle quelle dans les salons américains.

Finir un jeu m’a été utile pendant de nombreuses années, parce que j’étais celui qui arrivait pour finir les projets.

Il faut 18 mois pour maîtriser une nouvelle technologie

Chez Titus, je n’ai pas arrêté de changer de support informatique.
J’ai fait des jeux en 6502 sur Oric et C64, en 6809 sur Thomson TO7 et MO6, en Z80 sur Amstrad et en 68000/C sur Atari.
Mais maîtriser un ordinateur demande du temps, ce qui fait que mes premiers jeux sur un nouveau support sont plutôt merdiques.
D’après mon expérience, il faut travailler 18 mois sur une machine avant de la maîtriser à 90%.
Le choc le plus difficile pour moi a été de passer des ordinateurs 8 bits programmés en assembleur aux ordinateurs 32 bits programmés en C et assembleur.

Il faut plusieurs années pour se remettre d’un harcèlement au travail

Un des slogans des dirigeants était: « je donne un coup de pied dans une poubelle, 10 graphistes en sortent, je donne un coup de pied dans un réverbère, 10 codeurs en tombent ».
Personnellement, j’en ai pris plein la gueule à Titus, et encore j’étais plutôt respecté, parce que je sortais un jeu par mois.
Les dégâts chez les autres étaient considérables, au niveau de la confiance en soi et du respect des autres.
Certains des harcelés devenaient des harceleurs.
Seuls quelques rares individus arrivaient à rester eux-mêmes.

Il m’a fallu plusieurs années de travail sur moi pour me remettre de mon passage chez Titus.
Leur travail de sape m’a amené au burn-out au bout de 4 ans, mais cela m’a aussi aidé à me reconstruire parce que j’ai dû remettre en cause tout ce que j’étais, alors que précédemment, je ne remettais en cause que ce que je faisais.

La grande leçon à retenir:

En tant qu’individu, je mérite le respect, et les autres aussi méritent le respect.

Et bien que cela semble évident, c’est très difficile de se respecter et de respecter les autres.

Conclusion

Je n’ai abordé que les années 1985-1987, et je n’ai pas encore fini l’épisode Titus.
La suite dans mon prochain article…

Prochains articles


Mes articles sont devenus un peu trop sérieux ces derniers temps, aussi j’ai décidé d’alterner articles sérieux avec articles plus légers.

Voici les sujets que j’aborderai prochainement:

  • les leçons que j’ai apprises dans le jeu vidéo
  • l’intelligence émotionnelle
  • la psychologie des programmeurs
  • la psychologie des managers
  • la psychologie des patrons
  • la psychologie de Scrum
  • la communication non violente
  • le bonheur

Je vais notamment continuer sur le thème de la valeur personnelle mais cette fois-ci dans l’entreprise.

Enfin, comme personne n’a été intéressé par ma « psychologie de Scrum », j’ai décidé dorénavant de présenter mes conférences sous forme de one-man-show humoristiques.
Cela devrait permettre de mieux expliquer la psychologie au travail tout en s’amusant.