jeudi 12 juin 2008

Utopia à Ludovia

Bonjour à tous,

Cela fait un peu de temps que je suis au courant de cette bonne nouvelle mais j'attendais que mon article soit validé pour vous l'annoncer : Utopia a été retenu pour le colloque scientifique Ludovia!
Je vais ainsi pouvoir présenté les différents concepts liés à l'ergonomie des logiciels de conception de jeux vidéo que j'ai développé et échanger avec des personnes compétentes dans le domaine.

Qu'est ce que Ludovia?


Ludovia est une université d'été axée sur les activités multimédia ludo-éducatives et pédagogiques (voir site), elle est située à Ax-les-Thermes dans l'Ariège, tout près d'Andorre-la-vielle. Chaque année, un colloque scientifique est organisé et rassemble universitaires et professionnels autour des questions liées à l'éducation et aux nouvelles technologies.
Cette année, le thème est "Do it yourself 2.0", les conférences s'axeront donc sur les solutions proposant à l'utilisateur d'être créateur de contenu et à la "révolution 2.0" qui rendit le web collaboratif (ex : Wikipédia). Utopia étant un logiciel dont le but est de permettre à n'importe qui de créer un jeu vidéo, il avait par conséquent sa place dans ce colloque ;).

Voici un liens vers l'article que j'ai écrit et que je présenterai le 28 Août (le colloque se déroule du 27 au 29 Août).

A bientôt à Ludovia (n'est-ce pas Thierry ;) ) ou ici,
Andréas

jeudi 17 avril 2008

Un peu d'histoire

Je voudrais faire un petit billet pour décrire l'histoire du projet Utopia.
J'ai eu l'idée de faire un projet d'éditeur de jeux vidéo mi-2006 alors que j'étais en Licence Pro Imagerie Numérique à l'IUT de Sophia-Antipolis.
J'utilisais depuis peu la librairie Ogre3D (site) et bien que conscient de sa puissance, j'avais beaucoup de mal à l'exploiter. Je me suis dis que si je n'arrivais pas à l'utiliser bien qu'étant étudiant en programmation, beaucoup de "néophites" n'y arriveraient pas.
En parallèle, un des intervenant dans notre licence nous présentait un nouvel outil très prometteur pour créer des applications 3D interactives : Shiva.
J'ai été impressionné par la simplicité d'utilisation du logiciel ainsi que par son ergonomie.
Malheureusement, celui-ci n'était (et n'est toujours pas :p) OpenSource, alors dans ma tête ça a fait quelquechose comme ça : Ogre3D + interface ergonomique = super logiciel :D.
Bon j'avais l'idée en tête, mais de là à la réaliser, c'est une autre histoire...

Après, un stage de 3 mois pour une entreprise de jeux vidéo indépendante (dkgames), je me suis mis à ce que je pensais être la phase de pré-production, voir production du projet. A l'époque (et oui 2 ans c'est loin!!), Krym, la personne avec qui j'ai monté le pôle Ogre3D du site Futurn.net, était de la partie, on avait décidé d'appeler le projet "Dreams Builder". On a monté un wiki qui peu encore être consulté à cette adresse : http://dreams.builder.free.fr/.
Au départ, l'idée était de faire ça en C++ avec le moteur OpenGameEngine qui est un moteur de jeu utilisant Ogre3D pour l'affichage. Mais bon, on s'est vite rendu compte que l'on ne maîtrisait pas assez le langage et les différentes librairies et puis je n'arrivais pas à trouver une solution technique qui permettait de mettre en oeuvre les idées en terme de structure du logiciel que j'avais. La phase de "production" a donc été arrêtée avant même d'avoir commencé !!
Krym a part la suite quitté le projet par manque de temps. Un autre membre de Futurn, Taftouf, a tenté de me rejoindre dans l'aventure, mais là encore il n'y a pas eu beaucoup de concret.

