Case Study - Rapala® Fishing Tournaments

Concrete Software and GameMill Entertainment

Concrete Software and GameMill Entertainment partnered on the Rapala® Fishing – Daily Catch mobile game. Concrete Software's cloud services team implemented a leaderboard service to support daily fishing tournaments, allowing users to compete cross platform and win in-game prizes.

Problem Statement

Competitive Game Play

Concrete Software views competitive gameplay as an important aspect of mobile games for user engagement and retention. Most platforms (notably Google Play and Apple Game Center) supply some form of leaderboards, but for this game, we wanted additional features:

  • Cross-platform Play - We wanted to connect users from different platforms and run promotions for single tournaments.
  • Flexibility - We wanted the in-game tournaments to feel fresh and scheduled with some degree of randomness and varying prizes. Native leaderboards restrict quantity, frequency, and ability to award prizes.
  • Social Sign In - The ability for players to sign in with various social network platforms (Facebook, Twitter), or play without any sign in. Using a social network allows cross-device play for a single user.
  • Manual Management - The ability to manually modify tournaments on the fly, remove users (e.g. - suspects of cheating), and turn off the service for maintenance.

Solution Architecture

Leaderboard Service

Concrete Software's cloud services team designed and implemented a leaderboard service with AWS. The service is used in multiple platforms and games and is implemented using the following cloud resources:

  • EC2 Java EE Tournament Application - Provides the majority of the tournament logic. The server opens various HTTP endpoints for client-server communication and JMX MBeans for management purposes. Holds in-memory caches for most data with frequent synchronization to and from the database. Capable of scaling behind a Classic ELB, but using two instances was generally sufficient.
  • RDS MySQL Database - Holds the master tournament state.
  • EC2 Java EE Management Application - Provide programmatic (through HTTP endpoints) and GUI access to JMX MBeans of tournament servers.
  • On-Premises Tournament Scheduling Server - Executes several times per day to automatically schedule new tournaments.

All cloud applications are hosted in Concrete Software's AWS account.

Project Outcomes

The tournament system has proven to be successful in the game.
  • Single tournaments frequently eclipse 2,000 players without technical issues.
  • Tournament scheduling runs well without manual intervention, other than tweaking configurable settings.
  • Tournament server requests are very quick - up to 200 ms, but generally under 20 ms.
  • We are able to utilize the same tournament system in a second game, running on the same infrastructure.

TCO Analysis Performed

The main costs are the EC2 and RDS instances. The tournament servers are designed to minimize resources, memory in particular, and run well on c3.xlarge instances. We use EC2 and RDS reserved instances to help reduce the costs.

Find out More

Contact us to find out more about this case study and our cloud services team.

You can also email us directly at