I’m almost finished with a plugin that spawns a web server at whatever port/path you choose and allows you to interact with game objects via insanely fast (and very simple) restful web services.
Some features:
MUCH better than WCF, much faster, code first, code and configuration free
Seconds to setup (drag drop done)
Get, post, put, delete, options, etc all supported
Html, css, js, etc served from location of your choice
Mobile support (both host and client)
Built in auto html5 report format for data
Return any object from services
Simple service routing ( [Route(“/api/players/{name}”)] for example ) with templating
Built in near native speed micro orm
supporting various databases (in memory / flat / server)
no code (just add a component) mapping to game objects (automatic persistence)
simple query syntax:
Db.Select(p => p.name == “myplayer”)
var player = new player { name = “myplayer” };
Db.Save(player);
JSON, xml, html service output
Markdown support
SPA or single page application with angularjs - builtin example
Twitter Bootstrap - builtin example
Simple rest service client
Very simple IOC container
More…
Its obviously all multithreaded and in my testing even spawning/persisting 1 000 000 objects didn’t drop my framerate while my game was running. Nor did a load test of pulling all 1 000 000 objects back out.
I’ve got some examples with facebook integration, in game chat, a screenshot service that will shoot an ingame image to the browser, and a debug inspector, just messing around with it so far.
I’m kind of thinking it would be nice to use for controlling a multiplayer lobby, sharing leaderboards, etc. I guess since its all integrated all that is sorta boundless…
What would you use it for?
Anything I should include in the plugin as example/seed?
How much would you pay for it?
What other features would you like to see?