Ce n'est pas pour autant que je me suis démotivé! En effet, alors que j'effectuais un changement de cap au niveau de ma formation (informatique => sciences cognitives), je me suis plutôt concentré sur l'aspect ergonomique du logiciel et j'ai rédigé un mémoire portant sur "l'évolution ergonomiqe des logiciels de conception" (liens pour télécharger le pdf) où un projet fictif nommé "Utopia" était présenté comme un logiciel utilisant les différents concepts présentés tout au long du mémoire.
Parallèlement à ça, j'ai encore tenté de relancer le projet en commençant cette fois-ci par développer un site internet communautaire d'échange de ressources (présenté dans le billet précédent) qui serait réalisé en collaboration avec Futurn. Après avoir fait un peu de com', Rhani, un étudiant en école d'ingénieur, à décider de rejoindre le projet en tant que développeur PHP. Très motivé au début, il a réalisé ce site de présentation : http://utopiaproject.free.fr/ et a participé à l'élaboration des différents documents de conception que vous pouvez trouver sur le site. Là encore, le projet a été ralenti par manque de temps et je n'ai malheureusement plus aucune nouvelle de Rhani, il n'a pas répondu à mes derniers mails, j'éspère juste qu'il va bien.

Quand en Octobre 2007, je reviens à l'informatique pour rentrer en Master 2 de programmation de jeux vidéo à Gamagora, je suis plus que jamais motivé pour apprendre le maximum de choses qui m'aideront à réaliser mon projet. En décembre, je découvre la librairie Python-Ogre via ce message et ça vire très rapidement au grand amour :D. Je découvre par la même occasion la puissance de Python ainsi que la librairie wxPython qui est 10X plus simple à maîtriser que son homologue C++.
Pour la première fois, je sens que j'ai en main les outils adéquats, ainsi que les connaissances nécessaires, pour réaliser mon projet !
De plus, une nouvelle idée au niveau de l'ergonomie du logiciel me "vient", ce qui évite d'avoir recours à ce que je nomme le "méta logiciel" dans mon mémoire, tout en donnant la possibilité à l'utilisateur de personnaliser très facilement son environnement de travail.

L'idée de pouvoir "vivre" du projet Utopia me démange et je commence à penser à monter une entreprise après ma formation, mais pas question de faire du logiciel proprio. Alors, je participe à différent concours : concours d'aide à la création d'entreprise en technologies innovantes OSEO et le concours du Jeune Entrepreneur de l'année organisé par Vouloir Entreprendre. Le travail sur les dossiers et les présentations m'ont permis de mettre en place un modèle économique fiable basé sur le principe du logiciel libre (merci l'APRIL et son livre blanc ;)) et de confronter mes idées à la réalité économique.

Aujourd'hui, nous sommes en mode "projet" à Gamagora et nous devons développer un jeu vidéo de course automobile pendant 6 mois (j'en parlerai très prochainement). Le moteur de jeu ainsi que l'éditeur développé pour l'occasion, serviront de base pour le projet Utopia et c'est pour ça que je commence à faire de la com autour, vu que vous allez pouvoir béta (enfin plutôt alpha) tester d'ici peu de temps :D.
Concernant la création de l'entreprise, bien que je n'ai pas gagné le concours "vouloir entreprendre" (les réultats pour OSEO sont fin mai), mon projet a plu au jury et je vais prendre rendez-vous avec une entreprise d'incubation d'ici peu, je vous tiendrai au courant de toute évolution.

Bon, je pensais que ça serait un petit billet et en fait il y avait beaucoup à dire !! Promis, je serai plus court la prochaine fois.

A bientôt,
Andréas

samedi 12 avril 2008

Détails sur le projet

Comme promis, voici un petit billet pour expliquer un peu plus ce qu'est le projet Utopia et quel est son but.

Introduction

