Skip to content

Winner of the Swiss Game Award 2022 for Best Serious Game. Open-Source Historically accurate RPG based in 1830s Lausanne.

License

Notifications You must be signed in to change notification settings

GameLab-UNIL-EPFL/Lausanne-1830

Repository files navigation

Lausanne-1830

Open source historically inspired role-playing game based on 1830s Lausanne.
Winner of the Swiss Game Award 2022 for Best Serious Game.

Lausanne1830 Prototype Screenshot

Game Design

Jeu vidéo pédagogique qui sera utilisé dans les écoles lausannoises (12-16 ans) ayant pour objectif de retranscrire Lausanne en 1830. Le but du jeu est de compléter le registre de la population et de retrouver les informations manquantes sur cinq personnages habitant Lausanne en 1830 à travers la résolution d'enquêtes.

Pour cela, le joueur ou la joueuse pourra se balader dans plusieurs espaces accessibles par l'intermédiaire d'une carte, à savoir :

  • La place de la palud
  • Un moulin du Flon (vue extérieure et vue intérieure)
  • L'extérieur du Casino
  • L'intérieur de la brasserie Truschel

Educational video game that will be used in schools (12-16yo) to teach the history of Lausanne in 1830. The goal is to complete the given notebook and find missing information about five characters living in Lausanne at the time. The player can explore different places that can be accessed through the map.

Dev

Game currently being developped using the Open-Source Godot game engine.
Godot version: Godot Mono v3.4-stable

Requirements:

  • OpenGL 3.3 / OpenGL ES 3.0 compatible hardware
  • For the Mono version: MSBuild (from Visual Studio Build Tools or the Mono SDK)

Input Map

  • E: Interact.
  • Arrow keys / wasd: Move around.
  • Hold Shift: Sprint (for 3 sec then 2 sec cooldown).

Dialogue File Format

Dialogue is formatted using XML.

Example:

<scene name="palud">
    <dialogue type="onApproach" id="testApproach" ntargets="1">
        <text>
            <option id="0">Du pain frais de ce matin !</option>
            <option id="1">Venez goûter !</option>
        </text>
    </dialogue>
    <dialogue type="onDemand" id="testDemand" ntargets="1">
        <text>
            <option id="0">Bien le bonjour, qu'est-ce qui vous intéresse ?</option>
            <option id="1">Pain, croissant ?</option>
        </text>
        <text>C'est fait ce matin avec la farine des Rochat !</text>
        <text>Vous devriez aller visiter leur moulin au Flon.</text>
    </dialogue>
</scene>

Here we have the following format:

  • scene: defines a scene, contains an attribute name which is the name of the scene.
  • dialogue: defines a set of dialogue lines, contains the following attributes:
    1. type: Defines how the dialogue is triggered (either onDemand or onApproach).
    2. id: A unique identifier used to locate the dialogue.
    3. ntargets: The number of NPCs in the conversation.
  • text: The core text of the dialogue, contains and id defining the index in the dialogue it is at.
  • option: In the case of random dialogue, an option is one of the options for a given text, id is the index of the option.

About

Winner of the Swiss Game Award 2022 for Best Serious Game. Open-Source Historically accurate RPG based in 1830s Lausanne.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published