interactive social story telling platform (web and mobile apps)

This project consists of a interactive and dynamic social story telling platform.

The users will either play the role as director or player.

One story session has a director and one or more players.

The project could be seen as a platform where users create a story together, which evolves in time. The story will be highly interactive, because players and director have control and interact while the story is developing.

The project could also be seen as an online (very free-form) role-playing adventure, where each user plays it's own character and the director facilitates in events, settings and non-player-characters.

Player dialogue can be done through text, sound recording and/or camera /video.

Photos and images can be used to describe scenes and locations, and can also contain clickable areas to designate actions, objects and other interaction (similar to point-and-click adventures).

The project consists of a web-based application for the director and players, and the player client should also be made available through mobile apps for the iOS and Android platforms.

The web app should be build using the Java platform and the mobile apps preferably using standard web technologies (HTML5, CSS3 and Javascript) together with Sencha Touch (or JQuery Mobile) and PhoneGap. PhoneGap can build the mobile apps from standard web technology (instead of using native code). The web app and mobile apps should share the same code base as much as possible (by using the same web services, through HTTP+JSON).

**Please read detailed project requirements below before making a bid:**

## Deliverables

**Global story session settings:

- overall story description

- story type (thriller, drama, adventure, horror, war, action, crime, fantasy, sci-fi, film-noir, romantic, western etc.).

- story keywords (vampire, zombie, detective, space ship, magic, time travel, kidnapping, police, murder, robot, monster, spies, etc.)

- story time period (current time, far future, middle ages, roman, victorian, old west, ancient history, japan era, etc.)

- possible types of player interaction which can be assigned by director to actions:


**- predefined action description by director (always enabled)**

**- free text the player can use to describe the action he/she wants to take**

**- free text for player dialogue**

**- voice recording for player dialogue**

**- camera recording for player dialogue**

**- click-able images/photos**

**- estimated duration of session (real-world time)

- estimated duration of session (virtual world time)

- out-of-story (or out-of-character) communication between director and players allowed (none, one-way, two-way); this could be used for example by the director to give directions to the players, or by the players to explain their actions or intentions to the director, or it could be used by the player to express wishes for the long-therm direction of the story. Normally this feature should be used very minimal, and it's important that after completion of a story session that all communication is visible for all the players of the story (to keep things fair and transparent). Note that out-of-character communication between players is never possible.

