Originally posted by: Auryg
Originally posted by: Atheus
First off, I don't see why the top banner has to be Flash - you can have the rollover menu items in plain CSS, and the tiny amount of animation on the ninja dude doesn't really add anything to the site. I'd suggest you take a still screen of that image then compress it down to normal web quality and use that.
Secondly, I haven't read through the code, but am I right in thinking you're making an AJAX request every time a user rolls over one of the game icons? Why? The user isn't submitting any input - is there any reason you can't just load all the descriptions at once and put them in an array or something? I'd be very surprised if the whole lot was more than 10k. If you did that you wouldn't even have to load the jquery library and all that other stuff, just one little script for the DHTML popup box. Whats more people wouldn't be thrashing their network every time they move the mouse.
Thirdly - and I don't want to interfere with your design, which is good - but do I as a user really need six (six?!) different ways to select a game on the front page? You've got the categories at the top, then the 'newest games', the 'most popular' games (all AJAX), a massive flash box with screenshots of a whole bunch of games on the right, the 'select game' dropdown, and then the main categotized list. Why not just get rid of everything except the main list?
The banner is eventually going to have roll over animations that the ninja does. Kids like stuff like that =/
On the other hand, if you had a poll on the site which asked 'what would you rather have - a) fast/properly loading pages or b) animations on the ninja' I'm pretty sure I know what they'd choose. You've got to think about it like this: are you building the site because you want it to look cool, or are you building it to get the largest possible number of page hits?
The reason why the calls are ajax for the game icons is because users can scroll through them with the arrows, or order them through the categories - by all of the descriptions do you mean every one on the site? The current rating and games played for each one would need to be taken from the database for each game - wouldn't that really hurt my server? I use jQuery for other things anyways (the point system and the like).
Well how many games have you got? 100? 200? Lets say you have 200 games and the average description is 20 words, 2 numbers, and a date, which is about 150B give or take, and *200 its about 30KB in total for everything. You can get this data with a single database query like 'SELECT * FROM Games' and cache it.
In the current situation you're making a database query every single time a user rolls over a game, so if I look at a dozen before I play one you've got 12 (or whatever) queries taking place with all the padding jquerey puts around the data. This is totally hammering your server compared to the other option. From the user's point of view, if you used the first option, they wouldn't have to wait for that loading bar when they roll over a game, and they wouldn't have to load the jquerey library, which is actually bigger than the data itself.
The design we more or less took from several different flash game sites, taking what we liked on each one. I would say we took most of our inspiration from armorgames, at least in terms of what they have on each page.
Go back and have another look at armourgames - they've only got two flash boxes on the home page, both of which are very small (in bytes and in dimensions), and both of which are ads they don't control. All their menus are DHTML rollovers, and the game images/descriptions are very small - just as an example one of their game icons is 3.3KB, where some of yours are over 20KB! I can still load the categories in the bottom menu dyanamically, without a page load, but I don't have to wait becasue it's all cached.
The fact is that if you want to speed this thing up you're going to have to load less data and run less code. It's as simple as that. I actually think your site looks better than armourgames, but if you reduced the image sizes, upped the compression, reduced the flash, etc, I think it would look better still for being less busy. On the web, less is more. That's one of the main things I've learned since starting my business last year.
/edit: that'll be £1500 consultancy fee
