XGouchet.fr

mardi, 19 janvier 2010

A small test on Kodu

Last week, I introduced Kodu, the new XBox game editor made by Microsoft. I used the PC version to test it and although it is a very good idea, it very quickly showed its limits.

First of all, the terrain editor system is not very easy to use, and sometimes doesn't work at all. Moreover, using 4 modes to edit the terrain makes it very counter productive, cause you need to go from one mode to another every ten seconds.

Then, about the behavior system in itself, each icon/block is very easy to understand, the names and images are quite self explanatory. But the system in itself is more obscure. Some elements can't work with one another, and you loose parallelism. I tried to make a tron/snake (kind of), so i needed my cycle to always go forward, and only turn when i turned the Joystick right/left. I created three instructions :

  1. When joystick pressed towards left, turn object on the left;
  2. When joystick pressed towards right, turn object on the right;
  3. Always move object forward.

When I only had instructions 1 and 2, everything worked fine, the cycle turned left/right. As soon as I added the 3rd instruction, the cycle only moved forward, ignoring the two other instructions. I had to change instruction 3 to : When joystick not pressed, move object forward. Then I got the problem of trying to detect a collision to make the game over. And still got no solution as the instruction is ignored...

A test on kodu

Finally what's very sad is the limited number of behaviors available in Kodu, some games will be almost impossible to make

Apart from that, the rendering and global look and feel is very nice, although a little too Wii for me, and you can add some effects on objects.

I'm definitely not up-to-date on the high-tech videogame world.

Rachel Dratch

mercredi, 13 janvier 2010

Microsoft new XBox Game Editor : Kodu

I talked almost two years ago about Popfly, Microsoft Flash Silverlight game editor. Now they brought this to another level, maybe after seeing the success of Little Big Planet : with Kodu, one can create its own XBox video game.

Now what they've done is still in the field of visual programming, with the challenge of never using a keyboard. Only with the XBox controller, you can import elements in your game, create an environment with a terrain editor, and add behaviors to the game. Once the game is created, one can share it online wit other players.

Microsoft's Kodu
Microsoft's Kodu

From my experience, Visual Programing editors have the choice between being simple, and being scalable. With Kodu, Microsoft made his choice towards simplicity : everything is represented as cute icons, no text needs to be entered... but you can only create the game mechanics Microsoft engineers thought of. Now I didn't test it (yet) as the program is still in beta, and I don't have an XBox, but i'll bet that we'll soon see youtube Videos of people pushing the system to its limit.

Edit : And since... well today, Kodu's team released on its blog a PC version, downloadable free of charge here.

I'm a fan of videogames. I like them. And to get to be part of one of them would be a fun and exciting thing.

Christian Slater

mercredi, 6 janvier 2010

[Processing] Pixie Dust

Bonjour à tous et bonne année ! Que les pixels soient avec vous pour cette année 2010.

Les Algoristes (une des associations dont je suis secrétaire) prépare un projet à soumettre au SIGGRAPH 2010, et pour ce projet j'ai créé plusieurs filtres en Processing.

Ce filtre, que j'appelle Pixie Dust fonctionne grâce à une formule magique qui m'a été soufflée par la fée Clochette, et qui permet de transformer une photo en amas d'étoiles comme sur l'exemple ci dessous. Plus sérieusement, un des principes utilisé est dérivé de celui qui permet de dessiner un Buddhabrot.

Pixie Dust - Xavier Gouchet
Pixie Dust - Voir la galerie

All you need is trust... and a little bit of pixie dust

Sir James Matthew Barrie

mercredi, 2 décembre 2009

[Virtools] Towers of Hanoï

While preparing on of my class about algorithm, I talked about the calssical Towers of Hanoï problem, the perfect example on recursivity. In this game, you have a number of discs, each with a different size, placed on a pole, from the biggest to the smallest. You have to move all the discs, one by one, to another pole, but you can only move a disc on a larger one.

