T


Marketing Game Server

Architecture

mobileFX M logo in white

TITLE: Marketing Game Server | ACRONYME: MGS | CODE: Τ2ΕΔΚ-03028  

mobileFX marketing games server architecture
Code Description
MGSmobileFX MGS Platform, encapsulating Game Engines
IWGInstant Win Marketing Game Engine
CGGame of Chance Marketing Game Engine 
RNGRandom Number Generator, an algorithm that generates random numbers 
WalletPlayer Account Management System  (not included)
FrontendmobileFX MGS Management Web Application
Games WebWeb Server Host for Game Clients (not included)
G2LOptional library for Game Clients, Game to Lobby (G2L)
Lobby WebOperator game lobby (not included)
T


Marketing Game Server

Flow Chart

mobileFX M logo in white
marketing games server workflow

01

A Lobby requests a list of games from Game Server and presents the games to Players.

02

Player logins to Lobby and obtains an OAuth token; the token is provided by Lobby after communication with Player's Wallet. The Player's Balance appears on Lobby along with a list of available games.

03

Player starts a Game Client and places a Bet (first red arrow).

04

Bet is transmitted to MGS where it is accepted by an HTTP Service and passed to a REST Router.. 

05

REST Router dispatches the game to the appropriate Game Content where the Game Engine resides. The Game Context manages connections with internal and external End Points such as Wallet Proxies and RNG.

06

Game Engine validates the ticket and if valid performs a Debit Transaction by transacting with Wallet.

07

Game Engine requests RNG to generate random number(s) required for deciding the Player's Ticket.

08

If Winning Ticket, the Game Engine performs a Credit Transaction by transacting with Wallet.

09

Finally, Game Engine generates the Ticket Rounds that are transmitted back to Game Client.

10

Game Client animation engine represents the Ticket and its Rounds.

T


Marketing Game Server

Services

mobileFX M logo in white

Game Engines Layer

The Game Engines Layer contains the implementation of the mathematical models of the Instant Wing Game Engine and the Game of Chance Game Engine.

RNG Layer

The RNG Layer contains the implementation of various PRNGs used by Game Engines.

JSON Layer

The JSON layer is preparatory and contains data conversion routines in JSON format. Used by the API layer.

Simulation Layer

The Simulation Layer implements a Monte Carlo Simulation algorithm for GOC game engines.

Logger Layer

The logger is the lowest layer of the system and its purpose is to record structured information in logging systems. For the project we chose to implement the logger as a Graylog client.

Exception Handling Layer

Detailed run-time exception recording and forwarding to the logger to capture in detail in the logs. The detail consists of: timestamp, host, game engine, filename, class name, function name, line number. In addition we record data such as HTTP request / response pairs, etc.

ORM Layer

The ORM layer is responsible for capturing objects in an RDBMS and recording or reading them from it. It is a specialized framework created specifically for this project. The mapping is so structured that the Database Schema can also be used as a Class Diagram mapping the public fields of the classes.

Localization Layer

Localization Layer is responsible for imprinting coins depending on the locale of the game. In addition it manages translations of games which consist of tokens. A token contains a phrase that we translate into one or more languages.

Statistics Layer

Statistics Layer contains algorithms that reveal the Volatility, Variance and Standard Deviation of a GOC game. In addition, it implements various types of Histograms that are used to calculate Hit Frequencies.

Wallet Layer
Blockchain Wallet

Wallet Layer manages Debit, Credit, Balance, Refund transactions per Player Session and we have implemented 3 different Wallets. A Free Play Wallet, a BlockChain Wallet and a No Wallet used when the marketing server is topologically behind a Wallet instead of in front.

Reports Layer

Reports Layer implements all the reports supported by each game engine. The game engines each support different reports.

API Layer

The API layer implements version 1 of the HTTP JSON REST application programming interface of both game engines. They essentially implement the GET_GAME_CONFIG and GET_TICKET calls that a game can receive from a Game Client.

Server Layer

Server Layer implements an asynchronous HTTP / S TCP / IP Socket Server and an HTTP API Router. The Server Layer has a special interface with the Exception Handling and Logger layers so that any error (or malicious call) can be recorded in the Game Server.

Docket Layer

Docket Layer allows the system to be installed in standalone Docker containers to maximize Portability. Windows and Linux versions supported.

T


Marketing Game Server

Scalability - Interconnectivity

mobileFX M logo in white

JSON REST Game Engines API

The JSON REST Game Engines API allows the creation of games from any programming environment (Unity3D / HTML5) which will be interfaced with MGS.

Reporting API

MGS has an extensive Reporting API for campaign statistics retrieval and Reconciliation services.

Lobby Playground API

MGS can interface with a Games Lobby and provide it with the list of games it supports. Games Lobby is where the player selects and loads a game.

Web Management Console

Frontend was designed to allow the configuration of Instant Win Games and Games of Chance. For every type of game there are web forms that allow CRUD functions.

Launch your business dynamics and offer your customers a pleasant and fun experience  

TITLE: Marketing Game Server | ACRONYME: MGS | CODE: Τ2ΕΔΚ-03028  

Terminology

A video game management software for marketing and promotional purposes with bonus points and similar pseudo-currencies.

It is an algorithm implemented in the form of a mathematical function, which accepts as input a random number and calculates whether the player has won or not, based on the definition of the game.
A Game Engine produces as an output a Ticket, which in its digital form carries information on how the result should be presented to the Player.

A game that does not require player skill and has a finite pool of winning and non-winning Tickets. The game consist of concealed symbols distributed randomly that players must scratch to reveal. Every scratch action produces a Ticket.

A game that does not require player skill; player winnings are calculated using a probabilities mathematical model at design-time, and at run-time using a random number generator. Typical probabilistic games are wheel games, like the “Wheel of Fortune TV game”. The game consist of symbols distributed randomly on reels that players must match on a spin. Every spin action produces a Ticket.

A game element that players must match in order to win.

Is the list of payouts of a game and shows how many credits the player will win for each combination of symbols. The pay table displays all possible winning sequences.

Represents a transaction between the Player and the Promoted Company. Ticket offers the player the opportunity to bet on one or more columns (Pay Lines).
In a typical scenario, the player places a Wager on some form of digital currency (Tokens, Bonus Points, Fidelity Points, etc.) on one or more Pay Lines and obtains a random Ticket of the game. A random number generator (RNG) extracts the symbol distribution for this Ticket and a Game Engine calculates the Win-Lines (the part of a Pay-Line that wins).

The "wallet" of bonus points that contains the player / consumer accounts.

In games where Player is expected to place a Wager, percentage return to player (% RTP) is the expected percentage of wagers that a specific game will return to the player in the long run.

  • © 2022 mobileFX 
    All Rights Reserved

Get in touch

  • 52 Electras Str.
    17673, Kallithea 
    Athens, Greece 

  • info@mobilefx.com

  • +30  (210) 9522504