I'm a little late to the party but I just wanted to say that the Game Arcade is absolutely brilliant. It may be one of the most popular mods we've ever added to the BB. It has certainly met with more enthusiasm than all the new features in 6.5 combined. I really appreciate your work on this one and I know my members do too.
I've come across a few minor bugs but nothing too serious. However, there are two relatively major issues with the script I was curious if you're going to address. The first is the inordinate number of queries generated by the arcade index. I have 60 games in my arcade, and when they all have high score information stored it takes a whopping 200 queries to build the page. This actually makes arcade.php one of the slowest and most resource-intensive scripts on my site. The problem is that mySQL queries are nested within loops, leading to additional queries the more games you have installed. If you were to retrieve all the information at once with one or two queries, and then store it in arrays to be used by the rest of the script, I think you could improve the performance enormously. For an arcade the size of mine (or yours) it would probably be possible to get the number of queries down from 200+ to something like 5. So this is the first thing I'd like to see.
The second question I have is about the w3t_gamesessions table. In just one day on my site, it grew by over 3,000 rows. Clearly, some of these are necessary since they contain a user's score information and comments. However, there does not appear to be a mechanism in place to expire sessions which never get a 'finish', 'valid' or 'score' value. Anyone who views a game immediately creates a new row in the database, whether they actually play the game through to completion or not. At this rate my sessions table will be quite huge in a year, and although its size pales in comparison to something like the posts table, I hate to see so much unnecessary information being stored and consuming resources.
So these are my two main gripes and I'd really love to see them fixed. It's a testament to the quality of your script that we're still enthusiastically running it even with these issues, but I'm worried that they may become problems down the road if they aren't checked out. So how about it? If I send you a $50 donation will you look into those problems? Actually, I'm going to donate anyway but it sure would sweeten the deal for me. And maybe for people who have been thinking about donating, this would provide the needed incentive.
Donate to UBBDev today to help aid in Operational, Server and Script Maintenance, and Development costs.
Please also see our parent organization VNC Web Services if you're in the need of a new UBB.threads Install or Upgrade, Site/Server Migrations, or Security and Coding Services.