Tuesday, October 24th, 2006
Joe Walker (Getahead–DWR) and Bram Smeets (Interface 21–Spring) took a novel approach to their “Hands on DWR” talk at The Ajax Experience: Creating a game – “Multi Player Battleships” live in the session.
The concept was very well received – many smiles around the room when the idea was introduced. With Joe talking and Bram typing they took a pre-created boilerplate (configuration and some of the simpler tasks completed beforehand due to the time constraint) and turned it into a simple, but fully functional, multiplayer game.
I’m happy to report that I don’t have an awful lot to report regarding the complex inner workings of the application. Those familiar with DWR will find that the code contains few things unfamiliar or even ‘advanced’. As someone with only an intermediate DWR skillset – I had no trouble following the code Joe and Bram were creating. The final product was simple but functional – intentionally avoiding features that would improve the game but cloud the demo. Joe and Bram were able to hide from each other, fire, and even chat as they played. The code for the demo can be found here (near the bottom at the time of this post).
The most contested point was the use of “reverse ajax” to sync with the current server status at timed intervals. Reverse Ajax was introduced in v2.0 m1 (current stable release is v1.1.3) Concerns centered on potential security issues – Joe explained that they do as much as reasonably possible to stop malicious users, but in the end if you are a malicious user: there are many ways that you can bring the server down without DWR.
Posted by Jim Halberg at 3:00 pm