Le Jeu Vidéo au pays des Bretzels.

Un jeune chef d’entreprise, ami des cigognes, discourt sur le développement de jeux vidéos

Voulez-vous vous identifier ou vous enregistrer ?

déc
28

Man vs Code

Ecrit par Whirly, classé dans Jeux, Programmation. 4 commentaires.

Récemment, une présentation de Tony Albrecht a fait pas mal de bruit dans le landernau de la programmation de jeu. En clair il expliquait que le paradigme de la programmation orientée objet est contre productif avec certaines architectures modernes de processeur. Pour faire court, la programmation orientée objet introduit une dispersion des données qui déplait fortement au cache de votre processeur. Or la vitesse de la mémoire est ce qui a grimpé le plus lentement sur ces dix dernières années d’évolution de l’informatique.

La démonstration est sans appel lorsque l’on voit les phases graduelles d’optimisation du code et les effets obtenus. Quand on divise par 5 le temps d’exécution d’un morceau de code, on est loin du négligeable. Cette démonstration prouve une fois de plus que malgrès l’évolution du matériel et des outils, les performances dépendent fortement du programmeur car c’est lui qui doit faire les choix intelligents, des choix qui peuvent intervenir très tôt dans une production.

Une conversation s’en est ensuivie sur le blog de Daz lors de laquelle un sujet est arrivé sur la table, pourquoi ne pas utiliser des langages fonctionnels dans le développement de jeu à l’instar des expériences de certains (Naughty Dog avec Goal vient à l’esprit). Au delà de la discussion sur la pertinence et les gains que l’on pourrait avoir à utiliser du code fonctionnelle la question du recrutement s’est bien évidemment posée.

En effet dans le monde du jeu vidéo nous devons embaucher des gens capables d’appréhender les problématiques auxquelles nous devons faire face et ce avec des salaires du milieux qui sont loin de la finance. Mais arrive alors la problématique du choix technologique. On serait tenté de croire qu’il s’agit juste d’une question technique alors que de fait il s’agit aussi d’un problème de personne. Comme l’avait constaté les gens qui ont bossé avec Goal, avoir la meilleure technologie du monde si vous êtes la seule personne à la maitriser on risque pas de vous filer un coup de main.

Le choix technologique doit donc s’accompagner d’une réflexion sur votre capacité à monter en charge sur cette techno et cela inclus de savoir si cette technologie est en usage, ce qui signifie la disponibilité de gens formés sur le marché du travail. Alors oui mettons en oeuvre des technologies innovantes, mais gardons à l’esprit de ne pas être le seul habitant de la forêt.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

4 commentaires

1  rxra

outre le fait d’avoir du mal à recruter des gens qui connaissent les langages fonctionnels (perso moi j’en ai fait à la fac mais j’avais vraiment l’impression que ça servait à pas grand chose à part faire des trucs bizarre alors j’ai pas trop suivit) il y a le problème de recruter des gens qui connaissent/s’intéressent au bas niveau, hardware, optimisation. la grande majorité des programmeurs non plus à ce soucier de ce genre de choses. j’ai entendu dire une fois un truc du genre « moins je suis au niveau applicatif alors les bits et les octets je connais pas ».

pour revenir à l’optimisation il y a quand même pas mal de programmeur qui reste sur un « PC » et qui au donc moins ce genre de problématique et se repose principalement sur le compilo.

enfin c’est mon impression …

mais il est vrai que pour faire de la DS, iPhone, PS3, … il faut avoir une autre approche.

Ecrit le 28 décembre 2009 à 10:48

2  Whirly

Pour avoir fait pas mal d’entretiens d’embauche / stage j’avoue que j’aimerais bien à la question « pourquoi dans ce cas de figure là vous utilisez une liste chainée plutôt qu’un tableau dynamique » une autre réponse que « parce que j’ai l’habitude d’utiliser la liste ».

On va dire que les mecs bas niveau on a tendance à en embaucher. Et bon en principe quand on code en C/C++ les problématiques de gestion de ram / temps CPU on les a rapidement. Et je pense que ce genre de compétences est plus facilement trouvable que du dev fonctionnel.

C’est vrai qu’il y a un fossé entre le PC et les « autres plateformes » (bon ok l’iPhone c’est assez proche), ça donne lieu à pas mal de vannes sur les programmeurs PC de la part des développeurs consoles. Mais au final en principe les devs PC vont utiliser leur surcroit de confort pour faire des trucs plus funky.

Ecrit le 28 décembre 2009 à 11:33

3  Jeremy

« des salaires du milieux qui sont loin de la finance » rho c’est petit mais vrai :)

Ecrit le 30 décembre 2009 à 1:00

4  Whirly

Et c’est une spéciale dédicace :)

Ecrit le 30 décembre 2009 à 1:45

Laisser un commentaire