So here's a little demo of this problem, made with Virtools, where you can choose the number of discs, and then you see the animation of the solution. Don't forget that you'll need the 3DVIA Virtools Player to see the demo.

Try the Towers of Hanoï

Hanoi - Virtools

The higher the tower, the deeper the fall.
Horace

R.A.D. art : Rencontre art-techno à La Cantine

La Cantine vient de me contacter pour me parler d'un de leurs événements qui se déroulera le 16 décembre prochain : R.A.D. art, ou Rapid Application Development for artistic projects. Le but est de faire se rencontrer des ingénieurs, développeurs, techniciens en tous genres, et des artistes, créateurs, en passant par des profils mixtes.

Quatre artistes disposeront chacun de 7 minutes pour exposer leur projet. Puis l'assemblée est divisée en quatre "ateliers", chacun allant où il le souhaite, pour essayer d'apporter idée, soutien et conseil aux artistes. Le tout se termine par une mise en commun des idées, puis d'un apéritif.

Vous pouvez retrouver le programme sur le site internet de La Cantine, et vous inscrire à cette soirée pour échanger des idées sur la création numérique interactive.

Le monde arabe, vous savez, c'est ce contact brutal entre deux mondes: d'un côté celui de la technologie, de l'autre celui de la magie.

Rachid Boudjedra

mercredi, 14 octobre 2009

Laser Game en 3D

En fouillant dans mes anciens PCs, j'ai retrouvé quelques démos réalisées avec Virtools, voila donc l'occasion de les mettre en ligne.

La démo ci dessous est inspiré des jeux de logiques où vous devez placer des miroirs pour diriger un rayon laser vers un point précis. Je me souviens de mes cours de physique au collège où on s'amusait à se faire des labyrinthe sur le même principe. Enfin bref, voici une version en 3D, ou le rayon est réfléchi par toute surface, et notamment une théière.

Pour ceux que cela intéresse, la formule pour calculer un vecteur réfléchi sur une surface s'écrit :

R = I - 2x(I.N)xN

Où I est le vecteur incident, N la normale de la surface, et R le vecteur réfléchi.

Et n'oubliez pas d'installer le player Virtools si ce n'est pas déjà fait.

Tester LaserGame

LaserGame - Virtools

On sait qu'un rayon qui passe obliquement d'un milieu dans un autre, ne continue pas son chemin dans la même ligne droite, suivant laquelle il entre.
Jean le Rond D'Alembert

dimanche, 11 octobre 2009

[Processing] Improvisation du week end

Voici une nouvelle improvisation, très inspirée des diagrammes de Voronoï.

J'ai eu une image dans la tête en dormant dans le train vendredi, et j'ai donc cherché à la recréer. Bon malheureusement le résultat n'est pas du tout ce que je voulais, mais peu importe, au moins ça m'a permis de rejouer avec Processing.

Voronoi

Il y a un proverbe chinois dont je ne me souviens plus, mais qui aurait vachement bien convenu à la situation actuelle.
Philippe Gelluck

lundi, 21 septembre 2009

Développer pour l'iPhone en Java, avec XMLVM

En tant que Responsable R&D à mon boulot, j'ai été obligé de développer pour l'iPhone. Cette phrase seule avait tout pour me mettre de mauvaise humeur, mais lorsque j'ai réalisé qu'en plus je devrais utiliser un Mac, et programmer en Objective-C, j'ai bien faillit démissionner. Bon en fait non, je dramatise un peu, mais quand même, devoir utiliser un langage totalement différent du Java/C++, sur un laptop où le clavier n'est pas standard, et la souris n'en parlons pas... Enfin bref, j'ai commencé un peu à reculons, je l'avoue.

