Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


Realtime Games in Coffeescript and Ruby

No description

Joseph Weissman

on 22 April 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Realtime Games in Coffeescript and Ruby

and Ruby Realtime Introduction Who am I?
What do I do?
Why am I here? Agenda Let's talk about games! Background A realtime multiplayer game platform,
targeting HTML5 canvas. Vision Multiplayer Game Framework + Batteries Core Technology Rails
Atom Architecture Game Server: Celluloid/Goliath
Web Server: Rails
Messaging: Faye/Firehose.io
Client: Backbone.JS/Canvas Conclusion Simple, realtime multiplayer games are possible targeting the HTML5 Canvas. Demonstrations! Stars Games Browser-based Multiplayer in CoffeeScript and Canvas Applications Open-source technologies
HTML5 Canvas
Realtime webapps
Multiplayer gaming platform Requirements An extensible game server
Streaming resource API
Web "arcade" to host/auth the game
Integration point for third-party components (payments, tracking, etc.) Data Flow Web Server Start Update Game Server Websocket API Sync Provides web front-end
Authenticates users
"Bootstraps" client application data Publishes state to Firehose at regular intervals.

Client entities subscribe to RESTful routes to get updates. Communicates user input to game server RPG Zero Thank you! Questions? Design Ruby on the Server (Rails, Goliath, Celluloid);
CoffeeScript in the Browser (Backbone.JS)
"Resourceful" Pub-sub Data Layer Strategy User input captured and transmitted
Game logic on Server
Smooth syncing between FE/BE Ruby Dynamic Modern Programming Language Powers server-side processes
Game logic
World simulation Ruby permits application logic to be implemented in a modular, clean, powerful and expressive fashion. Rails Ruby Web Application Framework Rails is a model-view-controller
webapp framework designed for sustainable productivity. Favors convention over configuration. Game arcade entrypoint
Authorizes user
Bootstraps client CoffeeScript The Beautiful Heart of JavaScript CoffeeScript is a little language
that compiles into Javascript. Powers client-side experience Backbone.JS Give web apps structure Models, views and collections for Javascript Declarative event-handling Hydrate data from RESTful APIs Firehose.io Realtime web applications Minimally-invasive technique for building realtime web apps No complex protocols; embraces RESTful design Keep Javascript models synced with server Syncs models across network Powers streaming client API Actor-based Concurrent Objects for Ruby Painless multithreaded programming Deadlock-free; fault-tolerant Powers game server engine
Game world simulation "I thought of objects being like biological
cells and/or individual computers on a network,
only able to communicate with messages." (Alan Kay)
Full transcript