Making collaborative games happen

Overview

Help us evolve the landscape of collaboratively-editied games and software. Share ideas, solutions, and help push the boundaries of CS and collaboration.
We're trying to apply the ideas behind Wikipedia's success to gaming, and build games that become self-sustaining and grow exponentially.

CS topics include continuations, continuation serialization, granular sandboxing, dynamic code loading, code hot-swapping, STM, and data persistence/integrity in the presence of these features.

We also want to discuss how to expose collaboration features to users in an inviting way, and psychologically orient games so users enjoy extending them.

Mailing list

If you are subscribed, you can e-mail moc.spuorgelgoog|semag-evitaroballoc#moc.spuorgelgoog|semag-evitaroballoc to communicate with the group.

If you have/want a google account, join using this link.

Otherwise, use this link to simply subscribe.

The archives are located at http://groups.google.com/group/collaborative-games

Roadmap

The two platforms that meet the requirements (dynamic, serializeable continuations, and sandboxing) are currently Rhino and Lua.

The Lua based approach is currently being developed at the weaver-lua repository on github Milestones 1, 2, and 6 have been accomplished.

Read the resources page, specifically the platforms page for exhaustive information and links on why your favorite language will (or won't) work.

Two plans, one on each technology stack, are being defined.

  • Plan A defines the roadmap for the Rhino-based system
  • Plan B defines the Lua-based appraoch.

Feature list (for Milestone reference)

  • Script execution
  • STM/Copy-on-write to allowing easy branching of the world.
  • Weaver synax support - Allows logic-light modules to be implemented without understanding of coding.
  • Visual coding support - drag-and-drop graphical coding
  • World branching support (requires copy-on-write implementation)

Milestones

Milestone 1

Script storage: Filesystem
Syntax: No extensions.
Execution: No sandboxing, all scripts loaded in memory.
Data storage: Only continuations provide any kind of state.
Editing: No support.
API: Display interaction only.

Milestone 2

Execution: Load only scripts that are needed

Milestone 3

Execution: Allow granular sandboxing

Milestone 4

Storage: Unify script and data storage in a tree-like data structure. Sandboxing permissions (for both data and scripts) and merging hints could exist as a metadata fork.

Milestone 5

Syntax: Add support for simplified syntax

Milestone 6

Add support for web-based editing.

Links and resources

I've broken this page out into several sub-pages:


Wiki reference information

  • Your Wikidot site has two menus, one at the side called 'nav:side', and one at the top called 'nav:top'. These are Wikidot pages, and you can edit them like any page.
  • To edit a page, go to the page and click the Edit button. You can change everything in the main area of your page. The Wikidot language is easy to learn but powerful.
  • You can attach images and other files to any page, then display them and link to them in the page.
  • Every Wikidot page has a history of edits, and you can undo anything. So feel secure, and experiment.

=