The video from my talk at JSConf has been posted. Thanks to Chris for organizing the conference and the excellent quality of the video.
The description from the JSConf site summarizes the talk well:
John Resig presents his mystery topic, which is actually three topics that strike his interest. First up is measuring performance and a quick introduction to benchmarking (and its positives and negatives). This is followed by JavaScript Games which he unveils some super cool hidden functionality (cheat codes++) on the jQuery web site. This is followed up by the introduction of John’s distributed continuous test framework platform, Test Swarm. It is jam packed with Nirvana and goodness so be sure to watch both parts.
Part 1: Measuring JavaScript Performance, JavaScript Games
Part 2: Distributed JavaScript Testing, Q&A
Additionally, the slides from the talk are up on Slideshare.
Erryn Pollock (July 1, 2009 at 10:46 am)
Where would a RPG fit into your three game “types”?
On the subject of cheaters and JS games, I’ve got one now that works on a sort of “trust but verify” scheme where there are certain things that can be easily hacked on the client, but they are things that don’t affect score/advancement. More important stuff is validated directly against the server. For example, the client completely handles the player’s movement on the map, including checks for impassible areas. They could plant themselves in a blocked area, but the first time they tried to perform a significant action there it would fail to validate against the server and throw them back to the last known good position.
Robert Schultz (July 1, 2009 at 12:22 pm)
As creator of a JavaScript game myself (http://worldofsolitaire.com) I really enjoyed your talk! I wasn’t there in person, but I watched the video.
One benefit to using JavaScript over flash that you didn’t mention is search engine optimization.
For example World of Solitaire comes up first when you type ‘solitaire’ into Google.
That’s because all the rules and games available are all in HTML right in the page for Google to index.
If it was a flash app, the content would be much more opaque and it would almost certainly not be ranked as high in search engines.
I found a lot of your thoughts on preventing cheating and what ‘types’ of games are best for a JavaScript environment to be interesting.
I look forward to reading future posts from you on this topic :)
John Resig (July 1, 2009 at 1:26 pm)
@Erryn: I would classify an RPG as a ‘strategy’ game (in that the vast majority of the game logic would be on the server-side and the client-side would be mostly about managing the UI).
I like your theory for catching cheaters – it just sounds like you would have to have a solid knowledge of where the user was/wasn’t allowed to go (which, in an RPG, is probably already built in).
@Robert: That’s a good point – I’m sure you’re loving the benefits from a high position in Google as a result :) (Oh – and I should’ve shown World of Solitaire in my talk! Definitely will next time. Solitaire is implicitly a single-player game so you don’t have to worry about cheating as much as other games – which is a huge win for a JS-based game.)
bonder (July 4, 2009 at 11:18 pm)
John,
I feel like you’ve done a disservice to folks who have been coding some pretty compelling action, arcade, RPG, and other kinds of games in javascript for nearly 10 years now.
Some sites to research:
http://www.def-logic.com (he’s rewritten many in Flash, but you can still find the js versions)
http://www.rebelideas.co.uk
http://www.golemizer.com
http://jonraasch.com/blog/jquery-video-game-remake-tc-surf-designs
That last one (TC Surf Designs) was coded mostly in jQuery BTW.
I also feel like your analysis of game types was a bit “off the cuff” and could have used some more thought. Puzzle Games, Shooters, Patformers, Run & Gun – lots of different types of games to choose from, not 3.
I really love jQuery and totally respect your work there. I just think that your thoughts on javascript gaming aren’t as evolved as they need to be for you to be presenting on the topic.
Dannii (July 10, 2009 at 10:16 am)
How do Firebug and the in-browser profilers compare to hrtimer (http://hrtimer.mozdev.org/)? My experience with Firebug hasn’t been good so far – it frequently seems to give quite inaccurate results. hrtimer is amazing, but not very user friendly, and not actively being developed anymore :(