La création d'un jeu jour après jour...

19 juillet 2006

Les textures en OpenGL, toute une histoire

Sur le forum de jME, j'ai finalement trouvé le moyen de récupérer le vrai rendu des textures ouééééééééééé !!!

C'est ici pour les détails.

Prochaine étape : le ZBuffer !

16 juillet 2006

On marché... sur un damier !

Fouille ouille ouille, ca faisait longtemps que je n'avais pas écrit ici, et pous cause, j'étais occupé du côté de jME (le forum, le wiki, les sources, les essais...) et enfin j'arrive à quelque chose :


Voilà, le gros du boulot est fait maintenant, il va falloir gérer le reste :

  • le Z-buffer

  • les collisions

  • le chargement des textures

  • la gestion du joypad (saut...)

19 juin 2006

Dans toutes les directions...


Ca y est, après avoir écumé les tutoriaux et autres classes de test de jME, j'ai finalement codé la gestion du joystick pour la direction que doit prendre le sprite. A noter que je gère également un état "en marche" / "arrêté".

Maintenant, il va me falloir gérer une (pour le moment) action possible : sauter.

15 juin 2006

Vous avez dit Joystick ?

Eh bien maintenant que le sprite principal s'anime en 60 images secondes, 640x480 en consommant 10% de CPU sur du code non optimisé, je m'attaque à l'interfacage avec le joystick/joypad et là... faut en vouloir pour trouver de la doc intéressante.

Finalement, après 2/3 heures de recherche, il y a 2 classes de test disponibles dans le repository CVS de jME (il faut avoir un compte java.net).

Next :

  • gérer les événements du joystick

  • afficher le décor !!!

10 juin 2006

HUD !!!


Bien, maintenant, j'arrive enfin à afficher un sprite au milieu de l'écran et sans effet de lumière atténuant les couleurs !

Je me suis servi pour ce faire des 2 premiers chapitres du tutorial sur les HUD (Head Up Displays) disponibles sur le Wiki de jME (Java Monkey Engine, au passage, merci à Eric pour m'avoir parlé de cette API ;o) ) :


Cependant quelques erreurs s'y étaient glissées, notamment dû au refactoring inhérent à la dernière version (0.10) :

  1. la méthode TextureManager#loadTexture utilisée n'existe plus, j'ai supprimé le dernier paramètre (flip y) pour que le code fonctionne,

  2. j'ai interdit l'utilisation de la lumière (pour le moment) sur le sprite, évitant ainsi une atténuation des couleurs



Next : faire bouger le sprite !!!

Lentement mais sûrement...


Et voilà, première planche de sprites ! Maintenant, affichage avec jME...

09 mai 2006

Part 2: Mais qu'est-ce qu'il fabrique...?

D'un autre côté, je me dis que ca serait bien cool d'avoir un peu plus de fun, c'est pourquoi, je pense que je vais reprendre la création d'un prototype tout bête auquel je vais ajouter par couches successives de nouvelles fonctionalités. L'avantage de cette approche (que je n'invente pas) quelque chose est créé, c'est fun et ca montre que je fais quand même quelque chose !

Bref, prochain petit proto, rappelez-vous Landstalker, eh bien, le but sera d'afficher Nigel (le héros du jeu - un elf) en Java à l'aide de la librairie LWJGL.

Vous avez bien lu, juste l'afficher !

Le hic, c'est qu'auparavant, il va falloir que je me remette à maven 2 et Subversion... mais je vais faire une doc rapide pour pouvoir justement se mettre rapidement à utiliser ces outils !

Mais qu'est-ce qu'il fabrique...?

En ce moment, je relis les deux articles (que je considère comme majeurs) du second livre sur le développement de MMORPG :

  • Chapitre 2.13 : The Quest for Holy Scale - Part 1: Large-Scale Computing

  • Chapitre 2.14 : The Quest for Holy Scale - Part 2: P2P Continuum



J'ai donc photocopié (ouh, le salô, mais je possède les originaux !) ces deux chapitres et je suis en train de les stabiloter (verbe du 1er groupe vivivi) tout en bleu fluo.

J'en profite donc pour extraire les informations centrales dans le but de rédiger deux petits résumés d'une part mais aussi pour (à partir du chapitre 2.14) élaborer l'architecture de la plateforme.

Landstalker strikes back!!!

Après un long moment passé à hiberner, je refais surface !!!

Surtout après un séjour réparateur (quoique) à New York, pam pam papadam...

Bref, ca faisait un bout de temps que je n'avais pas écrit et quelle surprise de constater que je n'ai pas encore parlé de Landstalker, LE jeu qui a marqué mon adolescence !!! Eh bien, quelle ne fût pas l'émotion en constatant que 13 ans plus tard, Climax Entertainement remet le couvert (enfin) !

En effet, Landstalker - sous-entendu LA vraie suite - va sortir sur PSP (Playstation Portable). Je ne peux résister à mettre le lien vers une vidéo diffusée au dernier TGS (Tokyo Game Show: un énorme salon du jeu vidéo).

Quelle folie n'est-ce pas ;o) ?!?

