Ok

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Ces derniers assurent le bon fonctionnement de nos services. En savoir plus.

28/03/2009

Voila, c'est fini...

Et oui, toutes les bonnes choses ont une fin, et la GDC est fini. Me voici donc à l'aeroport, avec décollage dans quelques heures ^_^

 

J'aurai plein de choses a raconter, étant donné que le mois de Mars a été particulièrement mouvementé. Dieu merci, back to business as usual dans les quelques jours qui viennent.

 

En tout cas, la GDC a été particulièrement bonne cette année, et San Francisco est vraiment une ville à voir à tout prix !!! ^_^

 

Allez, encore 12 heures de vols à tenir...

22/03/2009

Getting ready for the GDC...

Bon, a peine le temps de souffler sous un soleil estival qu'il faut déjà s'y recoller. Direction San Francisco Lundi donc, et peu de temps pour blogger.

 

En attendant, voici une liste des confs techniques qui m'ont interpellés cette année:

 

https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8543
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8531
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8541
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=9092
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=9393
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=9384
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=9116
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8976
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8645
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=9004
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8528
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8527
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8529
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=9091
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8983
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=9265
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8550
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8549
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8532
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8540
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8766
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=9138
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8533
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8534
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8638
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=9139
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8954
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8548
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8694
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8920
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8874
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8873
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8681
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=9267
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8530
https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=9264

 

Vais je pouvoir en voir ne serait ce que la moitié ? ^_^

18/03/2009

Plus que quelques heures...

... a attendre avant de retrouver Paris et... euh... une greve generale...

 

Lol, ca s'invente pas ca !!! O_o

 

Ah, le plaisir de rentrer chez soi !!! ^_^

10:28 Publié dans Nexus | Lien permanent | Commentaires (3)

16/03/2009

What are you doing...

... to improve your production time ? ^_^

 

Dans le cadre d'une production AAA, l'ennemi, c'est le temps. Le coeur du probleme de la production, c'est de produire plus, plus vite, avec le moins de ressources humaines possible.

 

Quels pipelines, quels outils, quels workflows ou pratiques, quelles approches ou algorithmes vont ferons gagner plusieurs jours-mois/hommes ?

 

C'est vraiment un probleme global, quelque chose qu'il me semble vain d'aborder uniquement d'un point de vue technique ou manageriale. C'est presque une question de culture d'entreprise: comment allons nous produire tels ou tels titres, ou encore, quels titres pouvont nous produire avec nos ressources ou notre experience.

 

Est ce seulement la bonne facon de poser la question ?

 

On pourrait etre surpris que cette question obsede un programmeur relativement bas niveau, mais non seulement la realite de la production ne nous epargnent pas plus que les autres, mais nous sommes souvent insidieusement a la source des problemes de production. De part le choix de nos algos, des datas que nous sollicitons, nous impactons indirectement les outils, le workflow, le temps de compilation ou de construction d'une version.

 

Des idées ?

12/03/2009

Opportunités...

Il a plu comme vache qui pisse aujourd’hui à Shanghai, et ça joue des mauvais tour sur mon état d’esprit. Ca n’est pas tant que la sensation de nouveauté se soit estompé, ou dissous, et je prend toujours autant de plaisir a me promener en soirée.



C’est plutot que le surplus d’information qui surchargais mon esprit est en train de doucement revenir a un niveau plus normal. En journée, étant donné que je ne code pas dans le cadre de ma mission, mon esprit est relativement disponible, et donc forcement plein d’idées.



Evidement, je profite de ma mission pour apprendre pas mal de choses professionnelement et humainement, mais il y a toujours un moment ou ma pensée derive vers des choses plus constructives.



Et ca fait plusieurs jours que je n’ai pas pu écrire une seule ligne de code.
Et ca, c’est frustrant.



Non pas qu’il me faille a tout prix mettre a mal un compilateur pour me sentir bien. C’est plutôt que j’ai pleins de choses en cours qu’il m’as fallu mettre en parenthèse.



Il est de toute façon parfois bon, voir nécessaire de lever la tête du guidon. C’est une opportunité de renouer avec les grandes lignes, retisser des liens que l’on a peut être negligé.



Mais il y a un temps pour tout, certaines choses qui doivent etre faite ou essayé au moment ou elles sont concus parce qu’elles le nécessitent. Il y a une certaine fenêtre d’initiative et trop de temps perdu tue l’energie.



Cette notion de fenetre d’opportunité est par ailleurs très mal géré dans l’industrie. Autant cette notion semble comprise dans un cadre commerciale ou marketing, autant nos modes de productions ne savent pas - ou peu - créer et exploiter ces fenetres d’opportunités.



C’est une notion subtile, que j’exprime surement maladroitement, mais c’est quand même un fait. Nous sommes en règle général très mauvais là-dessus…



Sommes nous condamné a ne reussir a les saisir « qu’au petit bohneur la chance », au grè d’un accident heureux ou sur un malentendu ?

11/03/2009

Je peux pas commenter...

L.O.L. En fait, meme plein de LOL.


