incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sander Dijkhuis <m...@sanderdijkhuis.nl>
Subject CouchDB toolkit for turn-based games
Date Mon, 22 Apr 2013 06:54:41 GMT
Is anyone interested in using and contributing to a toolkit for creating turn-based games with
CouchDB? Or anyone else working on this already?

As a hobby project I’m working on a web-based multiplayer werewolves game [1]. It works
in the browser with CouchDB in the backend, and for mobile I’m working with TouchDB [2]
and WebView. CouchDB is a nice fit because of the ubiquitous JavaScript, security features,
data replication and the real-time changes feed. Each game is a separated into a set of docs
to make sure a player cannot access another player’s secrets.

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 [3]!) The goal would be
making it easy for users to get started and to focus on game logic and playful interfaces.

Sander

[1] http://playlunacy.com/
[2] http://touchdb.org/
[3] http://www.wired.com/gamelife/2012/04/asynced-gaming/all/
Mime
View raw message