Je savais qu'il était possible d'installer une Machine Virtuelle pour exécuter des applications Java, mais seulement sur un iPhone jailbreaké (alors que bon, techniquement c'est faisable, hein Steve?!). Mais aujourd'hui, j'ai trouvé un article sur XMLVM, un outil open source qui permet de transformer du code source Java en Objective-C, et donc développer pour iPhone en Java. Adieu XCode, bonjour Eclipse :).

La vidéo de présentation est très intéressante, pour ceux qui n'ont pas le temps, allez directement à 40'15". Leur outil permet en plus d'utiliser un iPhone comme télécommande pour envoyer les informations liées au hardware (accéléromètre, multi-touch, ...). Bref, un petit bijou que je vais m'empresser de tester, et utiliser.


Developing iPhone Application using Java [Youtube]

Enfin, cerise sur le gâteau, XMLVM permet de convertir d'autres langages, .Net, Ruby, Python, JavaScript, et peut être bientôt plus. Et petit message à la fin de la conférence, l'équipe travaille sur un outil pour transformer une application pour Android en application pour iPhone. Que demander de plus?

La java, ça n'a pas de couleur, ni bleu ni autre chose.

Jean-Marie Gourio

mardi, 15 septembre 2009

Et du web dans la 3D temps réel alors...?

Après mon article sur WebGL, qui permet de mettre de la 3D dans une page web, voici le contraire : Awesomium, qui permet de mettre une page web dans la 3D. Basé sur le moteur Webkit, dans une version modifié (un fork de Google Chrome en fait), cette librairie permet d'inclure un navigateur complet dans une fenêtre 3D (OpenGL ou DirectX), fenêtre qui est d'ailleurs totalement interactive, supporte le JavaScript, le Flash, les Cookies, et même un rendu transparent.

Mon site vue sous Awesomium
La demo Awesomium

Si l'on croise cette technologie avec les essais comme Exit Reality, on pourrait peut-être arriver à un navigateur web 3D potable et pertinent... Mais j'attends de voir.

Vivre sans but, c'est naviguer sans boussole.

John Ruskin

vendredi, 31 juillet 2009

Bokode : un code barre caché dans une LED

On connaissait déjà les codes barre "classiques" utilisés dans nos supermarchés, ou les QRCode et autres Data Matrix apparus au Japon il y a quelques années. Des étudiants du MediaLab, au MIT ont décidé de pousser le vice un peu plus loin, en intégrant un code barre dans une LED (Diode électro luminescente).

Le concept repose sur le principe de l'effet Bokeh, qui fait qu'une lumière apparait comme un disque flou si la lumière est hors focus. En tirant partie de cette distorsion en cachant un pattern minuscule dans la lumière, le code devient visible via un appareil photo classique, avec le focus réglé correctement. Technologiquement, le concept est brillant, par contre le désavantage est qu'il faut se trimbaler avec un appareil photo pour le lire. Du coup comment arrivera-t-on à l'utiliser dans la vie de tous les jours?

En tout les cas, les auteurs seront au SIGGRAPH, donc j'irais surement leur rendre visite la semaine prochaine, et en attendant je vous laisse avec la vidéo.


Bokode [Youtube]

Le code-barres génétique, si c'est aussi fiable que le code-barres des produits, quand on passe à la caisse d'un supermarché, on va vite se retrouver à payer deux fois le prix d'un crime commis par un autre!

Laurent Ruquier

Source : Graphism.fr

lundi, 27 juillet 2009

Définir le zoom du Camera sous OpenGL ES

Bon allez, un petit écart de conduite, je vais ici faire du code, du vrai, parce que j'ai pas mal cherché sur le sujet et les réponses sont pas forcément simple à trouver quand on n'a jamais fait d'OpenGL. Comme je le disais précédemment, je travaille sur un moteur 3D OpenGL sur Android. Mais sous Android, on n'utilise pas OpenGL de base mais OpenGL ES (OpenGL for Embedded Systems), qui ne contient pas autant de fonctions que la version standard.

Et notamment l'un des manque et qu'il n'y a pas de fonction gluPerspective, qui permet de spécifier l'angle de vue, et donc le zoom de la camera. Je ne me suis pas encore penché à fond sur le fonctionnement des matrices caméras, et je me sentais mal refaire les maths dans mon coin, j'ai donc cherché une autre astuce, que j'ai trouvé sur un forum iPhone. La formule, je la met pour ceux que cela peut intéresser, et surtout pour en avoir une trace quelque part ;).