Je m'explique. Si je peux bloger sur Anti Patterns, je ne peux pas... voir mon blog.

 

Je veux dire, ici, dans ce pays quoi. Nul part, ni au bureau, ni a l'hotel, ni dans des spots Wifi... Ni Firefox, ni IE, ni Chrome...

 

O_o...

 

Bref, outre le fait que, les gens ici ne peuvent pas me lire, ca veut surtout dire  que je ne peux pas aussi faire de reponses a vos commentaires...

 

O_o...

03:09 Publié dans Nexus | Lien permanent | Commentaires (9)

09/03/2009

Photo et Videos

Pour les photos, c'est par ici: http://picasaweb.google.com/javamus

 

Pour les videos, c'est par la: http://www.youtube.com/user/javamus

 

^_^

 

09:06 Publié dans Shanghai | Lien permanent | Commentaires (0)

07/03/2009

Shanghai tales...

6 heures du mat. Ca fait déjà une heure que je suis réveillé. Bon, ok, j’admet, il me faut plus de temps que je ne l’aurai cru pour me débarasser du jet lag :P



Ca promet pour San Francisco…



Il faut dire aussi que je me trouve dans une situation plutot inédite (pour moi) : en mission dans un autre studio (Ubi Shanghai), sur un projet qui est déjà du passé (pour moi encore une fois), et le tout de l’autre coté de la planète. Les situations comme cela sont excitantes, et j’avoue avoir absorbé en deux jours une masse d’informations collosales et avoir appris beaucoup (je suis une vraie éponge !).



De quoi avoir les nerfs à fleur de peau suffisement pour raccourcir les nuits. Une question d’inaptitude, sans doute ;-)



Si je ne suis pas abilité a m’étendre sur ma mission, (je peux au moins dire que les locaux d’Ubi Shanghai sont plutôt classes) , je peux peut être parler un peu de la chine ^_^



Pour l’instant evidemment, je n’ai qu’éfleuré le sujet. J’admet, la Chine ne faisait pas particulièrement partie de mes projets de voyages. Si j’ai jamais eu envie de visiter Shanghai, c’était plutôt le Shanghai d’Indiana Jones ou mieux, celui de « Lust, Caution ». Le Shanghai un peu fou des années 30, a mi chemin entre univers baroque et art déco.



Evidemment, ce Shanghai là, il y a belle lurette qu’il a disparut (ou plutot qu’il se cache) sous une foret de tour toutes plus hautes les unes que les autres.



Forcément, comme mon dernier voyage en Asie était au Japon, la comparaison est inévitable. Et pour le peu que j’ai vu, il n’y a pas grand-chose de commun entre ces deux nations.



Le Shanghai moderne semble être pris dans une frénésie permanente de construction et de travaux public, de taxis et de bus décidés fendant sans discernement piétons et vélos éléctriques ; gare au distrait. Partout, on vous rappelle l’imminence de la prochaine exposition universelle.



Mon hotel (qui par ailleurs est plutôt pas mal, merci Ubi) se trouve dans le centre, à coté de plusieurs complexes commerciaux s’illuminant la nuit de couleurs néons pastels, une constante apparement dans les pays d’Asie.



Tot le matin, dans le parc qui fait face à l’hotel, on croise une masse de personnes agées s’excerçant pour réchauffer leurs articulations. Un air de chine posé, ancéstrale peut être, qui contraste avec la foule bariolé et jeune que l’on croise entre People Square et le Bund, ou il semble impossible de faire trois pas sans être accosté par un revendeur à la sauvette (qui vend tout, en général en commençant par des montres puis en finissant avec des filles).



Un signe toutefois rappelle qu’on est quand même pas tout à fait dans n’importe quel capitale occidentale. Le metro s’arrête à 11h, ce qui pour un vendredi soir semble incroyablement tot pour sonner l’arret des festivités ^_^



Dès lors, les facades éteignent les néons flashys, et les rues se vident. La vie nocturne ne s’arrête évidemment pas, mais l’ambiance dehors est tout de suite différente.



Bon, je pourrai encore en écrire long, mais la journée commence, et j’ai milles choses à voir. Les photos et les vidéos seront bientôt en ligne ^_^

01:02 Publié dans Shanghai | Lien permanent | Commentaires (3)

01/03/2009

Experience driven games, Exception driven production

Evidemment, je ne suis pas game designer, donc ce qui suis n’est qu’une interprétation personnelle. La grande majorité des jeux sur lesquelles j’ai eu la chance de travailler peuvent se ranger dans la catégories des jeux orientés « expérience », c'est-à-dire centré sur une ou des expériences que l’on souhaite faire partager au joueur.


C’est peut être dut au hasard ou a une quelconque affinité avec ce genre. Toujours est-il que lorsque l’on parle d’expérience, on parle surtout d’émotions : qu’est ce que cela fait de voler dans le ciel, d’essayer de survivre sur un champ de bataille à 1 contre 100, de découvrir un monde différent avec des coutumes et une population qui n’existe pas dans le monde réelle, qu’est ce que ça fait d’être un super héros avec des super pouvoirs et des supers problèmes, qu’est ce que cela fait de débarquer à Liberty City en provenance d’un pays d’Europe de l’est, etc etc…


