Chilly Framework - multiplayer platform for HTML5 games (or just syncing stuff between clients)

188 views
Skip to first unread message

Taj Pelc

unread,
Apr 8, 2012, 3:48:42 PM4/8/12
to nod...@googlegroups.com
Hi,

we just released the first version of Chilly Framework. We needed a way to serve static files and sync all the actions that a player does between clients for a multiplayer browser tank game that we are developing. We abstracted the framework and released it as open source. It has worked great for us and we hope that someone else might find it useful as well.

It acts as multiplayer server which also serves static files and uses Ajax requests to transfer data between the front end and the back end. The main feature is syncing player actions or broadcasting data across multiple clients using Chilly update channels.

Behind the hood requests and long-polling are handled by Chilly. We provide an interface to use these features easily.

The back end logic of a game can be built using Chilly Framework methods and if needed, additional Node.js modules like MySQL support, can be added easily using NPM modules.

Chilly front end script takes care of ajax requests and broadcasting updates. And triggers updates whenever a client receives data. Developers are free to use whatever suits them to build the game. We used the CraftyJS library for graphics and animations, jQuery for the UI and SoundManager for the sound.

Of course it can also be used to create any other web application that requires grouping clients into a context and syncing changes between them.

You can get it through the NPM by calling:

npm install chilly

We also set up a homepage with more information here: http://chillyframework.com/
GitHub project: https://github.com/TajPelc/Chilly-Framework

If you have any questions, feature requests or would like to contribute, don't hesitate to contact me. Documentation is slim at this point, a matter I am resolving, but code is well documented.

Best regards,
Taj Pelc
Lead developer

Derek Chalmers

unread,
Apr 8, 2012, 6:04:11 PM4/8/12
to nod...@googlegroups.com
Wow! This looks like it might be exactly what I need

-- DC

--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Alan Hoffmeister

unread,
Apr 8, 2012, 11:02:18 PM4/8/12
to nod...@googlegroups.com
Awesome! I will use it for some project in the future for sure!

Thanks!
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


--
--
Att,
Alan Hoffmeister

Alan Hoffmeister

unread,
Apr 8, 2012, 11:35:40 PM4/8/12
to nod...@googlegroups.com
Just a question: are you using socket.io for server communication?


Em domingo, 8 de abril de 2012, Taj Pelc escreveu:
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Taj Pelc

unread,
Apr 9, 2012, 5:58:02 AM4/9/12
to nod...@googlegroups.com
No, we are currently using long-polling. For any update channel that you define, a recursive ajax connection is made to the server which is then frozen until there is something to push through it. The front end script then calls the user defined action and passes data to it, then automatically reconnects back to the server.

Socket.io support may come in a future release.

Dne ponedeljek, 09. april 2012 06:35:40 UTC+3 je oseba Alan Hoffmeister napisala:
nodejs+unsubscribe@googlegroups.com

For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Lou-adrien Fabre

unread,
Apr 9, 2012, 7:38:10 AM4/9/12
to nod...@googlegroups.com
Looks nice! But as it has been said before, I'd greatly appreciate the use of Socket.IO, just even to say you're using web sockets ^^
I think the security offered by the fallbacks between websockets/flashsocket/long-polling is greatly valuable towards the kind off context a cross platform game would live in...

Taj Pelc

unread,
Apr 9, 2012, 8:19:23 AM4/9/12
to nod...@googlegroups.com
Agreed, it is definitely something that I want to include in the future. The framework works and cross platform support should not be a problem even now, since long-polling is the last fallback that Socket.IO makes. But it isn't as fancy or efficient. Yet. :)
Reply all
Reply to author
Forward
0 new messages