← Back to Media & Entertainment Cases

Media & Entertainment

An Online Gaming Platform for Tournaments and Player Communities

A UK software company commissioned a tournament application, multilingual website and CMS, with architecture designed for a large player base.

Online GamingJavaWeb Platform
Original architecture diagram showing the game and CMS layers
Architecture diagram from the original project documentation.
Client
UK software company
Core components
Tournament, website and CMS
Architecture
2 dedicated architects
Player scale
Hundreds of thousands targeted

Client & project requirements

A tournament platform with multilingual access

The client was an emerging software design and development company in the UK. After working with Shinetech during a consulting phase, it selected the team to develop its game-playing system.

The tournament application needed weekly, monthly and annual competitions, game watching, past-game review, rankings, chat, online notices and batch email.

The website initially needed English and Simplified Chinese, with provision for additional languages. Requirements included AAA or AA accessibility compliance, registration, login, search, advertisement management, and news and events. A CMS would support administrator, editor and translator roles across the website and tournament application.

Architecture & delivery

Separate architecture ownership and open-source components

Shinetech assigned two dedicated architects, one for the website and one for the tournament application. The team used open-source resources extensively to control development costs.

The environment included Java, HTML and JavaScript, Tomcat 5.x and MySQL 4.1.x, with Eclipse and UltraEdit as development tools. The specified operating systems were UNIX, Linux or Windows.

Engineering challenges

Firewall access, server load and socket communication

Players behind firewalls still needed to access the game. Because HTTP traffic on port 80 was commonly allowed, the team adopted HTTP tunnelling to support those users.

The client anticipated hundreds of thousands of players. Shinetech developed an independent balancing module to distribute requests across server-cluster nodes.

The team initially considered thread pooling for client requests but found that context-switching overhead limited scalability as active threads increased. It chose I/O multiplexing so a single thread could handle many sockets while keeping the overall thread count low.

Project benefits

Lower development cost and an extensible system

The project reduced development cost and delivered a reliable system with higher availability, scalability and easier maintenance.

Open-source components, request distribution and the socket-handling approach addressed the client's cost and performance requirements.

Have a similar project in mind?

Talk to an Expert