Gaia - usecases and mock-up

First chat
When I land on the home page, a first chat happens where I am introduced to an unknown person.

Some buttons are there on the interface but they are not accessible yet, only the chat is.



First mission
At the end of the chat, the person offers me to accomplish a first mission. I now have access to the mission console window if I want to open it.



In our example, the player needs to find a word somewhere on the web and submit it in the chat.

When the player enters a text and submits, if the text is wrong, the person tells so to the player.

If the text is correct, the person congratulates the player, and brings him to the next step.

Trust management
In this new step, the person explains the player that if we wants to go further, he needs to gain the trust of the organization the person is working for. For this, the player will need to earn the trust of the various departments of the organization. First, the status console appears and shows the organization trust level, and the departments trust levels (the average of these levels determines the organization trust level)  :



With this console, the player can now work on his relation with the organization. The status console is explained in the 'status console' paragraph.

The status console is accessible, if closed, through the corresponding button on the lower bar.

The player now has access to all game windows through the lower bar. These windows are described in the next paragraph.

[Todo : implement in game missions that explain step after step how the status console works]

Game interface
When all windows are open, the game looks like that :



We've already mentioned the chat, the Status window and the missions window.

The websites window lets the player manage all elements related to the web sites he (or the organization, TBD) owns, including the hack and scan (will be renamed). More details in 'websites' paragraph.

The options window lets the player reach the community website and chose the language.

The login is situated on the upper right of the browser, more details in 'other elements of gameplay and interface' paragraph.

Status window
Make the following values configurable in the config file (refill rate, level points, jauge values and points earned rate, etc.), to make it easier to adjust the gameplay.

Build the trust
The trust has a level that appears in the upper right of the status console.

The trust reaches the next level by earning trust points.

Trust points are earned by completing missions (see paragraph Manage missions) and/or by maintaining high the trust gauge (see paragraph Maintain the gauge high).

Levels :


 * level 2 : 100 points
 * level 3 : 200 points
 * level 4 : 400 points
 * level 5 : 600 points
 * level 6 : 900 points
 * level 7 : 1200 points

For now, let's assume that each 2 levels, it takes an additional 100 points to reach the next level, as in the example above.

Maintain the gauges high
The trust gauje represents the overall amount of trust the organization has towards the player. The level of the gauge is the average of the levels of the 6 gauges below.


 * If the gauge is more than 2/3 full, the player earns 10 trust points per hour.
 * If the gauge is between 1/3 and 2/3 full, the player earns 5 trust points per hour.
 * If the gauge is less than 1/3 full, the player earns 0 trust points per hour.

Each one of the six lower need gauge empties itself progressively with time. Any full gauge empties itself completely in 5 days, through a regular decrease.

The player can increase the level of each gauge by performing a mission related to it.

For this, the player must open the missions window and select in the drop-down menu a mission related to the department. This action will trigger a specific mission that will partly fill the gauge again (and also provide trust points, see the paragraph Manage missions for more details).

Each department will give the player its own set of missions. See missions ideas for example.

Once a mission is triggered, it will appear in the mission console (see paragraph manage missions) and the chat will unfold the content of the mission.

Manage missions
At any point, the player can open the console mission through the 'mission console' button in the lower bar.

Here are the various possibilitites that we can have in this console :


 * Name : provides the name of the mission and the associated department.
 * Status :
 * 'Processing' : once the player starts the mission, the status stays on processing for the time necessary for the entity to prepare the mission. A bar shows the progress, and the time remaining to process is displayed next to it.
 * 'Active' : it's the player's turn to act accordingly to the objective of the mission. He can check what is supposed to be done in the chat window.

A mission is associated to one (or more) level(s) of trust. Each level has a pool of missions associated to it.


 * When the player picks a mission, it is randomly chosen in the pool (and it corrresponds to the associated department).
 * For instance, if the trust is at level 2, the player won't access the level 1 missions anymore, and not yet the level 3 missions.

Rewards of mission :


 * A mission associated to a department will refill partly the associated gauge.
 * Given that we said that a gauge empties itself in 5 days, we can for instance define that always doing mission for a specific department will be equivalent to filling 1,5 times the gauge in five days.
 * Therefore, if the mission processing takes 1 day, the associated refill will be 1,5/5= 0,3 of the gauge.
 * If the mission processing takes 2 days, the associated refill will be 2x1,5/5= 0,6 of the gauge.
 * etc...
 * All missions will give trust points.
 * Each mission will be associated to a specific number of points that will be defined in another document [Missions document that will describe the first missions and their priorities, TODO].
 * This number of points will vary according to the associated level, mostly.

Concurrent missions :


 * The player can perform different missions at the same time, but only one for each department.
 * therefore, if a mission related to a specific department is already active or processing, it is not accessible through the drop down menu of the mission window.
 * Therefore, a total of 6 concurrent missions. As a consequence, the player is limited in the amount of time he can spend playing by two things :
 * 6 concurrent missions max (and associated durations related to these missions)
 * Number of hack/scan points.

Unfolding of a mission
Let's give an example of the process of a mission, from A to Z :


 * The player opens the status console and choses a department jauge he wants to fill. Let's take the Central security department for instance.
 * He then opens the mission window, and chose an 'Central security' mission from the dropdown menu. The mission then appears in the mission window.
 * The chat blinks, the contact from Central security tells him about the mission and starts processing it.
 * At any point after that, the player can open the mission window to see what's the status of the mission and if it's still processing.
 * Once the processing is over, the mission becomes active. The chat button should be blinking at this time to show the player that he must open it.
 * In the chat, the contact says that the processing is over and that the player should perform his part.
 * The player accomplishes the mission, for instance hacking 3 sites that share a givent tag.
 * Once it's done, the contact congratulates the player in the chat and gives him some rewards. There should be a clear sign of the reward (maybe a pop-up to start with). The mission disappears from the mission window.

Recap : parameters of a mission


 * name
 * one or more associated level(s)
 * chat content (three parts : introduction/part that must accomplish the player/conclusion)
 * duration or the 'processing' part
 * association to a department
 * reward : quantity of refill of jauge, and trust points.
 * Action to be performed by the player

Websites (Hack &amp; Scan) :
This window displays all elements related to websites and hack/scan


 * hack/scan, and attached elements related to the current website the player visits :
 * For now, let's keep the same hack/scan features that we currently have.
 * It can be used as a part of a mission, or freely by the player.
 * The mission success relies on the sites already owned by the player (or by the organization, TBD). For instance, if the mission asks the player to hack three sites with the tag 'news' and the player already owns two of them, he only needs to hack one more in order to complete the mission. Let's do this in order to give an additional incentive to hack/scan at any time and not necessarily for a given mission.
 * Home, list of websites, rank, leaderboard.
 * Home : one of the first missions provided by the pershould be to hack the so-called home page. Then, the button "Home" on the entity console becomes enabled, and the player can find on the home page the information he sees in the current version of the game.

Limited playing each day
There are two factors that limitate the amount of playing :


 * 6 concurrent missions max. Each one takes some time to process.
 * Number of hack/scan points.

We'll see once we have the prorotype how much players can play, what they want, and tune accordingly.

Login/Register
Situated in the upper right of the browser, there are two options :


 * Logged in
 * Display the login name on the bar
 * Clicking on it prompts a dialog box to confirm logout
 * Anonymous Display
 * "Save session / Login" on the bar
 * Prompt a window with two tabs: the registration form &amp; login form (registration displayed by default)