I have not had time to even glance at the code of this - but I know one place that there is a query that is doing much more than it should be.
When a game score gets submitted - ones that have thousands of scores take time - I have seen it take up to ten seconds.
I am running a 3.2 Dual Zeon with basically no load on the server - my site the only thing on it - and almost a gig of ram dedicated to MySql - and if its in ram on my server - its in ram - I have no swap.
I know all the scores are kept in one table, no biggy - it might be up to 100,000 scores by now - my server should be able to handle anything thrown at that instantly, but it doesnt.
I am going to guess that after every game played its running quries for the overall scoring. I need to find time to look
.. anyway - if thats the case - I would recommend splitting that off (optionally) and allowing it to be ran by cron if the user prefers. I am one that does not care how much resources it needs - it isnt going to put a dent on me - but I do not like the end user to have to wait for anything (well - actually - I do not like having to read the end user +++++ about waiting