Les jeux orientés expérience sont donc en principe centré sur le joueur et sa vision de l’espace ludique, ainsi que – en général – un principe narratif fort. Ils diffèrent en cela aux jeux orientés mécaniques que dans ces derniers, la mécanique prime et est ensuite habillée pour « cacher » les cordes du système.


Par exemple, il y a de multiples variations sur le thème de « Tower Defence », allant du simple jeu flash à Pixel Junk Monster. Ces jeux reposent sur une mécanique précise, et la narration (quand il y en a une) est asservie à la mécanique.


Dans les jeux expériences, c’est la mécanique qui est asservi à l’expérience. C’est pourquoi on trouve peut être plus de mécaniques dans un de ces jeux, aucune n’étant particulièrement centrale, mais parfois aucune n’étant particulièrement brillante. Dans GTA 4, la liste des mécaniques est particulièrement impressionnante, puisqu’elle englobe la conduite des véhicule, le déplacement à pied, la capacité de « streamer » toute la ville sans temps de chargement, sans compter touts les mini jeux, les cinématiques…


Evidemment, tous les jeux expériences ne sont pas comme ça. Un FPS repose en principe sur une ou deux mécaniques qui se doivent d’être impérativement bien conçu, sous peine de ne pas être compétitif. Mais la plupart des FPS prétendent aussi offrir une expérience émotionnelle forte, du type grand huit.


A produire, les jeux expériences sont donc particulièrement couteux. Au mieux, ils peuvent être produit comme une série de mécaniques plus ou moins indépendante qui peuvent s’imbriquer les unes dans les autres, à condition d’être vigilant sur l’intégration de toutes ces briques ensemble.


Au pire, ces productions peuvent devenir « exception driven », c'est-à-dire le cas où tout est une exception, et où chaque niveau, chaque élément de gameplay, est unique et doit être produite à un coup prohibitif.


Qu’un jeu nécessite des exceptions pour être produit efficacement, c’est la moindre des choses. Il suffit d’imaginer ce que ça serait que de produire des cinématiques si le scripteur n’avait pas le droit de passer outre les collisions ou de téléporter les entités.


Mais certains jeux poussent le raisonnement trop loin. Ce n’est d’ailleurs pas tant que le jeu est sera forcément moins bons, mais surtout que la production, elle, sera plus chaotique.


Au cours d’une production, Il y a une sorte d’entropie innée qui s’applique naturellement au code, aux assets, et par extension aux features. Pour faire simple, disons que le code qui reste hors des yeux à tendance à être naturellement de plus en plus mauvais, et de plus en plus difficile à maintenir.


Ce principe s’applique aussi bien au code bas niveau qu’aux scripts et aux assets. Une feature qui aura été développé un an plus tôt et non maintenu à peu de chance de continuer à fonctionner. De même, avec le temps et la maitrise grandissante qu’acquièrent les artistes, il y a peu de chance que des assets produites un an auparavant soit aussi belle ou optimale que les dernières produites.


Gardons ce principe à l’esprit. Une production exception driven est souvent géré de façon linéaire, un niveau après l’autre (de façon plus réaliste, les niveaux sont produits dans un pipeline plus ou moins parallèle).


Ce mode de production pose le problème de la maintenance, puisqu’au fur et à mesure que les nouvelles exceptions sont ajoutées au code pour produire le niveau en cours, il faut en permanence s’assurer que les niveaux précédents continuent de fonctionner.


Au-delà d’un certain seuil, la problématique devient donc ingérable, à moins de pouvoir produire touts les niveaux de front, ce qui semble encore plus irréaliste.


Il n’y a donc pas de mal à produire des jeux basé expérience, mais pour réussir, il faut je crois avoir une conscience très clair de ce qui est exceptionnel (le layout de chaque niveau peut être unique par exemple) de ce qui devrait être invariant au cours du jeu (la mécanique de shoot par exemple).


De même, il n’y a pas de raisons de ne pas produire de mécanique unique à un niveau de jeu (un mini jeu par exemple), mais dans ces cas là, il faut traiter l’exception comme tel, et ne pas forcément essayer d’appliquer à la lettre tout les grands principes de la programmation moderne.


Par exemple, si vous avez une machine a état qui gère le shoot, il est peut être tendant que la grandir pour gérer le shoot dans un véhicule. Mais chaque surdéveloppement fragilise le code, complexifie la maintenance, et menace toute la feature du jeu. Ca fait cher payé pour un seul niveau avec un véhicule dans le jeu.

En conclusion, il vaut mieux produire les invariants les plus tôt possible (l’une des raisons d’être de la préproduction peut être), et considérer ensuite toute la production comme étant au mieux une collection d’assemblage unique des ces invarants, au pire comme une série de digression exceptionnelle autour de ces même invariants.

Dans tout les cas, soyez prêt pour l’exception, car au cours d’une production, l’exception est souvent la norme.