Il y a environ 4 ans, alors que je découvrais la programmation, j'ai acheté le logiciel DarkBasic Pro, en pensant naïvement qu'avec celui-ci je pourrai faire un jeu vidéo de A à Z.
En voyant la boîte, j'ai imaginé que le logiciel disposait d'éditeur de personnages, de niveaux, etc. En réalité, DarkBasic n'était qu'un "simple" langage de programmation avec des fonctionnalités spécifiques pour le jeu et un éditeur de texte avec compilateur...
Je me suis cassé les dents dessus pendant un bout de temps pour arriver à un résultat pour le moins médiocre avec le DarkGDK, version C++ de DarkBasic. Vous pouvez télécharger le jeu à cette adresse : http://river.cross.free.fr
J'ai par la suite participé à plusieurs projets de jeux vidéo amateurs dont un qui vit toujours et va atteindre la version 2.0 (www.centaurius.net), mais il manquait toujours quelque chose pour réaliser mes idées facilement. En effet, même si j'ai un niveau Bac + 5 en informatique, un jeu vidéo reste très difficile à réaliser pour moi. C'est généralement un énorme programme qui nécessite énormément de compétences et ce dans des domaines aussi différents que les mathématiques, la physique, l'algorithmie poussée, le graphisme, l'analyse etc.
Alors, il y a environ 2 ans, j'ai décidé de créer un projet OpenSource d'éditeur de jeu vidéo qui mutualiserait ainsi les compétences de chacun pour accélérer le développement des projets amateurs.
Cette idée a beaucoup évoluée depuis (mon prochain billet portera sur l'historique d'Utopia) et se présente maintenant sous une forme bien précise.

Utopia : 2 projets, 1 même but

Un point important d'Utopia est qu'il est divisé en 2 projets :

  • Un site web d'échange de ressources libres
  • Un logiciel d'aide à la conception de jeux vidéo
Ces deux éléments sont interdépendants et servent la même cause : rassembler les différents acteurs du jeu vidéo amateur et indépendant autour d'une plate-forme libre.
Regardons en détails ces projets.

Site Web

Je suis parti du constat flagrant que les jeux vidéo amateurs bénéficient très rarement de graphismes de qualité et ce indépendamment de leur niveau de technicité. L'esthétique est un aspect bien trop souvent négligé dans les projets amateurs et est selon moi un facteur important dans le manque d'intérêt du grand public pour ces jeux.
De plus, si un jeu ne bénéficie pas des ressources graphiques minimales pour étayer son projet (perso principal, environnement en lien avec l'histoire etc.), son intérêt et son gameplay en seront modifiés. Par exemple, imaginez un jeu de kart sans kart, le concept même du jeu est dénaturé et même si les développeurs remplacent les karts par des modèles de voitures trouvés sur le net, ça n'aura rien à voir.
J'ai donc eu l'idée de créer un site web communautaire d'échange de ressources (modèles 3D, textures, sprites, son, dessins etc.) libres (sous licence d'art libre ou creative commons) pour le jeu vidéo. La principale différence avec les sites comme ShareCG ou google 3D warehouse est que les ressources seront exclusivement créées pour le temps réel et devront obligatoirement tourner sans manipulation dans le moteur Ogre3D. Une autre différence importante est que le site permettra le "versionning" des ressources, un peu comme ce que CVS ou SVN font pour le code.
Par exemple, un graphiste pose un modèle non texture sur le site, une autre personne la télécharge, rajoute une texture et upload sur le site une nouvelle version améliorée, ceci afin d'optimiser l'échange de compétences.
Si vous souhaitez avoir plus d'informations sur ce projet, allez voir sur le site que nous avons créé spécialement pour le présenter : http://utopiaproject.free.fr/. Vous pouvez y télécharger le cahier des charges qui est relativement bien avancé, nous avons aussi réalisé le document de conception de la base de données, mais il n'est pas en ligne. La rubrique "Nous rejoindre" pourra vous intéresser aussi ;).

Logiciel de conception

Je ne voulais pas seulement fournir un logiciel libre d'édition de jeu vidéo, comme une sorte de Unreal Editor libre, mais je tenais à faire quelque chose de bien plus innovant. Peut-être moins complet et moins performant mais bien plus accessible. Mes contraintes de départ pour ce logiciel étaient qu'il soit :

  • Mutli plate forme : étant amoureux du logiciel libre, je ne pouvais pas développer une technologie seulement accessible aux windowsiens.
  • Simple d'utilisation : les logiciels d'édition de jeux vidéo sont pour la plupart trop complexes et cela en a rebuté plus d'un!
  • Complet : je ne voulais surtout pas faire un FPSCreator like ou une sorte de RPG Maker, il fallait vraiment que le logiciel regorge (ou du moins puisse regorger) de possibilités tout en restant simple comme je l'ai dit.
  • Extensible : le système de plugin que l'on retrouve dans la plupart des logiciels ne me convient pas. alheureusement, en rajoutant une fonctionnalité au "logiciel d'accueil", il le rende souvent plus complexe à utiliser. Ainsi, si l'on multiplie les plugins, le logiciel peut vite devenir impossible à prendre en main pour un néophyte.
