Not to be outdone by AMD, Nvidia also has a cloud gaming solution, NVidia GridTM. NVidia's site obviously got more scrutiny from the marketing department. Unsurprisingly there are new cards, with the GRID K340 supporting 4-24 players on 5 GK107 GPUs. The website suggests that this means 24 720p30 H-264 streams can be encoded by this card.




AMD has announced a series of new cards specifically for cloud gaming, the AMD RadeonTM Sky Series. These cards are optimised to host up to six games at 720p/30Hz, and provide low-latency throughput. The video coding is apparently done on the GPU itself. The secret bit is the AMD RapidFire technology, but its the type of marketing secret that they don't want to say much about, which makes a change. The site claims that there will be an open (small o) API. One interesting feature, which is more obviously needed when one considers the cloud gaming aspect, is support for the GPU through virtual machines and hypervisors.



Protocols and World of Warcraft

Looking through the talks from the Game Developer Conference 2013, aside from the new excitement about virtual reality (again) and several talks about cloud computing, there was this very technical talk by Joe Rumsey from Blizzard Entertainment about Network Serialization and Routing in World of Warcraft. Slides available from his blog. This talk goes through the issues of building a very large distributed server backend that necessarily supports a variety of protocols and where compression is a worry simply because of the scale of complexity involved and the need to communicate with clients.

The talk is a very good introduction to the topic that we get into in Chapter 7 of the book: Middle-Ware and Messaging Passing systems. At a low level, different processes must agree on message formats to communicate with. There are no standards for this for games that work outside of one piece of middleware. DIS is related to real-time virtual environments but has too much baggage for practical use outside of its original domain (military simulations). Unlike traditional Internet standards (e.g. ftp, SMTP, IMAP), your messages might change very rapidly. This is something that has plagued distributed systems research for a while, and virtual environments also. Although systems such as SOAP and Corba can be used for our purposes, they are very heavyweight and quite constraining to use.

While Rumsey talks about Blizzard's internal tool, he suggests that others look at technologies such as Google Protobuf. This, Apache AVRO and Apache Thrift are three competing technologies for the deceptively simple purpose of sending messages across a connection. They all have a message description language and deal with construction and parsing of messages. They provide language interoperability. AVRO we had been looking at anyway for a future project: it uses self-describing schema for its protocols. This article gives a good comparison of these three. I was particularly concerned about forwards and backwards compatibility between protocol versions and google found me this interesting analysis from Martin Kleppmann.




Perhaps the Flappy Bird phenomena has died down, certainly my high score of 8 is probably never going to improve. However, just for amusement, possibly the simplest ever MMO FlapMMO is still around and still demonstrating that everyone finds the game hard (29% casualties on the first obstacle right now!). Possibly a coursework assignment for next year ...



PS4 and Gaikai

We are gearing up for a new round of consoles, with PS4 being announced and XBox 720 widely rumoured. Friends in the games industry are very excited about the new platforms.
Whilst some people were disappointed in the PS4 announcement because they didn't see final hardware, one very disruptive feature that is announced is the integration with Gaikai on the console itself. The idea behind Playstation Cloud Service appears to be that the PS4 console will make available a rendered stream so that others can fetch video highlights, or even control the console remotely. Its sort of a "reverse Onlive": the servers are distributed and the console is bearing the load of rendering and compressing the video. Its a very interesting idea: get help from friends remotely, demo a new game to your friends or perhaps get technical support? Of course its not a new idea really: VNC, RDP and various remote desktop systems have been around for a very long time. It is claimed to be no cost to the performance of the console which is interesting. Of course, the console is likely to be on the fringe of the Internet so its not clear if the latency to another console on another ISP will be acceptable for games (OnLive have positioned their servers strategically so they have low latency to their clients); in the worst cast Playstation Cloud Service might be double the latency of OnLive. In the best case (geographically colocated and/or on the same ISP) it could be better. Of course the bandwidth will cost someone and in the UK at least, upload rates are throttled a lot lower than download rates.
Anyway, its a very interesting service and we look forward to seeing what use-cases Sony support.