Projet Enigma

Introduction

Enigma est une double application : une partie "éditeur" qui permet de créer des escape games, et une partie "jeu" qui permet d'y jouer.

Il s'agit d'un logiciel/jeu 2D, qui peut être joué seul ou à plusieurs.

Les ressources tels que les sons, les salles, les personnages etc... sont fournis. Il ne reste plus qu'à l'utilisateur d'assembler les salles et de créer des énigmes à partir de morceaux d'énigmes pré-configurées.

Une documentation utilisateur de l'éditeur a été rédigée et est disponible dans l'éditeur.

  • Date de sortie : 12 février 2020
  • Équipe : Louka Doz, Loïc Sénécat, Jorys-Micke Alaïs (v0-v2), Moi
  • Roles dans l'équipe : Scrum Master, Développeur
  • Contexte : Développé dans le cadre des projets tutorés de 2ème de DUT Informatique. Tuteur de l'IUT : Luc Hernandez.
  • Version : 3.0 (éditeur), 2.0 (jeu)
Présentation générale

L'utilisateur va commencer par placer des salles, puis des objets ou des personnages sur la map.

Lorsqu'il clique sur un personnage, il est possible de faire des actions sur lui, comme donner un nom à un personnage.

Il peut également leur associer une énigme, qui est de la forme: si <conditions> sont vraies alors <opérations> sont effectuées. (une condition peut être par exemple d'avoir tel objet dans l'inventaire et quel tel bouton soit "activé" ; une opération peut être "ouvrir porte" "ou encore fin du jeu")

Une fois en jeu, l'utilisateur résous des énigmes en un temps limité, jusqu'à atteindre la sortie ou terminer une énigme dont l'opération était de finir le jeu.

Fonctionnalités de l'éditeur
  • - Déplacer des objects, salles, personnages, meubles sur la map.
  • - Ajouter des énigmes (changement de musique, utiliser un objet pour déverrouiller une porte ou un coffre ...)
  • - Déplacer la map dans l'éditeur, zoomer et dé-zoomer
  • - Raccourcis basiques (sauvegarde, revenir en arrière, ect...)
  • - Supprimer un object (gomme et menu)
  • - Customization des entités (Donner un nom à un personnage, remplir le contenu d'un livre, donner des objets à un personnage...)
  • - Tester son escape game directement dans l'éditeur
Présentation technique

L'éditeur a été codé en Java 8-11 (swing) avec utilisation via un canvas de la libgdx.Le jeu a été entièrement codé avec la libgdx.

Les ressources sont libres de droit, elles ont étés obtenues sur itch.io.

Le logiciel est disponible en français et en anglais.

La librairie est un fichier json. L'éditeur s'adapte automatiquement au contenu du fichier.

Le projet a été développé en utilisant la méthode Agile-Scrum.

L'application a été améliorée suite aux retours de notre tuteur (Luc Hernandez), de nos envies et nos idées et surtout des retours des testeurs.

Merci à Valentin Dreano, Nicolas Fafin, Antoine Man, Clément Ruer, Pierre Ribollet, Maxime Huyghe, Thibault Meynier pour avoir testé notre application.

Fonctionnalités du jeu
  • - Déplacement du joueur, collision avec d'autres joueurs, collision avec les murs
  • - Musique et sons en jeu (grincement de porte à l'ouverture, etc...)
  • - Correction Y, les joueurs les plus lointains sont affichés derrière ceux plus proches
  • - Inventaire, déplacement des items d'un coffre vers l'inventaire et réciproquement. Possibilité de jeter ou utiliser des items.
  • - Fenêtres de dialogues pour afficher les textes
  • - Temps limite pour l'escape game
  • - Lobbies pour lancer en multi-joueur

LOGS

  • version 2.2
    2020-02

    - Sortie du jeu

  • version 2.1
    2020-02

    - Ajout de nouveaux types d'énigmes

  • version 2
    2020-01

    - Refonte entière de l'interface de l'éditeur

  • version 1
    2019-12

    - Sortie de l'éditeur