Skip to content

Eternal War One in NodeJS (server) / React (client) / Socket.IO (interface)

License

Notifications You must be signed in to change notification settings

Ewo-team/ewo-next

Repository files navigation

E.W.O. : Next

E.W.O �tait un projet francophone de jeu multijoueur online en PHP. Le sujet du jeu est la bataille entre les anges, les d�mons et les humains, dans un futur alternatif.

EWO Next est le nom de code d'une reprise � z�ro du projet (red�finition du gameplay et des technologies)

Lien vers la documentation

Badges

On aime les badges

Quality Gate Status Maintainability Rating Bugs Code Smells Coverage Dependency Status

Installation

1: Installez les packages

npm install

ou

yarn install

2: G�n�rez l'application React frontend

npm run client

3: Lancez le serveur de dev

npm run watch

Vous pouvez maintenant vous rendre sur http://localhost:3000 pour acc�der � l'application.

Vous devrez cr�er un compte utilisateur et des personnages (cr�ation en cours d'impl�mentation)

Architecture

Cot� Backend, il y a:

  • Un serveur de jeu, utilisant Redux + ImmutableJS
  • Un service de r�solution de commande (Re�oit une commande, la dispatch dans une queue mono-thread ou multi-thread)
  • Un serveur ExpressJS qui va servir les pages annexes au jeu
  • Un serveur Socket.IO qui sert � faire communiquer le jeu entre le Client et le Serveur de jeu

Cot� Frontend, il y a:

  • Une application React + Redux + React-Router d�di� au jeu
  • l'utilisation des interfaces et ressources du serveur de jeu (pas besoin de r�ecrire les routines)
  • Une UI manag� par Storybook

D�veloppement

Le d�veloppement est d�coup� en 4 phases:

  • pre-alpha (phase actuelle)
  • alpha
  • beta
  • release

la phase pre-alpha corresponds � une version non-fonctionnelle du jeu, il manque encore des �l�ments majeurs. Il n'y a pas de version de test, chaque d�veloppeur s'occupant de son code et ses donn�es. Il n'y a pas de CI int�gr� pour le moment au d�veloppement.

la phase alpha indique qu'un nombre minimal de fonctionnalit� existe, mais qu'il est possible de commencer des phases de test. La structure et les r�gles de jeu peuvent encore changer. Un serveur de test avec des stress-test pourra �tre mis en place.

la phase beta indique que la totalit� des r�gles ont �t� fig� en vue de la release, et que l'ajout des fonctionnalit� manquantes est en train d'�tre fait. Le branching du d�pos de source est mis en place (il n'y a plus de commit en master mais uniquement dans des branches d�di�s avec pull-request, la pull-request doit compiler sans erreur, les tests unitaires doivent passer et couvrir 80% du code au moins). Un serveur de test sera mis en place avec des donn�es persistantes. Si une fonctionnalit� mise en place pose de gros probl�mes de gameplay, le d�veloppement pourra repasser en alpha. Si possible, ce passage en alpha devra garder les donn�es de jeu beta afin de ne pas relancer depuis 0 l'�volution des personnages.

la phase pre-release indique que toutes les fonctionnalit�s sont en place. Il s'agit donc des tests utilisateurs. Les seuls modifications de code pendant cette phase sont les correction de code.

la phase release indique que le code est pr�t � �tre d�ploy� en version 1.0. A partir de cette phase, une nouvelle branche beta sera ouverte pour commencer le travail sur la prochaine version.

About

Eternal War One in NodeJS (server) / React (client) / Socket.IO (interface)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published