void perspective(double fov, double aspectRatio, double zNear, double zFar) {
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
double yTop = zNear * tan(fovy * M_PI / 360.0);
double yBottom = -yTop;
double xLeft = yBottom * aspectRatio;
double xRight = yTop * aspectRatio;
glFrustumf(xLeft, xRight, yBottom, yTop, zNear, zFar);
glMatrixMode(GL_MODELVIEW);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
}

Voila et désolé pour tous ceux qui ne sont pas programmeur parmi mes lecteurs, promis je ne le ferait plus... enfin pas tout de suite ;)

Caméra - Merveilleux instrument de tourisme auquel le voyageur fait voir le pays avant de le voir lui-même.

Pierre Daninos

mardi, 21 juillet 2009

Un avant-gout du Siggraph 2009 (bis)

Il y a un mois, je vous proposais les bandes annonces officielles du Siggraph 2009. Je me permet de compléter la liste avec cette vidéo des rendus temps réel qui seront projetés à la Nouvelle Orléans.


SIGGRAPH 2009 - Computer Animation Festival Real-Time Rendering [Youtube]

Le film doit être conçu de manière que la réflexion du spectateur puisse se prolonger après la projection.

Gleb Panfilov

vendredi, 10 juillet 2009

Moteur OpenGL sous Android

L'un des gros avantages à être responsable R&D à l'ISART, c'est que je peux faire mes recherches sur ce que je veux (ou presque), et que je suis payé pour ça ! Récemment je vous montrais un petit jeu fait sous Android, ce qui a bien sur éveillé un peu plus ma curiosité. L'étape suivante était évidemment de faire une appli en 3D, tournant sur mon HTC Magic.

Moteur 3D OpenGL sous Android

Voila qui est chose faite (bon c'est pas finit mais c'est bien avancé). J'ai désormais un petit moteur à base d'OpenGL, capable d'importer des fichiers au format OBJ, et les textures qui vont avec (du bête jpeg). Je viens à l'instant de finir un convertisseur qui précompile les données 3D en fichier binaire, pour optimiser le temps de chargement des objets (de 7,4s avec un fichier obj, je passe à 1s pour un même mesh). A suivre le même principe pour les textures (qui doivent en plus être modifiées puisqu'en OpenGL les couleurs se lisent en ARGB et non RGBA), et une fois cela fait un petit jeu pour aller jusqu'au bout.

Tableau. Représentation en deux dimensions de quelque chose d'inintéressant en trois.

Ambrose Pierce

jeudi, 25 juin 2009

Ürban Pad, Procedural City; construisez une ville de jeu vidéo en quelques clics

L'une des taches les plus facilement programmable en 3D est la génération de décors urbains. Je me souviens notamment du projet Subversion qui m'avait bluffé à l'époque. Le sujet est très vaste, mais très riche car le nombre de paramètres à prendre en compte est immense.

Je présente donc aujourd'hui deux solution. La première s'appelle Ürban Pad, édité par une société Lyonnaise, et qui permet, à partir de modèles de bases créés dans Maya, ainsi que d'un relief de base, de créer une ville complète (routes, bâtiments), ou même un paysage pseudo urbain (ruines, village médiéval, futuriste, alien, ...). Le projet est encore jeune mais semble prometteur.

Le second projet vient d'un article lu chez Benoît. Procedural City permet aussi de générer une ville automatiquement, mais cette fois ci directement en temps réel. L'intérêt est d'avoir une ville où chaque pièce de chaque étage de chaque bâtiment est visitable, dans un décors infini.


Structure - Procedural City [Youtube]

Enfin, pour ceux qui veulent approfondir le sujet, vous pouvez lire cet article très complet sur l'état de l'art de la génération de ville automatique.

La ville est le lieu où le jeune homme perd ses idéaux et la jeune fille sa vertu.

Serge Daney

- page 1 de 6