Luxodd Developer Documentation

website·Indexed 30 days ago

https://docs.luxodd.com

Developer resources for building and deploying games to Luxodd arcade cabinets. Includes integration guides and plugins for Unity and Godot, WebSocket protocol reference, hardware specifications, and Admin Portal instructions for managing builds, API keys, and Strategic Betting™ skill-based wagering.

Tokens
32.3K
Snippets
90
Records
228
Agent score
49%

What's inside Luxodd

  1. Overview of the Arcade Shooter sample project

    The Arcade Shooter is a vertical shooter sample project built to showcase the Luxodd Unity plugin. It demonstrates a WebGL build running inside an arcade shell with joystick-only navigation, error handling, and a return-to-menu flow. The project is structured into three architecture layers: Game (gameplay logic, enemies, scoring), UI (views and handlers), and Infrastructure (WebSocket client, analytics, health-check pings).
  2. Overview of the Luxodd Modern Arcade Platform

    Luxodd is a cloud-driven arcade solution that combines traditional face-to-face arcade gaming with modern digital infrastructure. The platform focuses on reducing sedentary behavior and 'mindless' gaming loops by emphasizing short, skill-focused sessions and social interaction. Key platform capabilities include unified user profiles, cashless payment systems, and skill-based strategic betting.
  3. Overview of the Luxodd Modern Arcade Platform

    Luxodd provides a cloud-driven service and hardware design for modern arcades. The platform aims to preserve the social benefits of physical arcade venues—such as face-to-face interaction, short skill-focused sessions, and physical movement—while integrating modern digital conveniences like unified user profiles and electronic payments.
  4. Understand the Luxodd platform architecture and actor roles

    The Luxodd game launch system consists of several interacting components and actors:

    Actors:

    • Game Developers: Manage games via the Admin Portal and test API commands using the Postman collection.
    • Local Players: Users physically at the arcade who register via credit card or online browser.
    • Online Users: Players managing accounts (funds, contact info, passwords) via phone or computer.
    • Merchants: Arcade owners who select games (up to 5 per arcade) and set pricing.

    Infrastructure Components:

    • Luxodd Client Services: Managed web infrastructure handling authentication, registration, account management, arcade data synchronization, card/balance top-ups, analytics, and game launching.
    • Game Services: Developer-managed assets, including WebGL game static files (via Admin Portal) and external backend services.
    • Arcades: Physical hardware units that depend on an internet connection to communicate with Luxodd client services.
  5. Understand the core principles of Strategic Betting™

    Strategic Betting™ is a skill-based wagering model designed to shift the focus from chance-based outcomes to rewards based on skill, dedication, and continuous improvement. It is characterized by the absence of uncontrolled randomness and the presence of guaranteed win potential through the application of skill. The model emphasizes five key benefits: skill development through deliberate practice, cognitive enhancement (attention, memory, and problem-solving), economic opportunity for high-skill players similar to professional esports, and the promotion of responsible wagering by investing in ability rather than luck.
  6. Understand the Strategic Betting™ system

    Strategic Betting™ is a patented skill-based gaming system where players wager on their own performance rather than random outcomes. Unlike traditional gambling (games of chance like slots or roulette), the outcome is determined by the player's reflexes, timing, and decision-making. Players set a stake before a mission (e.g., clearing a level without losing a life) and receive a monetary payout if they successfully complete the challenge.
  7. Understand the Luxodd arcade operator revenue model

    Luxodd provides a skill-based gaming platform for arcade operators. Unlike traditional cabinets, Luxodd functions as a content hub where games are downloadable and updated instantly across all machines. The platform is designed to avoid gambling license legal issues by rooting its framework in skill-based play rather than luck.
  8. Compare Luxodd connected cabinets to traditional arcade cabinets

    Luxodd provides a connected arcade platform featuring a rotating game library, cashless payments, player profiles, and venue reporting. Unlike traditional cabinets designed for a single game, Luxodd uses cloud services to update the game library without requiring hardware replacement.
  9. Merchant Prize system components overview

    The merchant prize system consists of several services and handlers that manage the prize lifecycle, leaderboard tracking, and UI display.
    ComponentResponsibility
    MerchantPrizeWindowServiceReceives, processes and applies prize data.
    MerchantPrizeWindowHandlerShows the prize, player progress, and leaderboard.
    MerchantPrizeNotificationWindowHandlerShows whether the game has an active prize.
    MerchantPrizeResultWindowHandlerManages the result window, animations, and Exit/Continue actions.
    MerchantPrizeInfoPayloadData object containing prize details.
    LeaderboardServiceFetches, caches, and updates leaderboard data.
    GameplayLeaderboardTrackerTracks real-time progress and leaderboard position.
    LeaderboardPlayerItemViewUI row for a single player (rank, name, score).
    LeaderboardPlayerDisplayDataUI data model for a leaderboard row.
  10. Understand the Strategic Betting™ framework

    Strategic Betting™ is a wagering model developed by Luxodd that emphasizes player skill over chance. Unlike traditional gambling, it is designed as a deterministic system where a sufficiently skilled player can theoretically achieve a 100% win rate, eliminating the house edge through mastery.
  11. Implement a Passive View UI architecture (MVP-lite)

    The UI follows a Passive View pattern where logic is strictly separated from the view.

    • View (BaseView): Responsible only for buttons, texts, and animations. It raises callbacks and contains no logic.
    • Handler (*ViewHandler): Contains the logic, fills the view with data, and handles click events.
    public interface IView{
        bool Visible { get; set; }
        void Show();
        void Hide();
    }
    public abstract class BaseView : MonoBehaviour, IView{
        [SerializeField] bool _hideOnAwake = true;
        public bool Visible { get; set; }
        public void Show() { gameObject.SetActive(true); OnShow(); }
        public void Hide()
        {
            OnBeforeHide(() => { gameObject.SetActive(false); OnHide(); });
        }
        protected virtual void OnShow() {}
        protected virtual void OnHide() {}
        protected virtual void OnBeforeHide(Action done) { done?.Invoke(); }
    }
  12. Understand the Luxodd player journey and game integration

    The Luxodd cabinet follows a specific sequence of events for players. Developers should be aware of these touchpoints to optimize their game's visibility and performance:

    1. Attract Mode: When idle, the cabinet cycles through selected games playing their attractor videos. This is the primary way to attract players.
    2. Browsing: Players use the joystick to flick through games, seeing the video or poster for the selected title.
    3. Payment & Authentication: After pressing Start, players tap a card to pay (using the price set in the Admin Portal) and enter their Luxodd passcode via the cabinet's metal keypad. The game does not handle payment or card data.
    4. Loading: The sequence is: "Connecting..." $\rightarrow$ Luxodd splash $\rightarrow$ Engine splash $\rightarrow$ Game. Small build sizes are critical to prevent player drop-off during this phase.
    5. Help Overlay: Holding the orange Help button displays a help overlay containing the game description, controls, and leaderboard. This content is configured on the game's Map Joystick Keys page in the Admin Portal.
    6. Exiting: Players can press the white Menu / Back button to exit at any time. Because sessions can be terminated abruptly, developers must save progress incrementally rather than relying on a final game-over screen.