View this Case Study in PDF format
|“When we created this game, it was a small project and we did not expect more than a hundred players. When we decided to publish this game in social networks, we moved our code from Firebird 2.1 to Firebird 2.5, and it just worked for thousands of players, without having to rewrite the code drastically.” — Alexandru Bargan, CEO of Nebuloasa SRL, Lead Game Designer and Lead Programmer of the “Delta Quadrant: Horizons” project. || |
Nebuloasa SRL, also known as “DQ Team”, is a small privately-owned company, founded in 2005. It is focused on custom-built flexible IT solutions for other companies, including governmental institutes, TV companies, banks and others.Business challenge
“Delta Quadrant: Horizons” is a web hosted, turn-based 4X strategy game. It was developed as a “testing ground” for some technologies from the web 2.0 era. It was never intended to support more than one hundred players at a time, so nearly all the game logic (98% of the code) was written in Firebird's Procedural SQL.
When the company decided to make it available for social networks, we thought we would first have to rewrite all the code using popular NoSQL solutions, like in-memory databases. We also expected to need multiple databases and support for cross-database queries.
“It was a challenge. You have only two choices in our industry — you meet users' needs or you are out of the market. This project was meant to show whether we can use Firebird for social networks or not.” — Sergey Mereutsa, Technical Director of Nebuloasa SRL, Software Architect in the “Delta Quadrant: Horizons” project. Solution
We decided instead to try rewriting only a small part of the code in our stored procedures, and change the Firebird version from 2.1 to 2.5 to enable cross-database queries. This took a total of less than 2 weeks. Changing images sizes, and redesigning it to fit in the iframe offered by the social networks, have taken a bit more than a month. The result we have obtained is a fully scalable online game engine which can serve up to 10,000 players per game galaxy, with three galaxies hosted simultaneously per physical server.
“Delta Quadrant: Horizons” is now available in Facebook, Odnoklassniki.ru, VKontakte.ru, and as a standalone game at http://www.dqhorizons.com/ Technical details
Game server characteristics: 4-core Xeon with 16GB RAM & 64-bit Debian Linux.
Database Engine: Firebird version 2.5.
Database size: Approximately 1GB per galaxy database, with 6,000+ active players.
Database complexity: 89 tables and 403 stored procedures.
Largest table: Approximately 5 million records at the end of a game round.
Average number of concurrent users per server: 300.
Average CPU usage: 25% (of each of the four cores — or 100% of 400% max). Contacts
63/3, A. Russo Street,
Republic of Moldova, MD 2044 www.dqteam.com[email protected]