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

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(

05 décembre 2005

Chouette !

Bon hier, je me suis commandé le second livre sur Amazon : Massively Multiplayer Game Development 2 (ISBN 1-58450-390-4) ! Il devrait arriver avant Noël en direct des States :o).

Sinon, j'ai un peu regardé l'API JGroups pour la communication entre le client et le serveur ; Hedera semble sous documenté et ne répondra sans doute pas aux besoins :o(.

04 décembre 2005

Client

L'article suivant très intéressant présente un moyen de définir quelle technologie utiliser pour les interfaces client : Rich Internet Applications and AJAX - Selecting the best product.

Le client sera très certainement une application Java téléchargeable grâce à Java WebStart.

En outre, ce lien présente quelques interfaces graphiques développées en Java dont certaines assez bluffantes : Swing Sightings Volume 22 - impressionante adaptation de Quake 2 en Java : Jake2.

L'un des points importants lié au client sera la communication avec le serveur, pour cela, je pense utiliser Hedera.

03 décembre 2005

Serveur

Comme déjà mentionné, le serveur s'appuiera sur les technologies J2EE actuelles mais je tenterai de m'abstraire d'un serveur d'application en particulier et ce à l'aide de Spring.

Spring est un framework émergeant qui fournit trop de choses pour les mentionner toutes de manière concise dans un seul post. Afin d'avoir un aperçu de ce que peut offir ce framework, je conseille de lire l'article suivant posté sur le site TheServerSide.com :
Introduction to the Spring Framework.

J'ai de plus suivi avec attention la présentation de Guy Pardon : Transactional J2EE Applications with Spring (durée : 33 minutes).

Architecture

Le jeu devra fonctionner en mode client-serveur ; c'est à dire que comme le veut ce type de jeu, c'est le serveur central (cluster ou non) qui aura autorité sur les clients : interfaces utilisées par chaque joueur pour interagir avec le monde.

Une base de données viendra s'ajouter afin de persister les données. Nous obtenons une architecture 3 tiers des plus classiques avec bien entendu rupture de protocoles entre le client et la base de données.

01 décembre 2005

MMORPG ?

MMORPG, signifie Massively Multiplayer Role Playing Game ; c'est un genre qui commence à se répandre (Ultima Online, Final Fantasy XI, World of Warcraft...) et qui à mes yeux est l'aboutissement de jeux tels que Zelda.

Bref, il y a du pain sur la planche !

Pour m'aider, j'ai tout de même lu ce livre : Massively Multiplayer Game Development (ISBN 1-58450-243-6).

L'aventure commence

RPG, cela doit faire maintenant 15 ans que je joue à ce style de jeux vidéo. J'aime le style, la durée de vie mais aussi la richesse de certains titres.

Ce soir, après quelques essais infructueux, je me décide à relancer cette aventure : créer mon propre jeu de rôle. Le projet est ambicieux et j'avoue que la tâche est ardue !

Ingénieur en nouvelles technologies, j'ai un peu roulé ma bosse maintenant et je pense que la conjoncture actuelle dans le domaine est propice à un nouveau démarrage : MyRPG.

MyRPG, c'est le nom du projet. Le nom ressemble un peu à cette base de données gratuite : MySQL, et c'est un peu fait exprès. En même temps, cela veut tout dire.

Derrière ce nom se cache donc la volonté de créer un ensemble d'outils (malheureusement absents) permettant de crée son propre univers mais aussi de le faire vivre.

La plateforme cible est un environnement J2EE qui - comme tout le monde le sait - évolue vite, très vite.

La plateforme de développement sera donc Tigris sur laquelle je viens de soumettre un nouveau projet : myrpg.