Bonjour a toutes (si il y en a.. nooon! pas taper la tete ! ouille !
) et a tous.
Bon voila, mon projet c'est de faire de Java une plateforme de reference pour le developpement de jeux. Je ne vais certe pas vous faire le coup classique du 3D-engine-de-la-mort-qui-va-laisser-les-autres-sur-place. Ce que je vais faire, c'est faire quelque chose de nouveau, de plutot immense, et je vais le faire en Java.
Ok, pour l'instant je n'ai pas encore dis ce que c'est exactement, mais bon ... j'ai mes raisons : J'ai un peu peur de decrire mon projet d'un bloc, car chaque fois que je fais ca, 90% des gens me rient au nez en me traitant de n00b, d'irrealiste, on me dit que mon projet est insane, etc ...
Cette fois-ci je prends des gants et je vais commencer par me presenter, en esperant par la eviter d'etre pris a la legere et d'avoir un mauvais feedback, souvent base sur la premiere impression que les gens ont de mon projet.
J'ai 29 ans, je programme depuis l'age de 10 ans par passion, j'ai voulu devenir programmeur de jeux en voyant zelda (version NES). J'ai donc passe toute ma vie a apprendre a etre programmeur de jeu, a programmer dans pleins de languages (dans l'ordre chronologique : basic, Amos, Pascal, assembleur PC, C, Java, C++, Prolog, Scheme, CamL, l'assembleur de la GBA) sur plein de plateformes (ZX Spectrum, Amstrad, Amiga, PC, GBA, XBox360). J'ai eu un diplome de DEA d'informatique a Grenoble, specialise dans la l'imagerie, la vision, et la robotique (DEA IVR). Je suis parti a Taiwan juste apres, et j'y suis encore - c'etait il y a 4 ans. Depuis, je travaille ici en tant que professionnel du jeu video. La derniere boite ou j'ai travaille est une filiale Taiwanaise de S.O.E. (Sony Online Entertainment). Je suis actuellement "Technical Art director", et en gros dans ma compagnie je suis responsable de tout ce qui est en rapport avec le pipeline des ressources graphiques pendant leur production et pendant leur utilisation dans nos jeux. Je suis un gars conscient de la realite du terrain quand il s'agit de production et de development, et je suis aussi parfaitement au courant des technologies modernes des jeux videos, sous tous leurs aspects (je suis assez multi-disciplinaire). Il y a 4 ans j'ai programme un emulateur GBA (de doux nom "Girlfriend Advance") ... en Java (j'ai ete le premier a tenter le coup et a montrer que c'etait possible). Il y a 2 ans, j'ai ecris un prototype d'une lib de reseau pour les jeux video en Java (JNAG, le projet est mort, j'ai laisse la place a mon concurrent qui a ete moins faineant que moi
). Depuis 3 ans, la nuit, je reve que je programme mon projet, et au matin je note les nouvelles idees. Je suis devoue corps et ame a ma cause.
Voila voila. Puisque l'introduction est faible, hop, j'appuie la -->x et pfffffffuuuuiiii ... la tete se degonfle lentement, et je peux enfin parler de mon prochain projet que je prepare depuis 3 ans.
Le projet GS :
GS veut dire Game Studio.
Etape 1:
GS est tout d'abord un framework qui va servir de base pour le developpement d'outils collaboratifs. Un outil collaboratif est un outil qui permet a plusieurs personnes de travailler sur les memes ressources. GS permettra la sauvegarde de donnees (des purs POJO) vers des bases de donnees, ainsi qu'une maniere unifiee de faire des traitements (que j'appelle "editions") sur des donnees (que j'appelle "ressources") de maniere collaborative.
Etape 2:
Un fois la premiere etape utilisable, GS va graduellement s'augmenter de composants qui permettront le developpement de jeux de maniere graphique et directe, un peu dans l'esprit du projet Alice, du logiciel Virtool, etc ... mais en different (nouveau concepts).
Les composants qui vont graduellement s'ajouter seront :
- Un editeur de courbes.
- Un editeur de niveau pour background de jeux old school 2D.
- Quelques editeurs specifiques a des taches propres au gameplay.
A ce stade, il faudra faire un petit jeu 2D pour valider GS et demontrer ce qu'il peut faire.
Etape 3:
Ensuite, ajouter de nouveaux editeurs un peu plus utiles :
- Un editeur de textures. (genre TheGimp)
- Un modeleur 3D. (genre Maya)
- De (tres) nombreux editeurs specifiques a des taches propres au gameplay et a d'autres systemes utilises dans les jeux videos.
Etape 4:
En parallele avec l'etape 2 et 3, on peut commencer a produire des jeux videos avec beaucoup moins d'effort, beaucoup plus d'efficacite, et sans connaissances approfondie de tous les domaines de la programmation de jeu (qui est quand meme un monde de la programmation bien special et long a assimiler).
Les idees directrices :
GS se veut etre intuitif et graphique, oriente edition temps reel et collaboratif. Le projet sera Open Source (peut-etre sous license LGPL).
Comment vous pouvez contribuer a ce projet :
Pour l'etape numero 1, je suis en train d'implementer une API pour faire un ORM (Object-Relation Mapping), c'est a dire pour sauver et lire les donnees de POJOs (Plain Old Java Objects) vers une (en fait, "des") bases de donnees. Je cherche des programmeurs pour joindre mon effort d'implementation. Mon but premier est d'arriver a quelque de fonctionnel specifiquement pour les besoins de GS (c'est a dire une persistence tres transparente, un peu comme le mecanisme de serialisation de Java).
J'espere pouvoir trouver des personnes motivees et qui peuvent rester en contact avec moi via MSN Messenger ou Skype afin de pouvoir s'organiser plus efficacement.
Partager