Colony – Real-time strategy browser

Transcription

Colony – Real-time strategy browser
BI BE BU VA BSc en Informatique
Colony – Real-time strategy browser-based game
Informatique / Prof. Dr Jean-Pierre Caillot
Expert: Armin Blum, OFCOM
Partenaire de projet: Noir d’Ivoire Sàrl, Bienne
L’entreprise Noir d’Ivoire, active dans le développement web, possède plusieurs sites web dont la majeure
partie sont des jeux en ligne basé sur les navigateurs. Noir d’Ivoire désire réaliser un nouveau jeu basé sur
les navigateurs orienté gestion-stratégie. À la différence des anciennes applications de jeu de la société
celui-ci est composé de deux applications, une première pour les clients et une seconde pour le serveur
de jeu. Grâce au serveur de jeu les différents utilisateurs pourront jouer et communiquer de manière asyn­
chrone ajoutant une dimension supplémentaire à l’ambiance du jeu.
Thomas Vuilleumier
Introduction
Depuis quelques années, les jeux
en ligne basés sur les navigateurs
sont devenus incontournables et
attirent de plus en plus d’utilisa­
teurs. Ces types de jeux ne de­
mandent aucun fichier à téléchar­
ger ni même à installer puisqu’ils
utilisent les plugins des naviga­
teurs comme par exemple Adobe
Flash Player.
L’entreprise Noir d’Ivoire Sàrl dé­
sire développer un nouveau jeu
basé sur les navigateurs constitué
de deux applications: une appli­
cation client, exécutée à l’intérieur
du navigateur, et une application
serveur permettant aux clients
de se connecter via des sockets
pour assurer les communications
entre les utilisateurs du jeu.
Objectif
Jusqu’à lors les jeux en lignes
de l’entreprise Noir d’Ivoire Sàrl
étaient constitués d’une seule ap­
plication sous forme d’un site web
dynamique. Avec les nouvelles
technologies et l’évolution des na­
vigateurs internet il est maintenant
possible, à travers les plugins de
navigateurs, d’exécuter des appli­
cations relativement complexes.
L’objectif du projet est donc de
développer un système ou plutôt
un jeu en ligne constitué de deux
applications: l’application client et
l’application serveur.
Ce système doit implémenter les
règles du jeu Colony côté ser­
veur et intégrer les ressources
graphiques de l’interface utilisa­
teur côté client fournie par Noir
d’Ivoire Sàrl.
Implémentation
L’application serveur utilise le fra­
mework sous licence SmartFoxServer Pro dont le cœur du ser­
veur est déjà implémenté et où il
est possible de développer une
logique d’application à travers les
extensions du serveur. Les exten­
sions du serveur SmartFoxServer
Pro sont développées en Java et
contiennent l’entière logique du
jeu Colony.
152
ti.bfh.ch
Pour la persistance des données
du jeu c’est la Java Persistence
API, permettant d’organiser des
données relationnelles, qui a été
utilisée.
L’application client utilise le plugin
Adobe Flash Player pour son exé­
cution au sein du navigateur. Le
framework SmartFoxServer Pro
met à disposition une librairie Ac­
tionscript 3.0 pour le côté client
du système, Actionscript 3.0 étant
le langage de programmation des
applications Adobe Flash. Dans
le système global, l’application
client joue un rôle de terminal et
son implémentation est relati­
vement simple. La difficulté de
cette dernière réside simplement
en la création d’une interface uti­
lisateurs complexe et capable de
prendre en charge toutes les fa­
cettes du jeu.
Les règles du jeu Colony étant
très vastes ce n’est pas la tota­
lité de ces dernières qui est im­
plémentée durant le projet. Le ré­
sultat de ce travail est donc une
application serveur solide et mo­
dulaire répondant aux règles du
jeu ainsi qu’une application client
modulaire intégrant les fonction­
nalités implémentées du côté ser­
veur.