- From: Tobie Langel <tobie@fb.com>
- Date: Thu, 26 Jul 2012 21:57:02 +0000
- To: "public-coremob@w3.org" <public-coremob@w3.org>
Trying again with hopefully better formatting this time. Sorry for the double post: Hi, I was assigned action-26, to provide numbers for required sprites/fps in games. Here are numbers for 2D games in mobile browsers. I lifted those from Cory Ondrejka's Tech Talk which he gave early last year[1] when he announced JSGameBench[2]. In his talk, Cory first compares the user experience provided by different kinds of framerates: +-----------------------------+-------------+--------------------+ | Event | Time (ms) | Frame rate (fps) | +-----------------------------+-------------+--------------------+ | Timed button click | 100 | 10 | +-----------------------------+-------------+--------------------+ | Minimal interactive frame | 50 | 20 | +-----------------------------+-------------+--------------------+ | Smooth interactive frame | 33 | 30 | +-----------------------------+-------------+--------------------+ | Hardcore gamers are happy | 16 | 60 | +-----------------------------+-------------+--------------------+ This brings him to settle on 30fps as the sweet spot for 2D mobile gaming (lower isn't smooth enough, and higher isn't really worth it for most casual games). So the idea is to see how many sprites a device can animate while maintaining a minimum rate of 30fps. As seen in the below table, different games types have different requirements: +-----------+---------------------------------------------------------+ | # sprites | Game Types | +-----------+---------------------------------------------------------+ | 5 | Board games, card games, word games. | +-----------+---------------------------------------------------------+ | 25 | Classic arcade and light action games, simple isometric | +-----------+---------------------------------------------------------+ | 50 | Real-time strategy games, complex isometric, shooters. | +-----------+---------------------------------------------------------+ | 100 | Most 2d, 2.5d game types. | +-----------+---------------------------------------------------------+ Going with this approach (we can always refine the data if we want) allows us to settle on a minimum framerate (30fps) and require a given number of animated sprites depending on the kind of games we want to enable (our use cases). The wording I used in the coremob spec[3] deliberately avoids spelling out a required number of animated sprites, but the idea's similar: "Implementors should pay attention to the performance characteristics of the canvas element which is particularly well suited for the development of 2D and isometric games. In order to meet the expectations of users, implementations should be capable of running such games at 30fps in full-screen mode." --tobie --- [1]: https://www.facebook.com/video/video.php?v=696729990595&oid=9445547199&comm ents [2]: https://github.com/facebook/jsgamebench/ [3]: http://coremob.github.com/level-1/index.html#canvas2d
Received on Thursday, 26 July 2012 21:57:30 UTC