Skip to content

Build a frontend with the hizi engine SDK ​

Use this guide to build a game frontend for the hizi Remote Gaming Server (RGS). It covers all 14 modes in hizi-engine-creator. Slots receive the complete implementation path.

The engine selects outcomes and stores round state. The RGS handles authentication, wallet transactions, and operator services. Your frontend renders the returned result, controls player actions, and implements the operator and jurisdiction requirements.

text
Game frontend → SDK or game transport → hizi RGS → hizi engine
             ↔ Operator Interface ↔ operator lobby

Start here ​

StepImplementDeliverable
1Getting startedConnect once. Load the current config and round.
2Launch and loadingLoading screens, messages, assets, audio, and ready handshake.
3Stakes and moneyValid stakes, default selection, full purchase cost, and balance display.
4Slot game flowRequest lock, state decisions, timing, choices, and recovery.
5Rules and presentationPaytable, rules, return to player (RTP), and every configured mechanic.
6Operator InterfaceLoading, round events, pause, audio, errors, and lobby actions.
7Settings reference and jurisdictionsValidated controls for the player, product, and jurisdiction.
8Recovery and sessionReconnect, resume, reality checks, session totals, and safe exit.
9RGS featuresFreeplays, discounts, promotions, history, and operator extensions.
10Release checklistEvidence from normal, interrupted, and restricted play.

This guide documents SDK 0.2.18. Some contracts require operator or certification input.

Release requirements

A jurisdiction preset alone does not establish compliance. Apply the effective player limits and the rules for the specific product. For example, UKGC limits differ by player age and casino vertical. Resolve every applicable gap before enabling real-money play.

For AI agents ​

Read the ordered guide above before writing money requests. Then read the game's vertical guide.

The build generates these files from the same pages. It includes the checked TypeScript examples. Do not invent omitted settings, rule text, credentials, scenario fields, or operator contracts.

Choose a vertical ​

Requests, legal actions, and settlement differ between verticals. A scenario renderer alone is insufficient.

Creator modeGuideMain frontend difference
SlotSlotsBoards, cascades, feature spins, choices, gamble, and banking.
PlinkoPlinkoRow and risk table, returned bucket, immediate settlement.
Hi/LoHi/LoCard choices, skip, and explicit cashout.
Over/UnderOver/UnderThreshold and direction table, one returned roll.
FroggerFroggerExplicit progress or cashout, absolute multipliers.
MinesMinesPlayer tile picks, hidden board, and cashout.
KenoKenoNumber selection, draw, and hit paytable.
MatchMatchEXACT or AT_LEAST matches and numbered ball placement.
BingoBingoMultiple tickets, card cells, draw sequence, and patterns.
ProgressiveProgressiveSurvival steps and cashout. This mode is not a shared jackpot.
CrashCrashLive server events and cashout on one WebSocket connection.
RouletteRouletteMultiple bets, total debit, and individual settlements.
BlackjackBlackjackHands, legal actions, extra debits, insurance, and settlement.
BlankBlank and customPreserve the imported game type or define a custom contract.

SDK surface ​

AreaExports and reference
Sessionlogin, refresh, loadConfig, updateBalance, reportAnimationEnd. See endpoints.
Money actionsplaceBet, collect. See game flow and gamble.
Response handlingTNetworkResponse, API_RETURNCODES, recoverableErrorCodes, defaultNetworkTimeout. See errors.
FreeplaysgetFreePlaysRemaining, getFreePlayStake, IFreePlayInfo. See freeplays.
DiscountsIDiscountInfo, IDiscountEntry, IBalanceReply.discountInfo. See RGS features.
Game helpersrouletteAdditionalData, blackjackInitialData, blackjackActionData, minesPickData, kenoPickData, bingoTicketData.
CrashCRASH_EVENTS, crashPlaceBetData, crashCollectData. See the required transport.
WebSocket requestsenableWebSockets, WebSocketHandler. The handler does not expose Crash broadcasts.
ChoicesisCashChoice, isFeatureChoice, TPlayerChoiceAward. Preserve the server's original choice indexes.
Results and configurationIGameResult, ILoadConfigConfig, IGameSettings, and game-specific types. See types.
CompressiondecodeScenario, compressScenario, expandScenario, compressStep, expandStep, hasScheme, buildSymbolToInt, SCHEME_VERSION.
Provably fair resultspfVerify, IPfVerifyOptions, IPfVerifyReply. See verification.

The endpoint reference describes operation names. Most operations use POST backendURL with an op body field. Do not append /placeBet to the supplied URL.

Responsibilities ​

Build the rendering, input, audio, timing, loading, rules, history presentation, and operator integration in your frontend. Keep a single owner for session state and money requests.

Use approved localized content for mandatory messages and rules. Confirm the game version, currency, jurisdiction, player limits, and operator protocol before enabling play.

The engine supplies outcomes and saved state. Treat them as authoritative. Never calculate payable winnings from animation, replay an uncertain bet, or automatically choose a gamble option.