Je vous passe les quasi 2 ans de recherche pour trouver un système qui puisse répondre à mes différentes contraintes, voici aujourd'hui comment le logiciel sera.

Tout d'abord, il sera coder (en fait j'ai déjà commencé à coder) en python et utilisera l'excellente librairie wxPython pour l'interface et la toute aussi séduisante python-ogre pour le moteur 3D, physique, son etc. Je peux vous assurer que ces deux combinées font des ravages tant elles sont simple d'utilisation et performantes à la fois!

Voilà pour le petit côté technique, en ce qui concerne l'ergonomie, le logiciel sera axé autour de la conception d'un projet et non de son édition. Je m'explique, la plupart des éditeurs de jeux vidéo (Unreal, SandBox etc.) n'assistent pas à la conception mais seulement à l'édition. Ce n'est que lorsqu'on a une idée précise de ce qu'on souhaite faire qu'on commence à créer notre niveau et il faut bien souvent réaliser une grosse partie du travail sur papier avant d'utiliser l'éditeur.
J'ai alors imaginé un système qui permet à l'utilisateur de réaliser toute cette partie de conception dans le logiciel lui même. Je me suis rendu compte que ce système ressemble en fait énormément à une technique de plus en plus utilisée, j'ai nommé le MindMapping.
L'utilisateur manipulera via un graphe hiérarchisé les différents éléments de son jeu et lorsqu'il voudra les éditer (dans le cas d'un niveau ça sera placer les entités dans le niveau), il n'aura qu'à cliquer sur le noeud représentant l'entité en question et faire "éditer". Une nouvelle fenêtre s'ouvrira alors donnant la possibilité d'éditer son niveau en 3D.

Je détaillerai tout au long de ce blog les différentes fonctionnalités du système et vous verrez que c'est quelque chose d'assez révolutionnaire... Je pense que j'en ai assez dit pour aujourd'hui :D.

A bientôt,
Andréas

P.S : Un grand merci à Mona pour sa relecture.

jeudi 10 avril 2008

Ca y est je me lance!!

C'est mon premier message sur ce blog et ça ne sera pas le dernier croyez-moi !
Tout d'abord je pense qu'il convient de vous fournir quelques explications au sujet de ce blog : qui je suis, pourquoi je le fais, c'est quoi le projet Utopia, qui a tué Kennedy etc.

En ce qui me concerne, je m'appelle Andréas Livet, j'ai 21 ans et je suis en Master 2 de programmation de jeux vidéo à Gamagora (Lyon). C'est une nouvelle formation publique qui regroupe 3 promos : infographie, Game/Level Designer et développement (la mienne ;) ).
Je suis passionné de logiciels libres, de création de jeux vidéo amateurs, de cinéma et de sciences alternatives (ufologie, parapsychologie, énergie libre etc.).

Voilà pour la petite présentation personnelle, maintenant passons aux choses sérieuses : le projet Utopia ! Que se cache-t-il derrière ce nom étrange?
Utopia, c'est le nom d'un projet informatique que je tente de monter depuis maintenant plus de 2 ans et qui vise à rassembler les différents acteur du jeux vidéo amateur et indépendant autour d'une plate-forme libre. Je détaillerai un peu plus le projet dans un futur article qui devrait être en ligne peu après celui-ci.

Si je crée un blog à ce sujet aujourd'hui, c'est que je vais pouvoir travailler sur Utopia pendant 6 mois à plein temps. En effet, la phase "projet" de notre formation à commencé cette semaine et durera 6 mois. Nous avons a développer un jeu vidéo en collaboration avec des level designers et des graphistes des autres formations. Si je dis que je pourrai travailler à plein temps sur Utopia, c'est que le code source du jeu que nous allons développer ainsi que de l'éditeur qui va avec servira de base au code d'Utopia.

Voilà, c'est tout pour l'instant, je voulais pas vous immerger d'informations, des précisions viendront très bientôt ne vous inquiétez pas ;).

J'espère que ce projet attirera un maximum de personnes et qu'on aura rapidement une communauté (enfin faudrait avoir un site officiel déjà :p).

A très bientôt,
Andréas