- max amount of time allowed for each player turn (each turn can define it's own time limit however, which can also be lower, but never more than this setting).

- max amount of time allowed for the director between player turns.

- private or public (when public, a story session can be completely viewed after it has been finished by all players; private sessions will never become visible for other players)

- drop-in player characters allowed

- number of players (or min and max when drop-in actors are allowed)

- collection of images (which could be used as example to set atmosphere or which can be used later as click-able images for user interaction (different areas on the image are linked to different user actions).

Settings per turn (defined by director):

At each moment, the director can assign to each player at most one turn. This means that at the same time, multiple players can be active (have a turn). The director decides if this is possible or not. So turns can be completely sequential during the whole session, or concurrent a few times during the session. This is all up to the director. When player characters meet in the story it will become almost certainly required to take turns (for example dialogues or action scenes with multiple players), else it will become very difficult to manage the different actions of the players, because each action will probably have an effect on the other player(s). Basically it could be said that any type of interaction between players should be handled by the director by defining sequential turns. Only for moments in the story where it's logical/plausible that there's not any player interaction, the director should define concurrent turns, which in this case has the advantage that players can advance in the story quicker because only interaction with the director is required (which can also be limited, if there are many actions defined which do not require director confirmation).

At any point, the direct can 'freeze' (deactivate) the current active turns, and define new ones. This can be used for example to have control over the story line at any time, to insert surprise events, or when players (suddenly) meet and should interact with each other (according to the director, which is possible for example when players are taking concurrent turns, and suddenly the director believes they are visible to each other or have any other effect on each other).

- for which player character

- description of current situation; for example, a description of what happened during previous turn(s) by other player(s), and how that is visible/hearable or had any other effect on the current player and situation.

- any dialogue from previous turn(s) by other players, or non-player-characters (NPC's, controlled by director)

- description of current setting/scene (optional, since it can also be described/presented by using images/photos); also, it's possible to easily copy this from any previous turn(s), because many times the setting/scene will not change for a few turns.

- date and time limit for player response (before this date and time the player should respond and choose action). When player still didn't respond (after warning notification), other players and director can vote whether the story session should be continued or not without this player character.

- each turn defines a set of possible actions (see below for settings). Example actions are moving, going through a door, dialogue, shooting, taking objects, using objects, taking cover, hiding, crawling, running etc.

- the possible actions for a turn are defined by the director in a list; it's possible to predefine another turn for each action. This means that after the player chooses that action, another turn will automatically start for the player. When there's no predefined next turn available for an action, the player will have to wait for the director to define a new turn for the player, or another player gets the turn. It's also possible for the director to wait until other players have also finished their turns (in case of concurrent turns).

- a turn can (optionally) define a set of images. Each image can contain different click-able areas. Each area corresponds (is linked to) to a specific action. This can be used for example to display different locations to go to on (world) maps (target locations) or possible actions to take linked to objects displayed in a photo of a room or outdoor area etc. It's also possible to designate the current position of the player, and even other player(s), on these images/photos. Basically each area is linked to an action, and each action results in a new turn with it's own definition of areas (so objects, target locations and player locations can be added, moved, removed, etc. between turns).

- each player has his/her own state during the whole session, which is technically just a list of text items so that this can be functionally used as freely as possible. It could be used for example as an inventory of objects, but also designate the health state of the player, amount of cash, weapons, emotional state, scars, etc. It's also possible to group these items, to present state in separate lists, for example an inventory and a health state. To define how the state changes for a specific action, the director just needs to define the new state for the predefined turn linked to that action. For example, when the player clicks on an object in the image (which is an action), the state for the next turn can include that object in the inventory of the player. Or when the player chooses an action to walk somewhere dangerous, it's possible have the health state (percentage, number, any free text) reduced for the next turn.

- it's possible to link an action to an item in the state list. This can be used for example by the director to give the player the option to use objects from the inventory (light something on fire, use a weapon, throw an object, read a book, put on new clothes etc.)

Settings per action (defined by director):

- action type:


**- predefined action (text description) by director,**


**- custom action (free text) described by player**

**- dialogue (text dialogue, voice recording or camera recording)**

**- linked to a click-able area on image/photo**

**- linked to an item in the state list (for example inventory item)**

**- amount of virtual time it takes (displaying calculated virtual time when completed). Going to a place/location is also an action, each with it's own amount of virtual time required, so there could be a list of possible moving actions)

- each action can be linked to a predefined next turn, in which case the next turn will automatically start for the player. For custom player actions and any type of dialogue it's not possible to predefine a next turn for an action (because these actions, and so their effects, cannot be known in advance).

general use-cases:

- overview and search/filter for directors and detail page for director stats (number of sessions directed, total story time directed, total number of players directed, active since date, number of cancelled sessions voted by other players etc.).

- overview and search/filter for players and detail page for player stats (number of sessions played, total story time played, number of drop-in-sessions played, active since date, number of cancelled sessions voted by other players etc.).

use-cases for director:

- start a story session

- select a requested story session to start

- invite players for a new story session to be started

- invite drop-in player during story session

- overview of all turns and actions for each player

- receive notifications for each player action

- receive notifications for director invitations

- receive warning notification for reaching time limit of session

- receive notification to vote for exceeding time limit of other player

- add and modify turns (which includes assigning it to players, and activating or deactivating/freezing turns).

- add a new turn based on another previously defined turn (settings are copied and can be changed).

- send out-of-character message to player (for a specific story session)

use-cases for players:

- overview of open game sessions requiring players

- request a story session to be picked up by a director by submitting a story description and other requirements the player would like to see in the story session (for example story type, story time period, keywords etc.)

- invite a director for a requested story session

- overview of played story sessions and for each story session a detail page with all turns and actions taken by all players

- overview of active story sessions in progress

- invite other player(s) for a new story session to be started (for example friends)

- receive notifications for each turn assigned to the player (activated)

- receive notifications for player invitations

- receive notifications when director deactivates/freezes current active turn

- receive warning notification for reaching time limit of session

- receive notification to vote for exceeding time limit of other player

- send out-of-character message to director (for a specific story session)

Other requirements:

- support for multiple active story sessions per user (for both director and player).

- support for notifications per e-mail and in-app (both web and mobile). When sent by e-mail, it will contain a link to the related story session.

- there should be an online editor for the images that can be used to designate the clickable areas for actions, and the player locations. It should be very easy to define (add, move and remove) areas (such as objects, locations to move to etc.) and player locations for each action in a turn, so it's probably a layer drawn on top of the original image.

- the director interface can be fully web-based, and does not require a mobile web application.

- when the director is predefining turns, these should be presented in a tree, so that the different story paths are very easy to identify and modify by the director.**

Skills: Game Consoles, Game Design, Java, Mobile App Development, MySQL, PHP, Software Architecture, Software Testing, Web Hosting, Website Management, Website Testing

See more: social story time limit, which java collection to use, what's new in css3, what is new in html5 and css3, what is monster, what is ios 7, what a sound editor needs, western health advantage, web video actors, web search the social web, web search remove, web page making easy, web page apps, web online camera, web editor app, web application inventory, web and mobile apps, Web and Mobile, voice to text android, voice over services online

About the Employer:
( 0 reviews ) Utrecht, Netherlands

Project ID: #2705619