Appearance
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 lobbyStart here
| Step | Implement | Deliverable |
|---|---|---|
| 1 | Getting started | Connect once. Load the current config and round. |
| 2 | Launch and loading | Loading screens, messages, assets, audio, and ready handshake. |
| 3 | Stakes and money | Valid stakes, default selection, full purchase cost, and balance display. |
| 4 | Slot game flow | Request lock, state decisions, timing, choices, and recovery. |
| 5 | Rules and presentation | Paytable, rules, return to player (RTP), and every configured mechanic. |
| 6 | Operator Interface | Loading, round events, pause, audio, errors, and lobby actions. |
| 7 | Settings reference and jurisdictions | Validated controls for the player, product, and jurisdiction. |
| 8 | Recovery and session | Reconnect, resume, reality checks, session totals, and safe exit. |
| 9 | RGS features | Freeplays, discounts, promotions, history, and operator extensions. |
| 10 | Release checklist | Evidence 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.
- SDK index for agents: ordered guide, game pages, and links to related documentation.
- Complete frontend guide as text: SDK pages, all game guides, operator contracts, and example source.
- Engine index for agents: links to individual pages with descriptions.
- Whole documentation site as text: includes backend and platform references.
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 mode | Guide | Main frontend difference |
|---|---|---|
| Slot | Slots | Boards, cascades, feature spins, choices, gamble, and banking. |
| Plinko | Plinko | Row and risk table, returned bucket, immediate settlement. |
| Hi/Lo | Hi/Lo | Card choices, skip, and explicit cashout. |
| Over/Under | Over/Under | Threshold and direction table, one returned roll. |
| Frogger | Frogger | Explicit progress or cashout, absolute multipliers. |
| Mines | Mines | Player tile picks, hidden board, and cashout. |
| Keno | Keno | Number selection, draw, and hit paytable. |
| Match | Match | EXACT or AT_LEAST matches and numbered ball placement. |
| Bingo | Bingo | Multiple tickets, card cells, draw sequence, and patterns. |
| Progressive | Progressive | Survival steps and cashout. This mode is not a shared jackpot. |
| Crash | Crash | Live server events and cashout on one WebSocket connection. |
| Roulette | Roulette | Multiple bets, total debit, and individual settlements. |
| Blackjack | Blackjack | Hands, legal actions, extra debits, insurance, and settlement. |
| Blank | Blank and custom | Preserve the imported game type or define a custom contract. |
SDK surface
| Area | Exports and reference |
|---|---|
| Session | login, refresh, loadConfig, updateBalance, reportAnimationEnd. See endpoints. |
| Money actions | placeBet, collect. See game flow and gamble. |
| Response handling | TNetworkResponse, API_RETURNCODES, recoverableErrorCodes, defaultNetworkTimeout. See errors. |
| Freeplays | getFreePlaysRemaining, getFreePlayStake, IFreePlayInfo. See freeplays. |
| Discounts | IDiscountInfo, IDiscountEntry, IBalanceReply.discountInfo. See RGS features. |
| Game helpers | rouletteAdditionalData, blackjackInitialData, blackjackActionData, minesPickData, kenoPickData, bingoTicketData. |
| Crash | CRASH_EVENTS, crashPlaceBetData, crashCollectData. See the required transport. |
| WebSocket requests | enableWebSockets, WebSocketHandler. The handler does not expose Crash broadcasts. |
| Choices | isCashChoice, isFeatureChoice, TPlayerChoiceAward. Preserve the server's original choice indexes. |
| Results and configuration | IGameResult, ILoadConfigConfig, IGameSettings, and game-specific types. See types. |
| Compression | decodeScenario, compressScenario, expandScenario, compressStep, expandStep, hasScheme, buildSymbolToInt, SCHEME_VERSION. |
| Provably fair results | pfVerify, 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.