Giochi gratis online

"Giochi Gratis Online" was born on August 2010. The address is http://www.giochigratis-online.net
Only local images are allowed.

Goals

There are many php scripts for creating game portals, but none of them offers enough customization options for a professional use.
When building this website, our aim was to create a flexible and seo friendly structure that could allow us to:

  • quickly add new games
  • quickly select which games to promote on the homepage
  • perfectly integrate with Facebook
  • give the user the possibility to vote a game
  • customize graphic layout
  • add articles and text pages with ease
  • manage ads on both global and per-game basis
  • control every single aspect of seo
  • .. And all that has to be made *fast* (3000 visitors\day on a very cheap dedicated)

We chose drupal because of its great flexibility.

Modules Used

  • cck
  • views
  • pathauto
  • xmlsitemap
  • cache exclude
  • nodewords
  • nodevote
  • openadv

Theme

We use the Waffles theme, with some little modifications and tweaks.

Inserting Games

Thanks to CCK, inserting a game is very easy: the editor just needs to fill the description, choose one or more categories, and upload the swf file and the jpg\gif screenshot. Everything else is automatically handled by drupal.
If no SWF files are uploaded, the editor must provide an alternative code for displaying the game (this is for iframed games or any other games that require a custom code).

Game categories

This is pretty standard for drupal sites: all game categories are handled through CCK fields, and for every category there is the corresponding view to provide both page views (linked from the top menu) and block views (appearing in the homepage). The "Giochi online scelti dalla redazione" (featured games) block on the top right of the home is generated with views + cck too: every game has a boolean field to determine wheter it should be featured or not.

Games for your site

Thanks to the flexibility of the Views template system, we could also create a section to allow other webmasters to display on their website a nice-looking and customizable list of games.. here's the result: http://www.giochigratis-online.net/giochi-per-il-tuo-sito

Also, the user may select a single game to directly embed, using the code provided on each game page (the code is auto-generated thanks to the flexible overriding options of Drupal themes)

Contextual ads

The website has a default set of advs (handled through openads) that are displayed on most pages, including the home...
On a game page, there are 3 ad spaces: leaderboard on top, 300x250 on the right, and text+image promo just above the game.
The "game" content type contains 3 fields for customizing these spaces on a per-game basis, so that we can promote - for example - soccer t-shirts on a soccer game. If no custom option is chosen, the default advs are displayed.

Team

3 people worked on this project: 2 drupal developers and 1 article writer \ seo consultant. It took 1 month to get the whole system up and running.

Performance

Withou any particular module installed (like boost), the website has very good performance results.
Even if placed on a basic dedicate server (with 10+ domains), it actually handles around 3000 visitors\day with honor. Thanks to the aggressive caching system, pages are generated in 500-700ms, and total loading time is between 4-6 seconds for the homepage (bandwith limited).
By the way, this is the server:

  • Intel 2,66Ghz - 1 core
  • 3072 MB RAM
  • 40 GB Hard Disk

Your opinions

How about it? Suggestions? Critics? Opinions? They would be greatly appreciated!
Do you have any questions?

Comments

Sokol-dupe’s picture

I like the design of site, it's done in right colors. Also there is comfortable navigation so all categories are available from any page.

Sifro’s picture

thank you Sokol =)

mogop’s picture

did you think about saving scores ? I'm interested how it will be done?

Sifro’s picture

Hello! Actually, only one game (Puzzle Bubble) is able to save the scores and have an highest scores ranking.

That happens because after finishing a game, the user is redirected to an index.php page (so that the full address is /giochi/pubble-bobble/index.php) and POSTs the highest score. I could easly use that to save the score in the DB and redirect the user to the appropriate page.

Most game send the score through flash, and the website to send to is hardcoded -> impossible to retrieve the score for us.
If you find a game that sends the scores to a relative URL (like /index.php instead of domain.com/index.php) you can do the trick above.

roosevelt_’s picture

Sifro I love your website! When I got into PHP development back in the day, my first commercial product was an online arcade script, doing pretty much exactly what your site is doing. I did all that work from scratch and later used a framework. But looking at how you used existing drupal module to produce the same result is very cool! I think you will be able to improve the look of your website little more but if it's working well for you, don't touch it :)

Sifro’s picture

Thanks roosevelt!

Actually, i don't know how to improve the look and feel, do you have any particular suggestions?

I'd like to release a complete "game arcade script" built with Drupal, with all the advantages that may come out of it, but there is a lot of work to do (many many minor improvements and automatizazions to be made), so i decided to give up (at least for the moment).

duckzland’s picture

IMO it would be great if the site has a more unique theme or at least different in color so it wont match any other site in the web. other than that good job.

--------------------------------------------------------------------------------------------------------
if you can use drupal why use others?
VicTheme.com

Sifro’s picture

Thanks.
Yes, the theme should really be improved... but we have 2 php developers and no artists :(
Changing theme would require a lot of work, so maybe we should just check for someone able to modify and improve the existing one without breaking anything.