Create and distribute Augmented Reality content on specific locations all over the World (retail stores, restaurants, schoolyards, bus stops).
Realtime engine for user-generated content linked to physical locations all over the World.
Bublar´s unique architecture enables us to create scalable MMO-games which unite millions of users in one common game simultaneously.
Our technology platform is designed to develop and maintain massively multiplayer games (MMO) with extreme demands for large volumes of mobile users interacting with objects as well as other players in a real-time environment. The server system is a proprietary system built to fuel ”real-world-games” with maps, content, players geopositions visualized on the game-map.
Our games are run on both iOS and Android devices. They are developed using the mobile games industry standard Unity3D engine, enabling rapid prototyping and development. The key features of our games include tight integration with a mapping system, letting us create real world games putting players into a virtual world mimicking their surroundings, and innovative usages of AR technology. We use AR in various forms, from camera effects, face tracking, projecting objects into the real world, all the way to full virtual reality applications where we use Apple’s and Google’s latest AR advances for positional tracking inside a virtual world.
Bublar has experience integrating games with social networks such as Facebook and Google which allows players to login using their already existing accounts. Through these social media networks the users can also find their friends and share experiences.
In combination with Bublar’s back-end system, a game client will be able to play games with or against other players. The client can also receive push notifications and use features such as leaderboards, game lobbies and chat rooms.
The back-end server system stores all user data and performs all interactions between users. It also renders map tiles for the entire World from freely available OpenStreetMap data and serves information about objects residing on the player’s map and anywhere else they might be needed.
The server system is a proprietary system built to fuel a game with extreme demands. Scalability, Ease of Use (maintain/develop/deploy), Availability and Performance have been the main system design goals from the start. In order to meet these goals the following design choices were made.
The programming language for the entire backend system is Go, which while originating at Google has been developed as an open source language since 2009 and was born out of the frustration that no other language combined the properties of efficient compilation, efficient execution, and ease of programming in a modern server environment. The Go language makes it easy to harness the power of today’s multi core servers.
To achieve performance scalability to a very large number of servers we have built a proprietary system for communicating between objects residing on different machines (can be compared to a nervous system). This is in a way similar to systems using an enterprise message bus or microservices architectures but goes a couple of steps further by having the currently used objects (such as players or map data) in system memory ready for instantaneous use without the overhead of fetching and modifying things in a slow database or reading data from hard-drives. Changes are written out to a database for long term storage. The system is able to find objects quickly even if the number of servers change.
Another unique property of this communication system is the fact that it resides within each software component using it, there are no service fees or external message bus systems needed.
To ensure high availability, the system is masterless and any server in the system can fail without bringing the system down. To achieve a high level of durability we are saving all changed data on two different servers as a failsafe.
The back-end itself is built on top of our horizontally scaling server platform which means that every component of the game server can be spread out on multiple servers. The platform structure is designed with scalability as a paramount goal.
All advanced software systems require rigorous testing. To ensure our system holds for high volumes of traffic, we test with realistic loads. A quarter of our own back-end codebase is dedicated to automated functionality and load testing to ensure continuous top performance.
To secure high-performance maintenance during peak use and large traffic volume, we have integrated our system to AWS (Amazon Web Services) with dynamic scaling. Through our platform design in combination with AWS, we therefore benefit an almost unlimited access to large scale computing capacity when running and supervising global MMO-games with millions of simultaneous users.