mercredi 21 novembre 2012

Update #3

Il est arrivé deux trois choses dans ma vie du coup je n'ai pas beaucoup avancé, et ma résolution de faire un update chaque Mercredi a été déjà bousculée.
Quoi qu'il en soit, je suis parvenu à porter mes deux petites démos sur android. Pour ceux qui savent comment installer un apk sur leur téléphone, voici les liens:

Lien pour modelviewer
Lien pour demo moteur physique

jeudi 25 octobre 2012

Update #2

J'ai réussi à faire un exporteur pour blender!
Et au passage, à compiler mon projet test sur html5
Voilà ce que ça donne :

http://jackamikaz.free.fr/demo/viewer/

Il se peut que cela ne fonctionne pas, dans ce cas vérifiez que vous avez bien activé WebGL sur votre navigateur.

mercredi 17 octobre 2012

Update #1

On y est, j'ai décidé il y a deux semaines d'être régulier sur les posts du blog. Il semblerait que ce soit tout les Mercredis.

Alors voilà ce que j'ai fait depuis la dernière fois :

Avant de poster la démo de la semaine dernière, j'avais l'intention de la publier en Html5 (parce que libgdx le permet). Sauf que je ne pouvais pas! Parce que le compilateur GWT ne peut pas compiler jBullet. Alors pour y remédier, j'ai essayé d'utiliser Bullet en natif en programmant un wrapper JNI. C'est là que je me suis aperçu que GWT ne compile pas non plus les appels de code natifs... Mais ce n'est pas une perte, de un j'ai maintenant des compétences en JNI qui pourront s'avérer utile, de deux j'ai un début de wrapper pour Bullet qui s'avèrera extrêmement utile pour Android (parce qu'il parait que jBullet est lent sur téléphones). D'ailleurs j'ai commencé la démarche pour acquérir un Samsung Galaxy S2.

Après ça il a fallut passer à autre chose... Bon j'étais un peu déçu parce que je n'avais rien à montrer pour le blog. Alors je me suis dit que j'allais me changer les idées en faisant un peu de modélisation. C'est là dessus que j'ai passé le reste de mon temps =>
C'est un octoroc, un ennemi commun dans la série des legend of zelda. Ca m'a pris pas mal de temps mais maintenant je suis bien habitué aux bases de blender : modélisation, texturing, animation.
J'étais tout content, je me suis dit que j'allais vite fait faire un viewer avec libgdx, et cette fois-ci utiliser l'export html5! Hébé non ... il se trouve que la fonction de chargement de modèle n'est pas au point et crashe.

Alors je ne baisse pas les bras. Pouvoir exporter et lire un modèle dans une production de jeu vidéo, c'est la base. Mon prochain objectif est d'écrire un exporteur python vers mon propre format (et donc un importeur depuis libgdx).

A la semaine prochaine!

mercredi 10 octobre 2012

Java et libgdx

Alors d'abord il faut clarifier les choses : j'ai déjà décidé depuis un moment de faire mon projet en Java.
Les avantages sont les suivants :
- il y a un système de GUI très connu, puissant, et facile à utiliser (Awt/Swing). Pratique pour développer des outils
- c'est multi plateformes
- multi plateformes, incluant Android
- la JVM est bien optimisée de nos jours, et nos machines plus puissantes que jamais. "Java c'est nul c'est lent" était vrai autrefois, maintenant c'est un mythe. Ca ne sera jamais aussi rapide que du code natif, mais il parait que c'en est plutôt proche maintenant.

Evidemment je n'ai pas choisi ça d'un seul coup. J'ai pesé le pour et le contre. J'ai fait pas mal de recherches pour voir quelles étaient les librairies qui valaient le coup. D'abord j'ai trouvé lwjgl, parce que OpenGL, en jeu vidéo indépendant, multi-plateformes ... c'est simplement la base! Je me suis amusé pas mal de temps avec, j'ai crée un début d'éditeur 3D en m'inspirant de Unity avec (j'en parlerai certainement dans un autre post).

Mais je me posais quand même la question... n'existe-t-il déjà pas des framework complets pour le jeu vidéo en Java? Ce lien dans le wiki de lwjgl en liste pas mal, voilà ceux que je n'ai pas choisi :
- JMonkeyEngine : paraît plutôt complet, mais ne m'a pas attiré parce qu'il y a beaucoup à apprendre et j'ai peur d'en être trop dépendant
- Ardor3D : payant
- Clyde : huh? pas de site? j'ai pas insisté
- jPCT : intéressant, mais la version Android est un portage, donc qui risque de ne pas rester à jour
- Xith3D : intéressant aussi, là j'avoue qu'il faudrait que je m'y intéresse de plus près
- Bonzai Engine : n'a pas l'air d'être très populaire, pas idéal pour le support
- Homura : intéressant mais ... forum? Android? tutos? pas trouvé

Ce qui nous amène à LibGDX. Supporte Android, html5, développement actif, forum vivant, des tutos, bref y'a tout ce qu'il faut.
En plus de ça, coder avec cette librairie ne donne pas du tout une impression de dépendance. Il y a plein de classes pour aider, qui servent de raccourci, et qui sont optimisés : par exemple Mesh, qui va automatiquement gérer un VBO, et Texture, qui gère lui même le pointeur OpenGL, et des fonctions comme bind() ou render() qui utilisent OpenGL. Mais dans tout les cas, on n'est pas obligé de l'utiliser. On a accès à OpenGL de toute façons, et si l'envie nous prend on peu décider de tout faire soi-même. Et ça, ça laisse un sentiment de liberté énorme! Qui plus est le code source est très accessible et bien documenté.

Voilà ce que j'ai pondu avec, juste pour me familiariser :


Télécharger
Télécharger les sources

Utilisez les flèches pour vous déplacer, maintenez clic droit pour regarder autour de vous, et clic gauche pour lancer une boule. Vous aurez besoin de Java pour le lancer. (extrayez-le et double-cliquez sur libgdxtest.jar)

mercredi 3 octobre 2012

De nouveau en activité



Deux ans!

Wow! Deux ans que le blog n'a pas été actualisé.

Il m'est arrivé pas mal de trucs pendant ce temps là. D'abord, j'ai terminé ma deuxième année à Teesside. Ensuite, j'ai passé une année entière chez Blitz Games Studios en tant que programmeur C++. J'ai bossé sur le projet Puss In Boots.
Mon boulot a été de coder 90% des détections kinect, et d'autres trucs. C'était une expérience très enrichissante!
Ensuite, eh bien, j'ai commencé ma troisième année à Teesside. C'était pas aussi excitant que la deuxième.
Puis j'ai trouvé un travail, chez moi, à Toulouse. Un gros coup de chance si je puis dire! J'ai été accepté chez Levelup Studio, un des leaders d'applications pour smartphone Android (ils onf fait par exemple Beautiful Widget). J'ai travaillé sur un projet de jeu vidéo, parce que l'entreprise souhaite étendre son activité. Le jeu s'apelle PETI! Et il est sorti. Je vous conseille de regarder le trailer, il est bien sympatique.



Mon projet

Mais le contrat s'est terminé, et j'ai d'autres idées en tête. Je souhaite faire mon propre jeu indépendant! Donc depuis quelques mois, je suis libre, et je bosse sur mon projet. Là, j'en suis vraiment aux balbutiements. Je m'habitue à un nouveau train de vie pour pouvoir être bien productif. Je m'amuse à dessiner pour pouvoir être en mesure de m'occuper du coté artistique de mon jeu. Je commence à écrire, pour devenir bon en narration également. Mais surtout, le but est de me garder actif et motivé, car plus je crée, plus j'ai d'idées, et plus je suis confiant et efficace. Donc même en plus de ça, je compte essayer de composer des musiques et créer des jeux juste pour des concepts de gameplay. Ok, ok, pour l'instant ce ne sont que des mots. Mais c'est bien mon intention.

Mes intentions

Donc je prévoie de poster une note de blog au moins une fois par semaine. Les types de posts concerneront forcément la création de jeu vidéo, mais pas obligatoirement mon projet principal. Le but étant :
- d'être à jour (ça me forcera à être actif pour avoir quelque chose à montrer)
- d'attirer du monde (me faire connaître)
- paraître crédible (bon j'ai peur en ce qui concerne mes premiers dessins)
- obtenir une satisfaction personnelle :-)

A très bientôt!