A short update to my earlier post about turn-based gaming on CouchDB: I didnít get far with creating a re-usable library from my werewolves game. Instead, Lunacyís original code is now on GitHub:
It may be an example of how multiplayer games can be created using CouchDB, or a fun project to help hacking on. :-)
In case anyone is still interested in using this to create a general CouchDB game development kit, Iíd be glad to share my ideas and unfinished code.
Is anyone interested in using and contributing to a toolkit for creating turn-based games with CouchDB? Or anyone else working on this already?
Thereís a lot of boilerplate code involved and it seems that Iím reinventing the wheel, along with others who make games like Draw Something and Words With Friends. My current toolkit contains:
- design docs for summarised game lists, notifications, data security;
- object-oriented syntax for game rules, easy bot creation, game state management;
- an implementation of friend lists and group chat;
- AngularJS modules to create interfaces to games, authentication and profiles;
- node.js workers for user registration, on-demand replication and notifications;
- an iOS shell using TouchDB for sync and WebView to render the game;
- a Chrome App shell to easily access privileges like notifications and data sync;
- a Ďfree trialí limitation and payment handler using Google Wallet.
I hope to include:
- auth, friend lists and sharing through Facebook;
- notifications, payments that are native to iOS;
- an port of the iOS shell to Android.
If thereís interest, I can release the boilerplate code under APLv2. It would mostly look like a compilation of existing libraries, configured together to work smoothly. With some help, we could make this into a toolkit that should work for all kinds of board games, card games and RPGs. (Itís the multiplayer gamingís new revolution !) The goal would be making it easy for users to get started and to focus on game logic and playful interfaces.