Collaborative story telling with a twist!
JavaScript HTML CSS
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


[The application looks (and runs) best on the latest Chrome browser*.]

Factitious Fiction is a collaborative storytelling game that facilitates cooperation as well as healthy competition.  The application features a unique 2-dimensional grid composed of nine tiles in which the players take turns writing short story elements.  The game pushes the common conception of what defines a story, the structure of narrative, and how a story should be read.  Challenging the norm that a narrative is sequential, immutable, and monotonic, Factitious Fiction uses a structure inspired by Conway's Game of Life that allows players to move tiles and change text.  

The game has no end and continues until all the players are satisfied, and it evolves rapidly as players fill in short snippets (140 character limit) of the narrative.  The players cooperate to create a coherent story that can potentially be read as any traversal through adjacent (no diagonals) tiles that visits each one exactly once.  This places innovative, yet transitive, constraints on the story and can transform even the most mundane plots into a fun and creative challenge!  

The site features a tutorial with basic game mechanics but do not hesitate to e-mail me with comments, questions, or suggestions.  

The code in the repository is only the logic of the application and does not include any of the image files, and it is all licensed under the GPLv3.

Some potential goals of the project are:

*Rapid (collaborative) prototyping/brainstorming of narratives
*Teaching of story elements and plot development
*Storyline editing

The project was written in Ruby using the Camping micro-framework for all of the application logic and views.  Uses jquery and jquery UI for the unique user interface and the interaction of the grid tiles.  And uses a Node.js server written using the package to enable real-time, persistence chat between all players on a given story.

The Ruby code is hosted on Heroku which communicates with the Node server that runs on an instance of Amazon's EC2 platform.

*Since this project is mainly a prototype (and not meant to be put into production) to experiment with different forms of narrative and new web technologies, I did not bother to ensure cross browser compatibility although it should display and function properly on any modern HTML5/CSS3 capable browser.