Loup-garou

Une application pour jouer au jeu Loup Garou


Sommaire


Le jeu

Le Loup-Garou est un jeu de collaboration et de trahison, populaire inspiré du jeu de société les Loups-garou de Thiercelieux.

Synopsis

Les joueurs vivent une triste époque depuis que leur village est attaqué toutes les nuits par une horde de loup-garous. Chaque nuit, les horribles créatures font une victime.

La situation ne peut plus durer : tous les jours, les villageois se rassemblent pour désigner un joueur suspecté d’être un loup-garou, qui sera alors condamné à mort.

Qui, entre les loups-garou et les villageois, parviendront à exterminer le clan adverse en premier ?

Comment jouer ?

Durant chaque partie, un maître du jeu (MJ) est désigné. Il va alors distribuer les cartes rôles face cachée aux joueurs. Le jeu commence par la première nuit, le MJ va appeler tour à tour les rôles, invitant les joueurs à se réveiller pour accomplir leur tâche. Au matin, le MJ annonce qui a été la première victime des loups, le village se rassemble pour condamner un suspect, puis la seconde nuit commence…

Personnages

Les personnages principaux sont les Loups-garous et les villageois.

La liste des rôles existants est disponible dans Personnage.md.

Les personnages peuvent provenir du jeu de base, d’une extension du jeu, du site officiel loup-garou en ligne, ou ce sont des créations originales des joueurs.

Comme décrit plus bas, il sera possible de créer des rôles directement depuis l’application.

L’application

L’application Loup-garou sera accessible sur smartphone (Android/iOS) et sur navigateur (Firefox, Chrome). Il y aura 3 modes de jeux présents, ainsi qu’une gestion de la communauté.

Modes de jeu

Les 3 modes de jeux disponibles seront :

Un mode de jeu où tous les joueurs sont au même endroit et sans narrateur maître du jeu (avec 1 ou N applications installées) semble compliqué à concevoir, mais n’est pas impensable.

Pages

Architecture

Le graphe ci-dessous représente l’architecture des pages des de l’application :Architecture pages

voir le fichier Pages.dot pour le code source

Fonctionnalités

Voici la description des fonctionnalités de chaque page :

Création de rôles

Pour créer des rôles, l’utilisateur pourra utiliser l’environnement de programmation par blocs présent sur la page Création décrite au dessus. Sur cette page, il y aura un environnement Blockly qui permettra de programmer soit-même des nouveaux personnages. Les blocs utilisables seront les blocs prédéfinis d’algorithmie ainsi que, et surtout, les blocs spéciaux créés pour développer un personnage.

La liste des blocs spéciaux est décrites dans Blocks.md.

L’utilisateur peut à tout moment publier, modifier, supprimer ou retirer ses personnages.

Développement

Priorité

Le premier mode de jeu à développer est le mode Narrateur. Il n’y a pas besoin d’effectuer du développement backend, tout le calcul sera fait directement depuis l’application.

Les rôles de bases (i.e. ceux présents dans le jeu de base, les extensions et sur le site officiel) seront implémentés grâce à la programmation par bloc disponible dans l’application. Autrement dit, ces rôles vont servir à débuguer le moteur de programmation par blocs.

L’application sera développée en Dart avec le framework Flutter et l’IDE Android Studio, afin d’être responsive nativement et cross-plateforme (Android / iOS et navigateur). L’architecture de l’application suivra le modèle Modèle-Vue-Contrôleur.

Le contenu de l’application sera en français, dans la mesure où le jeu Loup-Garou est connu principalement dans le milieu francophone.

Long terme

Les modes de jeux Public et Privé arriveront dans un second temps, dans la mesure où ils nécessitent du développement backend, et donc surtout l’administration d’un ou plusieurs serveurs publics.

La traduction vers d’autres langues sera faite si l’application acquiert une grosse communauté.

Une application Windows pourra être réalisée si nécessaire (supporté par Flutter).

Règles du dépôt

Licence

Comme ce projet est en conception, le dépôt est libre d’accès à la communauté GitHub, sous la seule licence MIT, qui n’est pas trop restrictive.