Cloud World

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 7 November 2013

Build amazing real time games on Google Cloud Platform with Node.js and Websocket

Posted on 14:33 by Unknown
Can you imagine the challenges associated with building a real-time game that has the potential to receive global media attention and a large number of simultaneous players?



Wouldn’t it be great to have a working example that ties it all together? A highly-available, auto-scaling, cloud-based game with interactive mobile clients, a real-time browser display, backend database and compute-intensive services?



We have published a new solutions article that shows how to use Google Cloud Platform services to solve a complex problem in real time and scale during an onslaught of demand. Our example uses free open source (FOSS) technologies, including WebSocket with Node.js, OpenCV and PhantomJS. The article looks into the design of a game called World Wide Maze that lets users turn any website viewed in the Chrome browser into a 3D maze and navigate through the maze using their mobile phone as a tiltable game controller. The game is intended to demonstrate the power of HTML5 and WebGL, and the article takes you behind the scenes to see how the Google Cloud Platform makes it work.




World Wide Maze: Real-time 3D maze game playable with Chrome and mobile devices

One of the biggest challenges when building a real-time game is handling the persistent connections between the clients and servers. In World Wide Maze, real-time communication from the game controller to the game screen needs to be handled within 200 ms. This real-time communication includes:


  • The request from the controller received by the server

  • The request routed to the screen from the server

  • The maze rendered on the screen, based on the request




The article delves into how World Wide Maze is designed and how it solves the real-time communication challenges. On the server side, World Wide Maze uses a combination of App Engine and Compute Engine. Compute Engine accepts WebSocket connections that are used to implement the bi-directional low latency communication between the controller and the screen. Compute Engine is also used to host the database servers and to build game stages. App Engine accepts HTTP requests, orchestrates Compute Engine instances and connects the clients with available Compute Engine instances.



Read more in the article Real-time Gaming with Node.js + WebSocket on Google Cloud Platform.



- Posted by Jeff Peck, Cloud Solutions Technical Account Manager
Email ThisBlogThis!Share to XShare to Facebook
Posted in app engine, Compute Engine | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • SaltStack for Google Compute Engine
    SaltStack was built for the performance, reliability, security and scale delivered by Google Compute Engine . Needless to say we are very e...
  • 2013 Year in review: making Google Compute Engine Generally Available
    2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing ...
  • Why We Deployed Zencoder on Google Cloud Platform
    Today's guest post comes from Jon Dahl, VP of Encoding Services at Brightcove. Brightcove’s Zencoder transcodes millions of video and au...
  • Google Compute Engine and App Engine give Evite freedom to expand services anytime
    Today’s guest blog comes from Dan Mesh, Vice President of Technology at Evite, the pioneer in online invitations and social planning. Evite ...
  • International Offline Disk Import now available with new disk-upload centers in Japan, India and Switzerland
    Google Cloud Platform customers have told us that transferring large data sets (in the hundreds of terabytes and beyond) can be expensive a...
  • Google Compute Engine is now Generally Available with expanded OS support, transparent maintenance, and lower prices
    Google Cloud Platform gives developers the flexibility to architect applications with both managed and unmanaged services that run on Googl...
  • 2013 Year in review: bringing App Engine to the PHP community
    2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing ...
  • 2013 Year in review: giving time back to developers
    2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing ...
  • Update on Datastore Auto IDs
    In the upcoming Google App Engine 1.8.1 release, the  Datastore default auto ID policy in production will switch to scattered IDs to impro...
  • DataStax Enterprise feels right at home in Google Compute Engine
    Today’s guest post comes from Martin Van Ryswyk, Vice President of Engineering at DataStax. The cloud promises many things for database user...

Categories

  • 1.1.2
  • agile
  • android
  • Announcements
  • api
  • app engine
  • appengine
  • batch
  • bicycle
  • bigquery
  • canoe
  • casestudy
  • cloud
  • Cloud Datastore
  • cloud endpoints
  • cloud sql
  • cloud storage
  • cloud-storage
  • community
  • Compute Engine
  • conferences
  • customer
  • datastore
  • delete
  • developer days
  • developer-insights
  • devfests
  • django
  • email
  • entity group
  • events
  • getting started
  • google
  • googlenew
  • gps
  • green
  • Guest Blog
  • hadoop
  • html5
  • index
  • io2010
  • IO2013
  • java
  • kaazing
  • location
  • mapreduce
  • norex
  • open source
  • partner
  • payment
  • paypal
  • pipeline
  • put
  • python
  • rental
  • research project
  • solutions
  • support
  • sustainability
  • taskqueue
  • technical
  • toolkit
  • twilio
  • video
  • websockets
  • workflows

Blog Archive

  • ▼  2013 (143)
    • ►  December (33)
    • ▼  November (15)
      • Compute Engine Load Balancing hits 1 million reque...
      • Dedicated memcache is now generally available in A...
      • Development tips for Google Cloud Endpoints for An...
      • Offline Disk Import and the OmNomNom Machine
      • International Offline Disk Import now available wi...
      • Google App Engine integration features in IntelliJ...
      • Connecting mobile developers to the cloud with Goo...
      • Rovio, Freshplanet, Pocket Gems and others talk ab...
      • Build amazing real time games on Google Cloud Plat...
      • Just Develop IT Migrates Petabytes of Data to Goog...
      • App Engine 1.8.7 and a platform that is great for ...
      • Google App Engine helps MAG Interactive handle exp...
      • Applibot builds social games on Google Cloud Platform
      • How to build scalable mobile games on Google Cloud...
      • Kaplan builds online education platform KAPx with ...
    • ►  October (17)
    • ►  September (13)
    • ►  August (4)
    • ►  July (15)
    • ►  June (12)
    • ►  May (15)
    • ►  April (4)
    • ►  March (4)
    • ►  February (9)
    • ►  January (2)
  • ►  2012 (43)
    • ►  December (2)
    • ►  November (2)
    • ►  October (8)
    • ►  September (2)
    • ►  August (3)
    • ►  July (4)
    • ►  June (2)
    • ►  May (3)
    • ►  April (4)
    • ►  March (5)
    • ►  February (3)
    • ►  January (5)
  • ►  2011 (46)
    • ►  December (3)
    • ►  November (4)
    • ►  October (4)
    • ►  September (5)
    • ►  August (3)
    • ►  July (4)
    • ►  June (3)
    • ►  May (8)
    • ►  April (2)
    • ►  March (5)
    • ►  February (3)
    • ►  January (2)
  • ►  2010 (38)
    • ►  December (2)
    • ►  October (2)
    • ►  September (1)
    • ►  August (5)
    • ►  July (5)
    • ►  June (6)
    • ►  May (3)
    • ►  April (5)
    • ►  March (5)
    • ►  February (2)
    • ►  January (2)
  • ►  2009 (47)
    • ►  December (4)
    • ►  November (3)
    • ►  October (6)
    • ►  September (5)
    • ►  August (3)
    • ►  July (3)
    • ►  June (4)
    • ►  May (3)
    • ►  April (5)
    • ►  March (3)
    • ►  February (7)
    • ►  January (1)
  • ►  2008 (46)
    • ►  December (4)
    • ►  November (3)
    • ►  October (10)
    • ►  September (5)
    • ►  August (6)
    • ►  July (4)
    • ►  June (2)
    • ►  May (5)
    • ►  April (7)
Powered by Blogger.

About Me

Unknown
View my complete profile