One of my biggest concerns for my persistent browser based games, aside from gameplay, is performance. Persistent browser based games have the same issues that normal client/server applications have in regards to internet latency but with a PBBG you do not have a persistent socket in which to push data from the server. This limitation makes it difficult to to real time player activites. Most PBBGs seem to be strategy games operating on a turn based daily type of cycle. This is probably the most useful model but what if you do want to offer real time interaction? Real time interaction can be handled via AJAX in that you can poll the server for new information every few seconds but you could run into some serious performance issues if you send a lot of data down the pipe when actions occur. For that reason I am trying to work out an AJAX based system for downloading game content in the background while the player moves about the world. Once I get the Silverlight components built and tested I should be able to accomplish the same things with Silverlight and provide a nicer user experience.
I think I got just about everything ready for my new PBBG engine so now I can start writing the database queries for the standard commands the system will accept. I am focusing on performance as much as possible for this new engine. Perenthia is working OK but is a little slow when moving around. I can reduce this somewhat by performing asynchronous calls to preload a lot of the data on the client but I still need to stream line everything. After all, in order to move I don't need the player profile description coming back from the database, I just need the information related to moving.