Elympics Documentation
website·Indexed 33 days ago
https://docs.elympics.ai/A platform for creating server-authoritative multiplayer games. The documentation covers the Elympics SDK, game loop anatomy (Ticks), prediction and reconciliation, server-authoritative input systems, and the PlayPad SDK for WebGL hosting and Web3 integration. It includes detailed tutorials for building First-Person Shooters, hypercasual, and turn-based games, as well as guides for the Elympics CLI and external game backends.
What's inside Elympics
- PlayPad SDK is a Unity package that integrates games with PlayPad, a hosting tool for WebGL game builds. It enables cross-play across desktop browsers, mobile browsers, and Telegram. The SDK provides an interface for Web3 integration, allowing developers to implement Web3 wallet authentication, state checking, data signing, and cryptocurrency transactions.
Overview of Elympics External Game Backend callbacks
The External Game Backend feature allows Elympics to send callbacks to your own API to exchange information about matches and matchmaking. This is essential for implementing player progression, play-to-earn functionality, or smart contract integrations. There are four primary callbacks:
OnQueueJoin: Triggered before a player joins the matchmaking queue.OnQueueLeave: Triggered when a player leaves the matchmaking queue.OnMatchCreate: Triggered after a match is created in the database but before the game server bootstraps.OnMatchFinish: Triggered after a match is finished.
Note: To use
OnMatchCreateandOnMatchFinish, you must implement both endpoints in your backend.Overview of the Elympics Competitive Web3 Gaming Protocol
Elympics is a Competitive Web3 Gaming Protocol designed to bring social gaming and token competitions to existing blockchain ecosystems. It focuses on skill-based, zero-sum game economies to create a trustless and transparent environment for competitive gaming.Overview of External Game Backend callbacks
The External Game Backend feature allows Elympics to send callbacks to your own API at specific stages of the match flow. This is used for player progression, play-to-earn functionality, or smart contract integration. There are four primary callbacks:
OnQueueJoin: Triggered before a player joins the matchmaking queue.OnQueueLeave: Triggered just before a player leaves the matchmaking queue.OnMatchCreate: Triggered after a match is created in the database but before the game server bootstraps.OnMatchFinish: Triggered after a match is finished.
Overview of Instant Tournaments
Instant tournaments are competitions where players are joined automatically via matchmaking based on a specified bet amount and the number of opponents. Unlike social tournaments, they do not require invitations.
Key characteristics include:
- Configuration: Defined by the number of participants, the currency used for entry fees/prizes, and the reward distribution percentage for top players.
- Flexibility: Can be configured for 2 players to act as asynchronous duels.
- Lifecycle: A tournament concludes once enough players join. If a tournament does not complete within 24 hours, it is cancelled and entry fees are returned.
- Player Limits: A player can only play one match per specific instant tournament instance, but can join multiple different instant tournaments simultaneously.
Overview of Elympics CLI capabilities
The Elympics CLI is a command-line tool that provides the same functionality as the game developers panel, enabling management of game properties in both manual and automated environments. It allows developers to manage organizations, games, game versions, matchmaking queues, deployment regions, and fleets. Additionally, it can be used to retrieve public RSA keys required for validating External Game Backend requests.Overview of Elympics Web3 Gaming Protocol
Elympics is a Web3 Gaming Protocol designed for building competitive, skill-based games with zero-sum competition mechanics. It allows developers to build gameplay within Unity using native components while the protocol handles synchronization, security, and monetization. A core architectural requirement of Elympics is server authority, ensuring an impartial source of truth for all gameplay to maintain security in competitive environments.Understand Elympics Server-Authoritative Architecture
Elympics uses a server-authoritative architecture where the game runs simultaneously on a server and a client. To ensure game safety and prevent cheating, all game logic MUST be processed on the server. The client influences the game state only by sending inputs. To eliminate input lag, the client uses prediction to simulate state locally, which is then corrected via reconciliation if it differs from the server's confirmed state. Developers write a single codebase that runs on both instances, using markers to distinguish server-exclusive or client-exclusive logic.Choose the correct multiplayer architecture for e-sports and play-to-earn games
For games requiring fairness, such as e-sports or play-to-earn titles where players are rewarded for achievements, the Server Authoritative approach is the only viable option. Peer to Peer and Client Authoritative models cannot ensure fairness or prevent cheating, as they lack a central, trusted arbitrator to validate game state changes against game logic.Access Elympics SDK learning resources and tutorials
Elympics provides several resources to help developers integrate gameplay:
- Video Tutorials: Basics of integrated gameplay development.
- Full Game Course: Creating a 1v1 gameplay from scratch (legacy lobby).
- Text Tutorials: Step-by-step game creation.
- Game Templates: Source code for existing games to learn from or expand.
- Package Samples: Built-in samples for testing specific features.
- Feature Guides: Specialized guidance on handling randomness (seed generation) and player movement based on input.
Manage tournaments and leaderboards via PlayPadCommunicator
The
PlayPadCommunicatorprovides access to two primary communication interfaces for competitive play:- TournamentCommunicator: Used to fetch data about social and instant tournaments. Use the
SetActiveTournamentmethod to define the currently active social tournament. - LeaderboardCommunicator: Used to retrieve tournament leaderboards and the user's all-time high score.
- TournamentCommunicator: Used to fetch data about social and instant tournaments. Use the
Understand the Elympics Matchmaking workflow
The matchmaking process follows a specific sequence to move players from a lobby to an active game session:
- Matchmaker: Groups players based on configuration (social queues, private invite links, debug mode, bots, or ELO/ML ranking).
- MatchCreationService: A microservice that handles match instantiation in three steps:
- External Backend Approval: If an 'External game backend' is configured, the backend must approve the match and can modify player data.
- Server Allocation: Requests a game server from the
Fleet. If no server is available, the system attempts to autoscale; otherwise, the match creation fails. - Persistence: Match parameters and allocation results are saved to the
Matches databasefor players to retrieve.
- Fleet: Manages pools of GameServers. Available fleet tiers include
Starter,Basic,Premium, andUltimate.