Play your game on your own device
klyo_game_playReally play your game and see it: you send input steps, you get screenshots (image content) and the game state. It runs on the OWNER'S device, never on the klyo server: the owner opens the klyo studio (https://dev.klyo.pl/) on a computer or phone and clicks "Allow" under "Your assistant wants to play …" (your call puts that request on the studio, also on one opened within 10 minutes); they see every move and can stop it. Real graphics card, real screen, so 3D games work. Target: slug or upload_id; you play the same version klyo_game_files reads (the waiting version or package under its preview, otherwise the version players have). The first call opens the game, next calls continue it, restart reloads it, close ends the session. steps run on one timeline of at most 3000 ms: each step starts when the previous one ends, or at at_ms to run in parallel (run + turn the camera + jump). Types: key (key like KeyW, ArrowUp, Space, Enter, hold_ms), click (x, y, button, count), tap (x, y), drag (x, y, to_x, to_y, ms, pointer), move (relative mouse dx, dy, ms, for a mouse-look camera), wheel (dy), wait (ms), screenshot. Coordinates are fractions 0 to 1 of the game view. Up to 40 steps and 4 screenshots per call (screenshots adds them at the end, default 1). Input is synthetic (not trusted events): pointer lock is simulated for mouse-look games. request_id makes a retry return the same result without playing twice. stan: ok | brak_urzadzenia (ask the owner to open the studio and click "Allow", then call again) | karta_w_tle (the studio tab is hidden and the browser pauses the game) | urzadzenie_nie_odpowiada | zatrzymane (the owner stopped it) | w_toku. Errors from this session: klyo_game_diagnostics with sesja = sesja.znacznik. Evidence: a play of a waiting version or package in which the game drew at least 10 frames on a hardware graphics card is saved for those exact files (dowod_urzadzenia in the answer); klyo_game_diagnostics then lists it under bramka.sprawdzono_na_urzadzeniu instead of NIESPRAWDZONA, until the files change.
Examples: • Play klyo-blocks: walk forward for a second, look right and take a screenshot • Tap the start button in the middle of my game and show me the first level • Open the waiting version of slice-rush on my phone and swipe left twice
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Your game's address (from klyo_my_games). Give this or `upload_id`. | |
| close | No | End the session and close the game on the owner's device. | |
| steps | No | Input on one timeline of at most 3000 ms. Without `at_ms` a step starts when the previous one ends. | |
| device | No | Which of the owner's devices (`urzadzenie.id` from an earlier answer); default: the most recently switched on. | |
| screen | No | Size of the game view on the owner's device (default: the whole device screen). | |
| restart | No | Reload the game before the steps. | |
| upload_id | No | A waiting-room package, when there is no game yet. | |
| request_id | No | Your id for this call: a retry with the same id returns the same result without playing again. | |
| screenshots | No | Screenshots taken after the steps (default 1 when there is no screenshot step). |