Skip to main content

Requirements & initial setup

First, let's get acknowledged with important requirements the game has to fulfill, which should be in check not only for the planning phase, but through the whole process of development.

Gameplay design requirements

  1. Competitive - with scoring based on player’s performance (which should be optimised around lowest probability of any two players getting the same result and thus drawing)
  2. Skill-based - minimal or no luck contribution to the score
  3. Match-based - relatively short, independent game sessions, not continuous gameplay like MMORPG for example
  4. Replayable - engaging the player to play repeatedly and ensuring that instead of using skill, the player won't memorize the solution (so some randomization variance is recommended)
  5. Finite - with match finishing conditions, like limited time, reaching some goal, losing all lives
  6. Mobile-friendly - with controls applicable for mobile devices (and desktop at the same time)

Technical requirements

  1. Minimum supported Unity Version is: 2021.3.5f1.
  2. The game must work properly with WebGL. Take into consideration its limitations and be careful not to use WebGL incompatible code or assets (for example some shaders won’t work).
  3. The game should be in 9:16 or 16:9 aspect ratio.
  4. The game should run smoothly on any of the following platforms: mobile, desktop and Telegram. We use a single WebGL build which is hosted through the PlayPad to access all of the specified platforms.
    • UI should be displayed properly regardless of used device.
    • Proper mobile input handling must be provided.
    • Any interactive UI elements such as buttons have to be of appropriate size for comfortable use on small screens.
    • UI should be guiding and intuitive.
  5. The game must be divided into minimum of 2 scenes. Lobby (or menu) scene & Gameplay scene.
    tip

    We recommend using 3 scenes, Initial, Lobby and Gameplay and then placing all the DoNotDestroyOnLoad() game objects in the Initial scene, but this is not mandatory.

  6. Gameplay implementation must follow multiplayer server authoritative approach.
    • This is mandatory even for "single player" games (which we call asynchronous multiplayer, since players compete worldwide via the leaderboards).
    • It provides security and reliability of matches results, preventing cheating (how it does so you can find in the related article).

Initial setup

  1. You must create an account and create your game in the developers console.
  2. Configure a Solo queue if your game is meant to be asynchronous multiplayer.
  3. You must setup and install Elympics Package as per the instructions in this guide.

Continue to server authoritative gameplay setup

With all that in mind, it's time to begin working on gameplay.