In a recent post on GameDev.net, Rumar Gaming founder Ruud van Falier described the technology stack that allows his team to deploy games quickly and easily. The stack is divided into 3 main tiers, with subcategories for each tier.
The Mobile App
Since van Falier had prior experience using cross-platform development environment Xamarin, the team chose to use this platform to speed up development across both iOS and Android. Using their custom Rumar Framework to communicate with the API, it handles many of the registration processes, in-app purchases and advertisements, among other things.
This feeds into the cross-platform, game-specific logic that reduces the burden of game development and management. This is capped by the iOS- and Android-specific logic necessary for publishing to each of the platforms.
The Rumar team decided to use the .NET Web API framework to handle back-end processes such as device registration, push notifications and score tracking. The decision came down to the developers’ familiarity with .NET that allowed them to build within a shorter time-frame. While the goal was for as much logic as possible to be shared through one framework API, certain game-specific functions will often require their own API.
Cloud Hosting Stack
With the ultimate goal of hosting more users, the back-end needs to be highly scalable. With this in mind, Rumar decided to continue using AWS for its cloud-hosting capabilities. This includes several internal components such as; EC2 for automatic scaling of the virtual machines that the application is hosted on; Cognito, which provides out-of-the-box user data synchronization with the cloud; S3 for scalable data storage; SNS for registering devices for push notification delivery; and finally DynamoDB, the AWS No-SQL database that is highly cost effective and simple to scale.
Rumar has begun with the cloud-hosting stack, then developed the framework API before working up to the actual game logic. By using this bottom-up approach, Rumar Gaming has laid down a scalable foundation that enables quick deployment for any project they work on in the future.