Pinaise, je repense aux heures passées à sauter de plateformes en plateforme pour résoudre les énigmes de ce jeu, ca me met la larme à l'oeil ^_^;

31 janvier 2006

Comme dirait un collègue...

...actuellement, ca frotte côté boulot (beaucoup de pression, migraines et donc moins de temps à consacrer à MyRPG mais ca devrait passer), et après une bataille acharnée pour faire mettre JXTA 2.3.6 sur le repository central de Maven 2 (ibiblio.org) de plus de 15 jours, je suis en passe de pouvoir commencer les premiers testcases techniques ! (ouf ^_^;)

19 janvier 2006

Et ca continue encore et encore, c'est que... d'accord

Bien, ce soir, je poste car j'ai reçu mon premier commentaire anonyme :o) cooooool sauf qu'il est anonyme... c'est malin, je n'ai pas mis mes coordonées. Bon, j'ai donc ajouté à mon profil des informations permettant de me retrouver !!!

Sinon, mais que fait-il depuis une semaine ?!? Ben il essaye de configurer son repository maven 2 local ET C'EST PAS DE LA TARTE !!! J'ai réussi à faire installer JGroups 2.2.9.1 sur ibiblio.org et je suis en passe d'y mettre aussi JXTA 2.3.6 mais là, je crois qu'avec LWJGL je vais avoir du mal :o( Maven 2 et LWJGL ne sont pas vraiment fait pour vivre ensemble (multiples dépendances, dll...) bref que du bonheur :o(

Sinon, je continue de penser que "Peer To Peer Continuum" (détaillé dans le second livre) est THE solution qui garantira un système scalabie. En plus c'est carrément plus intéressant qu'une "traditionnelle" implémentation client/serveur (quoique pas si loin que ca)...

J'ai essayé JXTA, l'appli de chat disponible via WebStart : ca marche du premier coup, en P2P et j'ai pû discuter avec un mec aux States sans souci, c'est rare de voir une démo de ce type d'application fonctionner du premier coup... Bon je ne me souviens plus si j'avais désactivé mon firewall, faudra que je réessaye !

Sinon, je suis enfin abonné à GamePlay RPG et ca c'est fun :o) surtout que la ligne directrice du magazine n'a pas trop changée malgré un "refactoring" général de l'équipe.

Bon, j'attends de tes nouvelles dans ma boîte mail "Utilisateur anonyme" :o)

11 janvier 2006

Bon, ca chauffe...

Ouais, ca chauffe, après avoir lu deux articles au sujet ("the quest for Holy scale" 1 & 2) évocateur, il apparaît que le P2P (peer to peer) est LA solution en ce qui concerne les MMORPG.

Je suis actuellement en train de me documenter sur JXTA.

Un article intéressant sur l'écriture d'API disponible sur TheServerSide.com .

02 janvier 2006

Oulalalalala c'est compliqué

Bien après avoir lu quelques chapitres très intéressants dans ce nouveau livre, je m'aperçois (mais je m'en doutais un peu) que tout n'est pas si facile que çà !

En gros, les deux points fondamentaux d'un MMORPG :

  • la sécurité (on ne peut pas faire confiance aux clients),

  • la topologie du réseau :

    • client/serveur : qui s'avère la moins scalable

    • peer to peer : super scalable mais problématique vu les critères de sécurité requis

    • grid : plus scalable que le client/serveur mais qui possède ses limites

    • distribué : non adapté au temps réel requis par ce type de jeu




Sans oublié le système de script à choisir, la mise en place de tests unitaires/de non régressions........

Bref que du bonheur ! Enfin, le point positif, c'est que le fruit de ces recherches est disponible et l'on gagne ainsi beaucoup de temps !!!

Petit lien bien sympa lié au livre.

21 décembre 2005

Le projet est accepté sur Tigris

Grande nouvelle de la semaine, le projet MyRPG est désormais actif sur le site de Tigris. Cela signifie qu'il commence réellement à vivre sa vie au sein de la communauté Internet !

JGroups - Draw2Channels

Voilà, à cette adresse réside tout le secret (et je sais que je m'avance) pour créer un jeu en réseau (avec pas mal de joueurs) sans lag !

Ayé, j'ai reçu mon livre :o)

Bien ca doit faire maintenant 3 jours que j'ai reçu mon nouveau livre (Massively Multiplayer Game Development 2) et il est génial, on y apprend des tas de choses et surtout du retour d'expérience de personnes qui côtoient ce domaine depuis plus de 10 ans... notamment quel sont les types de joueur, comment évoluent-ils, comment faire pour les faire évoluer comme on veut (sous-entendu pour qu'ils continuent de jouer des mois et des mois sans résiller leur abonnement)...

Un conseil pour ceux intéressés par le sujet, achetez le ! (mais c'est tout en anglais, vous êtes prévenu).

13 décembre 2005

Ca part dans tous les sens...

Bien, çà fait longtemps que je n'ai pas écrit de post et pour cause :

JBoss Micro Container vs Spring
Je me suis renseigné sur JBoss Micro Container et à priori ca ne m'aidera pas pour le moment ; à moins que j'arrive à brancher Spring dessus. Cependant, on peut noter une volonté forte à créer un simili Spring :
- afin d'en reprendre les bonnes idées,
- de ne pas dépendre d'un framework externe concernant le coeur du futur JBoss 5

Subversion
Après quelques déboires liés à l'utilisation de svn, j'arrive enfin à faire des checkin/checkout par delà un firewall ! Génial ! Cependant, je mets ici un conseil plus que salvateur : ne pas copier d'arborescence déjà existante dans le repo subversion pour dupliquer des arborescences de répertoires car l'on pourrait copier en même les répertoires .svn et foutre une sacrée grouille (si je puis dire) ; bref, on ne m'y reprendra plus !

Java [Dynamic] Proxy
Ayé, je sais ce que c'est maintenant (il serait temps), et cette artefact sera géré via Spring AOP ! La "proxyfication" permettra de gérer le "même" objet côté serveur et client (je me comprends). Spring AOP, a vraiment l'air très puissant pour greffer de nouvelles possibilités à des (pardonnez moi l'expression) Beans tout cons. ^_^;

MMO Game Development review
J'ai relut les deux chapitres du premier livre concernant la réalisation de framework pour la réalisation de MMORPG... De bien bonnes idées mais un design qui peut être grandement amélioré et simplifié.

Magazines
Je viens de finir de parcourir le GamePlay RPG du mois de novembre et le n°2 de RPG online.

Concernant le premier, j'ai été surpris de voir que Jay ne fait plus parti de l'équipe (s'est-il fait virer ?). En tout cas le ton est donné dès le début de l'édito : "La critique est facile, l'art est difficile"... J'attends de voir si tout cela va devenir niais ou pas, en tout cas, il y a toujours le DVD (très bonne chose).

Pour le deuxième, c'est la première fois que je l'achète et il est pas mal du tout. A ma connaissance, c'est le premier en France à se consacrer en majorité sur les MMORPG du moment et à venir (Lineage II a l'air trop bien). Bref du beau boulot !

Pour les curieux, FJM publications s'occupe des deux magazines...

JGroups benchmark
J'ai également trouvé un lien bien sympathique sur un benchmark de JGroups réalisé en 2004. Il montre que dans un environnement non Internet (Lan et non Wan), le protocole TCP surpasse le protocole UDP du fait de l'infrastructure physique du réseau... (à lire également un post sur GameDev.net) Un article explicatif est disponible sur la même page. Je mets également un article vers les commentaires de cet article sur TheServerSide.com.

Articles sur la création d'un MMORPG
J'ai également trouvé, deux articles intéressants sur le sujet :
- A Beginner's Guide to Creating a MMORPG,
- How to Build an MMOG...
- et quelques commentaires dessus.

Narya, un framework MMORPG GPL Java
Et oui, j'ai également trouvé un framework, qui a l'air pas mal. Je n'ai malheureusement pas encore eu le temps d'étudier la chose. :o(

Cadeau
Cité en télex dans GamePaly RPG page 20, une vidéo dont la fin est assez impressionante : un 999 Hit Combo dans le jeu Tales Of Legendia.

Et pour MyRPG...
J'ai créé les modules principaux du projets (pas tous) sous subversion et je suis en train de me documenter sur Spring AOP et JGroups (dont la version 2.2.9 vient juste de sortir).

Ouf, heureusement, c'est bientôt les vacances !

09 décembre 2005

Mangez des POM !

Bon ce soir, j'ai enfin créé les decripteurs de projet Maven 2 et en plus sans trop de problèmes. Pour cela, je me suis servi des fichiers du projet Maven 2 lui-même qui présentent la notion de modules et grâce à laquelle on bénéficie enfin de la transitivité des dépendances entre ces modules (et c'est pas trop tôt ^_^;) !

J'ai même ajouté la dépendance de MyRPG sur Spring (repository Maven 2 chez ibiblio).

L'utilisation de SVN (la commande de Subversion) est très simple à
prendre en main (ajout de fichiers/répertoires, check-in...). J'ai ainsi pû mettre
tout ce que j'avais fait chez Tigris.

Maintenant, je réfléchis à la possibilité d'intégrer JBossMC, encore faudrait-il que ce dernier supporte Spring...

07 décembre 2005

Liens

Et hop des liens :

  1. Les tags XDoclet pour Spring

  2. Un article sur les annotations du JDK 5 pour utiliser la gestion transactionnelle au sein de Spring

  3. Utilisation d'Hibernate avec Spring

06 décembre 2005

Le printemps est bien compliqué !

Fouillouillouille ! Je me suis lancé dans la lecture du manuel de référence de Spring et ce que l'on peut en dire, c'est que Spring a l'air très complet !

Ca fait plaisir de pouvoir s'appuyer sur des librairies aussi bien conçues et qui ont l'air vraiment stables. Le chapitre 3 est imbitable : énormément de notions dont 90% semblent représenter les fondements de ce framework !!!

Le projet sur tigris n'est toujours pas validé :o(