Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "klyo_game_translate"
⟨209 unchanged words⟩ required, Polish for XP); that is klyo_fix_game. PAGE ADDRESS PER LANGUAGE: every language page of the game has its own address in that language (/de/spider-solitaer/, /uk/pasians-pavuk/), never the Polish one. Send `adres` with the language, or we derive it from the translated name; it is approved together with the texts and then stays stable (a later name change does not move it). Examples: • Translate my game into all ⟨21 unchanged words⟩
⟨58 unchanged words⟩ sterowanie_klawiatura, czas_partii; only those the game has). Optional `adres` (languages other than pl and en): the game page address in that language, lowercase Latin letters, digits and single hyphens, 2 to 60 characters, from the translated name (German \"Spider Solitär\" → spider-solitaer, Ukrainian \"Пасьянс Павук\" → pasians-pavuk). Without it we build it from the translated `nazwa`. A taken or reserved address comes back in `odrzucone`; after the owner approves, the old address redirects 301 to the new one.","type":"object"}},"required": ⟨3 unchanged words⟩
Changed the definition of "klyo_game_translate"
⟨209 unchanged words⟩ required, Polish for XP); that is klyo_fix_game. PAGE ADDRESS PER LANGUAGE: every language page of the game has its own address in that language (/de/spider-solitaer/, /uk/pasians-pavuk/), never the Polish one. Send `adres` with the language, or we derive it from the translated name; it is approved together with the texts and then stays stable (a later name change does not move it). Examples: • Translate my game into all ⟨21 unchanged words⟩
⟨58 unchanged words⟩ sterowanie_klawiatura, czas_partii; only those the game has). Optional `adres` (languages other than pl and en): the game page address in that language, lowercase Latin letters, digits and single hyphens, 2 to 60 characters, from the translated name (German \"Spider Solitär\" → spider-solitaer, Ukrainian \"Пасьянс Павук\" → pasians-pavuk). Without it we build it from the translated `nazwa`. A taken or reserved address comes back in `odrzucone`; after the owner approves, the old address redirects 301 to the new one.","type":"object"}},"required":
Added "klyo_game_analytics"; changed the definition of "klyo_game_diagnostics" and "klyo_seo_insights" (39 tools before, 40 now)
⟨251 unchanged words⟩ . Never report NIESPRAWDZONA or POMIAR_NIEAKTUALNY as ready. GOOGLE: `widocznosc` (game in the catalogue) says whether the game page is in Google search: `w_google: false` with `problemy[]` (`kod` podobny_opis: the page text repeats `z` by `procent` % above `prog` %, so the last catalogue build took the page out of Google with noindex), each with `dlaczego`/`jak_naprawic` and `en.why`/`en.how_to_fix`; with a passing gate the same shows in `_najpierw.google`. A green gate does not mean the page is in Google: rewrite the description in that language (klyo_fix_game) and it returns with the next build. `fps` is the GAME's frame rate, null when ⟨254 unchanged words⟩
⟨6 unchanged words⟩ : pages to create, titles to fix,
Added "klyo_game_analytics"; changed the definition of "klyo_game_diagnostics" (22 tools before, 23 now)
⟨251 unchanged words⟩ . Never report NIESPRAWDZONA or POMIAR_NIEAKTUALNY as ready. GOOGLE: `widocznosc` (game in the catalogue) says whether the game page is in Google search: `w_google: false` with `problemy[]` (`kod` podobny_opis: the page text repeats `z` by `procent` % above `prog` %, so the last catalogue build took the page out of Google with noindex), each with `dlaczego`/`jak_naprawic` and `en.why`/`en.how_to_fix`; with a passing gate the same shows in `_najpierw.google`. A green gate does not mean the page is in Google: rewrite the description in that language (klyo_fix_game) and it returns with the next build. `fps` is the GAME's frame rate, null when ⟨254 unchanged words⟩
Why players leave: game analytics — Game analytics for the developer, read `_najpierw` first: one verdict (`wyrok`, `en.verdict`) and the top tasks with a reason and a fix (`dlaczego`/`jak`, `en.why`/`en.how`). Then: `lejek` = the session funnel the klyo kit records with NO code in the game (wejscie = opened the game page, start = pressed Play, gotowa = klyo.ready() with average load ms for phone and computer, ruch = first real move, gra30 = 30 s of visible play, wynik = reached a score), each step with `sesji`, `telefon`, `komputer` and `odpada` (sessions lost at this step, the answer to WHERE players leave); `poziomy` from kl…
Changed the definition of "klyo_creator_card", "klyo_fill_game_form", "klyo_fix_game" and 1 more
⟨19 unchanged words⟩ <pl>...</pl><en>...</en>, each version counted on its own. Keep it short: the Google title of the page is “Free {name}: {tagline}” (Polish “{nazwa} za darmo: {haslo}”) and must fit 59 characters, otherwise the page gets the generic “{name}: play free online”; do not repeat free/za darmo, the template adds it. The tool answer `do_poprawy` shows the resulting title per language. Omit to leave it as it is."," ⟨27 unchanged words⟩
⟨166 unchanged words⟩ the words players search for (“classic offlinesudoku for free”sudoku”). It stands under the name as the H2 and in the Google title of the page.
Changed the definition of "klyo_creator_card", "klyo_fill_game_form", "klyo_fix_game" and 1 more
⟨19 unchanged words⟩ <pl>...</pl><en>...</en>, each version counted on its own. Keep it short: the Google title of the page is “Free {name}: {tagline}” (Polish “{nazwa} za darmo: {haslo}”) and must fit 59 characters, otherwise the page gets the generic “{name}: play free online”; do not repeat free/za darmo, the template adds it. The tool answer `do_poprawy` shows the resulting title per language. Omit to leave it as it is."," ⟨27 unchanged words⟩
⟨166 unchanged words⟩ the words players search for (“classic offlinesudoku for free”sudoku”). It stands under the name as the H2 and in the Google title of the page.
Authorization not required, issuer https://panel.klyo.pl
Changed the definition of "klyo_fill_game_form", "klyo_fix_game" and "klyo_publish_game"
⟨1239 unchanged words⟩ ), `pion` = portrait (like a phone)or, `oba` = both, the game adapts when the screenrotates.rotates, or `komputer` = computer only (mouse and keyboard, landscape): the portal hides the game on phones and its page tells phone visitors to play on a computer. Phone screen notes then warn instead of blocking the release.","enum":["poziom","pion","oba","komputer"],"type":"string"},"wulgaryzmy": ⟨54 unchanged words⟩
⟨1454 unchanged words⟩ Recently observed → Live
Live → Recently observed
Authorization not required, issuer https://panel.klyo.pl
Changed the definition of "klyo_fill_game_form", "klyo_fix_game" and "klyo_publish_game"
⟨1239 unchanged words⟩ ), `pion` = portrait (like a phone)or, `oba` = both, the game adapts when the screenrotates.rotates, or `komputer` = computer only (mouse and keyboard, landscape): the portal hides the game on phones and its page tells phone visitors to play on a computer. Phone screen notes then warn instead of blocking the release.","enum":["poziom","pion","oba","komputer"],"type":"string"},"wulgaryzmy": ⟨54 unchanged words⟩
⟨1454 unchanged words⟩ Authorization not required, issuer https://panel.klyo.pl
Authorization not required, issuer https://panel.klyo.pl
Changed the definition of "klyo_fill_game_form", "klyo_fix_game" and "klyo_publish_game"
⟨856 unchanged words⟩ "description":"Description for players in TWO versions (up to 4000 characters EACH, as in the studio), each in its own tag: <en>…</en> in English ⟨83 unchanged words⟩ no lists or bold, no HTML tags. SUBHEADINGS: a line that starts with “## ” becomes a subheading on the game page; use them for the questions players really ask (“## How to play sudoku”, “## Sudoku tips for beginners”), each followed by a paragraph, and never as the first line (the first sentence is the lead). Other languages (<de>, <es>…) only when the ⟨11 unchanged words⟩ klyo_game_translate as proposals to approve.","maxLength":40009000,"type":"string"},"przemoc_realistyczna":{" ⟨268 unchanged words⟩
Changed the definition of "klyo_fill_game_form", "klyo_fix_game" and "klyo_publish_game"
⟨856 unchanged words⟩ "description":"Description for players in TWO versions (up to 4000 characters EACH, as in the studio), each in its own tag: <en>…</en> in English ⟨83 unchanged words⟩ no lists or bold, no HTML tags. SUBHEADINGS: a line that starts with “## ” becomes a subheading on the game page; use them for the questions players really ask (“## How to play sudoku”, “## Sudoku tips for beginners”), each followed by a paragraph, and never as the first line (the first sentence is the lead). Other languages (<de>, <es>…) only when the ⟨11 unchanged words⟩ klyo_game_translate as proposals to approve.","maxLength":40009000,"type":"string"},"przemoc_realistyczna":{" ⟨268 unchanged words⟩
Changed the definition of "klyo_game_requirements"
⟨37 unchanged words⟩ game loop, minimum content, sound, graphics, a catalogue of FREE game assets by genre (CC0 3D models, textures, sounds, fonts with direct download links and a credit line for each; propose a premium version of the game to the user with them), social layer (leaderboard, saves, clips; multiplayer only ⟨96 unchanged words⟩ Build a puzzle game for phone and desktop • Where can I get free 3D models and sounds for my game?
Changed the definition of "klyo_game_requirements"
⟨37 unchanged words⟩ game loop, minimum content, sound, graphics, a catalogue of FREE game assets by genre (CC0 3D models, textures, sounds, fonts with direct download links and a credit line for each; propose a premium version of the game to the user with them), social layer (leaderboard, saves, clips; multiplayer only ⟨96 unchanged words⟩ Build a puzzle game for phone and desktop • Where can I get free 3D models and sounds for my game?
Authorization not required, issuer https://panel.klyo.pl
Authorization not required, issuer https://panel.klyo.pl
Authorization not required, issuer https://panel.klyo.pl
Authorization not required, issuer https://panel.klyo.pl
Authorization not required, issuer https://panel.klyo.pl
Authorization not required, issuer https://panel.klyo.pl
Authorization not required, issuer https://panel.klyo.pl
Authorization not required, issuer https://panel.klyo.pl
Authorization not required, issuer https://panel.klyo.pl
Authorization not required, issuer https://panel.klyo.pl
Added "klyo_game_play" (38 tools before, 39 now)
Play your game on your own device — Really 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 pr…
Added "klyo_game_play" (21 tools before, 22 now)
Play your game on your own device — Really 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 pr…
Changed the definition of "klyo_game_diagnostics"
⟨187 unchanged words⟩ a measurement starts with every version release). VERDICT `bramka.wynik`: POPRAW (fix `krytyczne`), GOTOWA, GOTOWA_BEZ_POMIARU_EKRANOW, NIESPRAWDZONA (the game asked for 3D graphics, WebGL or WebGPU, and the measurement browser has none: the klyo server renders no 3D, so the gameplay was NOT seen; `nie_sprawdzono`, test it on a device with a graphics card) and POMIAR_NIEAKTUALNY (the measurement describes older files, `dopasowanie.aktualny: false`: order `zmierz`). Never report NIESPRAWDZONA or POMIAR_NIEAKTUALNY as ready. `fps` is the GAME's frame rate, null when the game drew no frame (the page rhythm is in `fps_strony`); `grafika_gry` says what the game asked for, `maszyna.grafika` what the measurement browser can render. A thumbnail overwritten by a later measurement loses `zrzut_adres` (`zrzut_z_innego_pomiaru: true`). Read-only. YOUR BROWSER IS THE EYE HERE: we ⟨208 unchanged words⟩
Changed the definition of "klyo_game_diagnostics"
⟨187 unchanged words⟩ a measurement starts with every version release). VERDICT `bramka.wynik`: POPRAW (fix `krytyczne`), GOTOWA, GOTOWA_BEZ_POMIARU_EKRANOW, NIESPRAWDZONA (the game asked for 3D graphics, WebGL or WebGPU, and the measurement browser has none: the klyo server renders no 3D, so the gameplay was NOT seen; `nie_sprawdzono`, test it on a device with a graphics card) and POMIAR_NIEAKTUALNY (the measurement describes older files, `dopasowanie.aktualny: false`: order `zmierz`). Never report NIESPRAWDZONA or POMIAR_NIEAKTUALNY as ready. `fps` is the GAME's frame rate, null when the game drew no frame (the page rhythm is in `fps_strony`); `grafika_gry` says what the game asked for, `maszyna.grafika` what the measurement browser can render. A thumbnail overwritten by a later measurement loses `zrzut_adres` (`zrzut_z_innego_pomiaru: true`). Read-only. YOUR BROWSER IS THE EYE HERE: we ⟨208 unchanged words⟩
Changed the definition of "klyo_publish_game"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨2116 unchanged words⟩ ZIP package (index.html inside), up to100200 MB. Only for a game that REALLY is ⟨21 unchanged words⟩
Changed the definition of "klyo_publish_game"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨2116 unchanged words⟩ ZIP package (index.html inside), up to100200 MB. Only for a game that REALLY is ⟨21 unchanged words⟩
Authorization not required, issuer https://panel.klyo.pl
Authorization not required, issuer https://panel.klyo.pl
Changed the definition of "klyo_game_diagnostics"
Read `_najpierw` first: one object with what blocks the release (`co`), the parsed error (`komunikat`, `miejsce` file:line, `biblioteka` crate and version, `urzadzenie` device and browser), why (`dlaczego`, `en.why`) and how to fix it (`jak_naprawic`, `en.how_to_fix`). Each raw trace appears once, in `bledy_przegladarki`; `bledy_rozbior[].linia` points into it. Eyes inside the game: for a package in ⟨354 unchanged words⟩
Changed the definition of "klyo_game_diagnostics"
Read `_najpierw` first: one object with what blocks the release (`co`), the parsed error (`komunikat`, `miejsce` file:line, `biblioteka` crate and version, `urzadzenie` device and browser), why (`dlaczego`, `en.why`) and how to fix it (`jak_naprawic`, `en.how_to_fix`). Each raw trace appears once, in `bledy_przegladarki`; `bledy_rozbior[].linia` points into it. Eyes inside the game: for a package in ⟨354 unchanged words⟩
Certificate recorded, valid to 2026-12-05
Authorization not required, issuer https://panel.klyo.pl
Changed the definition of "klyo_ga4_analysis"
Google Analytics:who visits thesite/ who plays theactivity,appgame—retentionverdict,andtasks,attributedpages,cohortsourcesrevenue
Authorization not required, issuer https://panel.klyo.pl
First tool surface recorded: 21 tools (server version 0.1.0)
https://panel.klyo.pl/mcp?profil=gry (mcp_streamable_http) — from mcp_registry
Changed the definition of "klyo_ads_ideas", "klyo_creator_card", "klyo_delete_game" and 6 more
⟨71 unchanged words⟩ = Polska).","type":"integer"},"limit":{"description":"Ile pomysłów oddać, najpopularniejsze pierwsze (domyślnie 50). Odpowiedź mówi, ilu było wszystkich.","maximum":500,"minimum":1,"type":"integer"},"tylko_zarodki":{"description":"Tylko podane frazy z ich liczbami (popyt na własne słowa), bez podobnych.","type":"boolean"}},"required":["customer_id"],"type":"object"}
⟨4 unchanged words⟩ description":"One sentence up to 80 characters per language with no full stop; may have<pl>…</pl><en>…</en>.<pl>...</pl><en>...</en>,
Authorization required → not required, issuer https://panel.klyo.pl
Changed the definition of "klyo_add_post", "klyo_admob_analysis", "klyo_ads_account" and 35 more
NapiszWritewpisawpostspołecznościin the klyo games community:pytaniea question,prośbaaorequesttestyfor playtesters,premieraa
Added "klyo_fill_game_form", "klyo_game_files" and "klyo_game_patch"; changed the definition of "klyo_game_diagnostics", "klyo_publish_game" and "klyo_release_version" (35 tools before, 38 now)
⟨188 unchanged words⟩ wartością, a dostaniesz wyłącznie błędy ze swojego przebiegu. NIE MASZ PRZEGLĄDARKI (rozmowa w claude.ai albo ChatGPT)? Podaj `zmierz: true` dla paczki albo czekającej wersji: otworzymy podgląd za ciebie, zbierzemy błędy i miniatury czterech ekranów (`zrzut_adres`); jeden pomiar naraz na konto, 6 na godzinę. Gra z czekającą wersją (warsztat) pokazuje jej pliki, błędy i przegląd premium (`przeglad`). Przykłady wywołań: • Dlaczego moja gra pokazuje ⟨15 unchanged words⟩
{"additionalProperties":false,"properties":{"pelny":{"description":"Z `zmierz: true`: profil produkcyjny, który robisz przed `etap: gotowa` i przed wydaniem innym niż `poprawka`. Do czterech ekranów dochodzi słaby telefon (procesor ×4, sieć 3G: klatki, zacięcia, pamięć, pierwsza klatka) i każdy zadeklarowany język gry (`jezyki_ui`; paczka bez deklaracji: języki, które gra oferuje), z miniaturą języka (`dopasowanie.jezyki.jezyki[].zrzut_adres`), kluczami bez tłumaczenia, angielskim zapasem, tekstem uciętym i poza ekranem. Trwa 3 do 4 minut i liczy się za dwa pomiary z limitu. `pomiar_pelny` w odpowiedzi mówi, czy bieżący wynik ma ten profil.","type":"boolean"},"Added "klyo_add_post", "klyo_creator_card", "klyo_delete_game" and 8 more; changed the definition of "klyo_game_diagnostics" (24 tools before, 35 now)
⟨77 unchanged words⟩ | `maly_ekran` | `maly_tekst` | `ciezka` | `dlugie_wczytanie` | `niski_fps` | `male_cele_dotyku` | `przycisk_bez_nazwy`, `dotyk_nasluch` i miniatury `zrzut`; `null` = gra ⟨120 unchanged words⟩
Post in the games community — Napisz wpis w społeczności klyo games: pytanie, prośba o testy, premiera albo pokaz gry. Wpis jest widoczny od razu, bez kolejki moderacyjnej, i może być podpięty do gry z katalogu (`gra_slug`) — wtedy czytający ma przycisk „zagraj”. Przykłady wywołań: • Napisz na klyo wpis o premierze mojej gry • Poproś o testy mojej gry na klyo games • Dodaj pokaz gry lantern-thief w społeczności
Write the creator's profile card (owner's own AI) — Wizytówka twórcy na games.klyo.pl: „o mnie” i hasło pod nazwą. PISZESZ TY: asystent właściciela, na JEGO planie AI; klyo nie uruchamia żadnego modelu. Bez `o_mnie` i `haslo` oddajemy obecną wizytówkę, wydane gry (jedyny materiał, z którego wolno pisać) i zasady. Z nimi zapisujemy przez to samo sito co studio; pole pominięte zostaje bez zmian. Zapis zmienia publiczną stronę twórcy od razu, więc NAJPIERW pokaż tekst właścicielowi i zapisz dopiero po jego zgodzie. Nie zmyślaj faktów o osobie. Przykłady wywołań: • Napisz moją wizytówkę twórcy na klyo • Popraw hasło pod moją nazwą na stronie twór…
First tool surface recorded: 24 tools (server version 0.1.0)
Authorization required, Bearer
Authorization required, Bearer, issuer https://panel.klyo.pl
Authorization required, Bearer, issuer https://panel.klyo.pl
Certificate recorded, valid to 2026-12-05
Authorization required, Bearer, issuer https://panel.klyo.pl
Showing the latest 55 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨41 unchanged words⟩ `pokazane_bez_kliku` (fraza z pokazaniami i zerem kliknięć), `dwie_strony` (na tę samą frazę Google pokazuje dwie nasze strony i dzielą siłę: `adres` to strona, która ma oddać frazę, `jak` mówi jak, osobno dla ramki gry, strony rozmów, tej samej strony w innym języku i zwykłej strony) oraz `spadek` (kliknięcia niżej o 30 %+ ⟨71 unchanged words⟩
⟨15 unchanged words⟩ : pages to create, titles to fix, pages competing, drops"}
Why players leave: game analytics — Game analytics for the developer, read `_najpierw` first: one verdict (`wyrok`, `en.verdict`) and the top tasks with a reason and a fix (`dlaczego`/`jak`, `en.why`/`en.how`). Then: `lejek` = the session funnel the klyo kit records with NO code in the game (wejscie = opened the game page, start = pressed Play, gotowa = klyo.ready() with average load ms for phone and computer, ruch = first real move, gra30 = 30 s of visible play, wynik = reached a score), each step with `sesji`, `telefon`, `komputer` and `odpada` (sessions lost at this step, the answer to WHERE players leave); `poziomy` from kl…
⟨335 unchanged words⟩ the words players search for (“classic offlinesudoku for free”sudoku”). It stands under the name as the H2 and in the Google title of the page. Keep it short: the Google title of the page is “Free {name}: {tagline}” (Polish “{nazwa} za darmo: {haslo}”) and must fit 59 characters, otherwise the page gets the generic “{name}: play free online”; do not repeat free/za darmo, the template adds it. The tool answer `do_poprawy` shows the resulting title per language. REQUIRED for release: without it the server ⟨1265 unchanged words⟩
⟨373 unchanged words⟩ the words players search for (“classic offlinesudoku for free”sudoku”). It stands under the name as the H2 and in the Google title of the page. Keep it short: the Google title of the page is “Free {name}: {tagline}” (Polish “{nazwa} za darmo: {haslo}”) and must fit 59 characters, otherwise the page gets the generic “{name}: play free online”; do not repeat free/za darmo, the template adds it. The tool answer `do_poprawy` shows the resulting title per language. REQUIRED for release: without it the server ⟨1842 unchanged words⟩
⟨335 unchanged words⟩ the words players search for (“classic offlinesudoku for free”sudoku”). It stands under the name as the H2 and in the Google title of the page. Keep it short: the Google title of the page is “Free {name}: {tagline}” (Polish “{nazwa} za darmo: {haslo}”) and must fit 59 characters, otherwise the page gets the generic “{name}: play free online”; do not repeat free/za darmo, the template adds it. The tool answer `do_poprawy` shows the resulting title per language. REQUIRED for release: without it the server ⟨1265 unchanged words⟩
⟨373 unchanged words⟩ the words players search for (“classic offlinesudoku for free”sudoku”). It stands under the name as the H2 and in the Google title of the page. Keep it short: the Google title of the page is “Free {name}: {tagline}” (Polish “{nazwa} za darmo: {haslo}”) and must fit 59 characters, otherwise the page gets the generic “{name}: play free online”; do not repeat free/za darmo, the template adds it. The tool answer `do_poprawy` shows the resulting title per language. REQUIRED for release: without it the server ⟨1842 unchanged words⟩
⟨2002 unchanged words⟩ ), `pion` = portrait (like a phone)or, `oba` = both, the game adapts when the screenrotates.rotates, or `komputer` = computer only (mouse and keyboard, landscape): the portal hides the game on phones and its page tells phone visitors to play on a computer. Phone screen notes then warn instead of blocking the release.","enum":["poziom","pion","oba","komputer"],"type":"string"},"uklad_pionowy":{ ⟨150 unchanged words⟩ ZIP package (index.html inside), up to200350 MB. Only for a game that REALLY is ⟨21 unchanged words⟩
⟨2002 unchanged words⟩ ), `pion` = portrait (like a phone)or, `oba` = both, the game adapts when the screenrotates.rotates, or `komputer` = computer only (mouse and keyboard, landscape): the portal hides the game on phones and its page tells phone visitors to play on a computer. Phone screen notes then warn instead of blocking the release.","enum":["poziom","pion","oba","komputer"],"type":"string"},"uklad_pionowy":{ ⟨150 unchanged words⟩ ZIP package (index.html inside), up to200350 MB. Only for a game that REALLY is ⟨21 unchanged words⟩
⟨1025 unchanged words⟩ "description":"Description for players in TWO versions (up to 4000 characters EACH, as in the studio), each in its own tag: <en>…</en> in English ⟨83 unchanged words⟩ no lists or bold, no HTML tags. SUBHEADINGS: a line that starts with “## ” becomes a subheading on the game page; use them for the questions players really ask (“## How to play sudoku”, “## Sudoku tips for beginners”), each followed by a paragraph, and never as the first line (the first sentence is the lead). Other languages (<de>, <es>…) only when the ⟨11 unchanged words⟩ klyo_game_translate as proposals to approve.","maxLength":40009000,"type":"string"},"przemoc_realistyczna":{" ⟨379 unchanged words⟩
⟨1063 unchanged words⟩ "description":"Description for players in TWO versions (up to 4000 characters EACH, as in the studio), each in its own tag: <en>…</en> in English ⟨83 unchanged words⟩ no lists or bold, no HTML tags. SUBHEADINGS: a line that starts with “## ” becomes a subheading on the game page; use them for the questions players really ask (“## How to play sudoku”, “## Sudoku tips for beginners”), each followed by a paragraph, and never as the first line (the first sentence is the lead). Other languages (<de>, <es>…) only when the ⟨11 unchanged words⟩ klyo_game_translate as proposals to approve.","maxLength":40009000,"type":"string"},"przeglad":{" ⟨956 unchanged words⟩
⟨1025 unchanged words⟩ "description":"Description for players in TWO versions (up to 4000 characters EACH, as in the studio), each in its own tag: <en>…</en> in English ⟨83 unchanged words⟩ no lists or bold, no HTML tags. SUBHEADINGS: a line that starts with “## ” becomes a subheading on the game page; use them for the questions players really ask (“## How to play sudoku”, “## Sudoku tips for beginners”), each followed by a paragraph, and never as the first line (the first sentence is the lead). Other languages (<de>, <es>…) only when the ⟨11 unchanged words⟩ klyo_game_translate as proposals to approve.","maxLength":40009000,"type":"string"},"przemoc_realistyczna":{" ⟨379 unchanged words⟩
⟨1063 unchanged words⟩ "description":"Description for players in TWO versions (up to 4000 characters EACH, as in the studio), each in its own tag: <en>…</en> in English ⟨83 unchanged words⟩ no lists or bold, no HTML tags. SUBHEADINGS: a line that starts with “## ” becomes a subheading on the game page; use them for the questions players really ask (“## How to play sudoku”, “## Sudoku tips for beginners”), each followed by a paragraph, and never as the first line (the first sentence is the lead). Other languages (<de>, <es>…) only when the ⟨11 unchanged words⟩ klyo_game_translate as proposals to approve.","maxLength":40009000,"type":"string"},"przeglad":{" ⟨956 unchanged words⟩
{"additionalProperties":false,"properties":{"dni":{"description":"Oknopełnychzakończonych dni, domyślnie dodziśwczoraj: 7, 28 (domyślnie) albo 90.","enum":[7,28,90],"type":"integer"},"do":{"description":"Ostatni dzień YYYY-MM-DD, włącznie.","type":"string"},"format":{"maxLength":100,"type":"string"},"kampania":{"description":"firstUserGoogleAdsCampaignId","maxLength":100,"type":"string"},"kraj":{"description":"ISO kraju, * dla wszystkich, pusty dla nierozpoznanego.","type":"string"},"od":{"description":"Pierwszy dzień YYYY-MM-DD, łącznie najwyżej 90 dni.","type":"string"},"platforma":{"description":"Jedna platforma, domyślnie Android.","enum":["android","ios","facebook"],"type":"string"},"property_id":{"description":"Numer usługi Google Analytics ⟨17 unchanged words⟩ nie ma — pierwsza witryna.","maxLength":20,"type":"string"},"strefa":{"description":"Strefa IANA zgodna ze źródłem, domyślnie Europe/Warsaw.","type":"string"},"waluta":{"description":"Waluta raportu GA4 ISO 4217, domyślnie PLN.","type":"string"},"wersja":{"maxLength":100,"type":"string"}},"type":"object"}
⟨6 unchanged words⟩ "readOnlyHint":true,"title":"Google Analytics:who visits thesite/ who plays theactivity,appgame—retentionverdict,andtasks,attributedpages,cohortsourcesrevenue"}
⟨82 unchanged words⟩ same game ended up in the waiting room. A package that never became a game (only `upload_id` in the waiting room, from klyo_upload_package or klyo_my_games) is deleted with `upload_id` instead of `slug`: its file and preview are removed for good. Examples: • Delete my game neon-coil-arena • ⟨17 unchanged words⟩
⟨13 unchanged words⟩ (from klyo_my_games).","type":"string"}},"requiredupload_id":[{"slugdescription"]:"Package in the waiting room that never became a game (from klyo_upload_package or klyo_my_games → paczki).","type":"string"}},"type":"object"}
⟨131 unchanged words⟩ the name: one sentence up to 80 characters PER LANGUAGE, no full stop at the end, plain text or one version per tag (<en>...</en><pl>...</pl>, each version counted on its own): what the game is, in the words ⟨30 unchanged words⟩ the server refuses (`brak_hasla`).","maxLength":80900,"type":"string"},"jezyk_tekstu":{" ⟨557 unchanged words⟩ the game's name, up to 30 characters PER LANGUAGE (as in Google Play and the App Store): “2048 Blockfall”,in“NeonONECoil: Family Arena”. One language:(seeplain`jezyk_tekstu`)text in `jezyk_tekstu`. Several:“2048oneBlockfall”version per tag,“Neon<en>Kulki:CoilGlass Garden</en><pl>Kulki:FamilySzklanyArena”.Ogrod</pl>, and the 30-character limit counts each version on its own. NO tagline and no search phrases (“play free ⟨24 unchanged words⟩ start with another company's brand.","maxLength":30400,"type":"string"},"opis":{" ⟨401 unchanged words⟩
⟨300 unchanged words⟩ the name: one sentence up to 80 characters PER LANGUAGE, no full stop at the end, plain text or one version per tag (<en>...</en><pl>...</pl>, each version counted on its own): what the game is, in the words ⟨30 unchanged words⟩ the server refuses (`brak_hasla`).","maxLength":80900,"type":"string"},"jezyk_tekstu":{" ⟨557 unchanged words⟩ the game's name, up to 30 characters PER LANGUAGE (as in Google Play and the App Store): “2048 Blockfall”,in“NeonONECoil: Family Arena”. One language:(seeplain`jezyk_tekstu`)text in `jezyk_tekstu`. Several:“2048oneBlockfall”version per tag,“Neon<en>Kulki:CoilGlass Garden</en><pl>Kulki:FamilySzklanyArena”.Ogrod</pl>, and the 30-character limit counts each version on its own. NO tagline and no search phrases (“play free ⟨24 unchanged words⟩ start with another company's brand.","maxLength":30400,"type":"string"},"opis":{" ⟨512 unchanged words⟩
⟨272 unchanged words⟩ of four screens (`zrzut_adres`); one measurement runs at a time per account,and one more waits in the queue and starts by itself; 6 perhour.hour, a full measurement counts as two. Add `pelny: true` for the production profile ⟨50 unchanged words⟩
{"additionalProperties":false,"properties":{"jezyki":{"description":"With `pelny: true`: the languages to check (for example [\"pl\",\"en\",\"de\"]) instead of the ones the game declares. A language the game does not show is `jezyk_niedostepny`.","items":{"type":"string"},"maxItems":12,"type":"array"},"pelny":{"description":"With `zmierz: true`: ⟨231 unchanged words⟩ stored result without a browser, one measurement runs at a time per account,and one more waits in the queue and starts by itself; 6 perhour.hour, a full measurement counts as two. The `pomiar` field says what happened; you see ⟨12 unchanged words⟩
{"additionalProperties":false,"properties":{"dni":{"description":"How many days of the daily series (default 30).","maximum":365,"minimum":1,"type":"integer"},"slug":{"description":"Game address in the catalogue, for example lantern-thief (from klyo_my_games).","type":"string"},"sprawdz_google":{"description":"Ask Google about this game's pages now (URL Inspection), at most once an hour per game. Each page then carries `sprawdzono` (when we asked) and `odwiedziny` (Google's last crawl). Google has no API to request indexing of an ordinary page: the sitemap already submits it, and the Request indexing button lives in Search Console.","type":"boolean"}},"required":["slug"],"type":"object"}
⟨36 unchanged words⟩ na kilku.","type":"string"},"limit":{"description":"Ile fraz i zadań oddać (domyślnie 40); liczby stanu i streszczenie liczymy z całości, `wszystkich` mówi, ile było.","maximum":300,"minimum":1,"type":"integer"},"odswiez":{"description":"true = zapytaj planer ⟨44 unchanged words⟩ (do 20), od których planer mawyjść —wyjść.zostająZostają w mapie jako źródło„reka”.„reka”, a ich popyt planer podaje osobno, dokładnie dla tych fraz.","items":{"type":"string"}, ⟨6 unchanged words⟩
⟨338 unchanged words⟩ the name: one sentence up to 80 characters PER LANGUAGE, no full stop at the end, plain text or one version per tag (<en>...</en><pl>...</pl>, each version counted on its own): what the game is, in the words ⟨30 unchanged words⟩ the server refuses (`brak_hasla`).","maxLength":80900,"type":"string"},"jezyk_tekstu":{" ⟨557 unchanged words⟩ the game's name, up to 30 characters PER LANGUAGE (as in Google Play and the App Store): “2048 Blockfall”,in“NeonONECoil: Family Arena”. One language:(seeplain`jezyk_tekstu`)text in `jezyk_tekstu`. Several:“2048oneBlockfall”version per tag,“Neon<en>Kulki:CoilGlass Garden</en><pl>Kulki:FamilySzklanyArena”.Ogrod</pl>, and the 30-character limit counts each version on its own. NO tagline and no search phrases (“play free ⟨24 unchanged words⟩ start with another company's brand.","maxLength":30400,"type":"string"},"opis":{" ⟨1089 unchanged words⟩
{"additionalProperties":false,"properties":{"gra_slug":{"description":"OpcjonalnieOptional:gra zthekatalogu,cataloguedogamektórejthewpispostsięisodnosi.about.","type":"string"},"jezyk":{"description":"JęzykLanguagewpisu.of the post.","enum":["pl","en"],"type":"string"},"link":{"description":"OpcjonalnieOptional:adresaddressgryofwthesklepiegamealboinnaainnejstorestronie.or on another site.","type":"string"},"rodzaj":{"description":"pytanie`pytanie` = question |test`test`(prośba=orequesttesty)for playtesters |premiera`premiera` = launch |pokaz.`pokaz` = showcase.","enum":["pytanie","test"," ⟨3 unchanged words⟩ :"string"},"tresc":{"description":"TreśćPostwpisutext,odat least 20znaków.characters.PiszWritejaklikeczłowiekadopersonludzitalking to people,bezwithouthaseładvertisingreklamowych.slogans.","type":"string"},"tytul":{"description":"TytułPostwpisutitle,6–1206znaków.to 120 characters.","type":"string"}},"required": ⟨6 unchanged words⟩
⟨96 unchanged words⟩ użytkownik musi dać odczyt AdMob na konto.klyo.pl/admob. Read-only.Przykłady wywołańExamples: • Ile zarobiłem wczoraj i w tym ⟨27 unchanged words⟩
⟨57 unchanged words⟩ jedno zdanie, co jest do zrobienia. Read-only.Przykłady wywołańExamples: • Ile wydałem w Google Ads przez ⟨24 unchanged words⟩
⟨122 unchanged words⟩ o pracy, opiniach) i proponuje budżet. Read-only.Przykłady wywołańExamples: • Na jakie frazy powinienem ustawić reklamę ⟨29 unchanged words⟩
⟨64 unchanged words⟩ go brak, zwraca zdanie z powodem. Read-only.Przykłady wywołańExamples: • Ile kosztuje kliknięcie na „transport łódź” ⟨23 unchanged words⟩
⟨94 unchanged words⟩ ponownie z polem `zadanie`. Read-only, szanuje robots.txt.Przykłady wywołańExamples: • Czy mojafirma.pl przejdzie weryfikację AdSense? • ⟨15 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true,"title":"Check a ⟨4 unchanged words⟩
⟨98 unchanged words⟩ niczego nie zmienia, tylko sprawdza i radzi.Przykłady wywołańExamples: • Sprawdź te adresy z Search Console, ⟨26 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true,"title":"Check the URLs Google knows"}
WizytówkaThetwórcydeveloper'snaprofile card on games.klyo.pl:„o“aboutmnie”me”iandhasłothepodtaglinenazwą.underPISZESZtheTYname. YOU WRITE:asystentthewłaścicielaowner's assistant,naonJEGOtheplanieowner'sAI;ownklyoAInieplan;uruchamiaklyożadnegorunsmodelu.noBezmodel. Without `o_mnie`iand `haslo`oddajemyweobecnąreturnwizytówkęthe current card,wydanethegryreleased games (jedynythemateriał,onlyzmaterialktóregoyouwolnomaypisaćwrite from)iandzasady.theZrules.nimiWithzapisujemythem,przezwetosavesamothroughsitothecosame check as the studio;poleanpominięteomittedzostajefieldbezstayszmian.unchanged.ZapisSavingzmieniachangespublicznąthestronędeveloper'stwórcypublicodpagerazuimmediately and replaces the previous text,więcsoNAJPIERWFIRSTpokażshowtekstthewłaścicielowitextitozapiszthedopieroownerpoandjegosavezgodzie.onlyNiewithzmyślajtheirfaktówconsent.oDoosobie. Przykładynotwywołańinvent facts about the person. Examples: •NapiszWritemojąmywizytówkędevelopertwórcyprofilenacard on klyo •PoprawImprovehasłothepodtaglinemojąundernazwąmynanamestronieontwórcymy developer page •CoWhatmamisterazinwmywizytówceprofilenacardgames.klyo.pl?on games.klyo.pl now?
{"additionalProperties":false,"properties":{"haslo":{"description":"JednoOnezdaniesentencedoup to 80znakówcharactersbezwithkropki;nomożefullmiećstop; may have <pl>…</pl><en>…</en>.Pomiń,Omitżebytozostało,leavejakitjest.as it is.","maxLength":90,"type":"string"},"o_mnie":{"description":"
{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":false,"readOnlyHint" ⟨10 unchanged words⟩
DeleteTake your game off the portal
UsuńTakegręthistegoaccount'skontagame (`slug`)razemoffzthejejportal.plikamiTheifirststroną.callNieodwracalne.removesUżywajittegofromdothesprzątaniacataloguepoandnieudanejtakespróbieits—pagenadown;przykładthegdyaddresswstayspoczekalniyoursstanęłyanddwayouwpisycantejuploadsamejthegry.gameWynikithereiagain.sercaAznikająsecondrazemcallzongrą. Przykładyawywołańgame that is already taken down removes it from your list for good. Scores and reviews stay attached to the address and are never handed to another game. Use it to clean up after a failed attempt, for example when two entries of the same game ended up in the waiting room. Examples: •UsuńDeletemojąmygręgame neon-coil-arena •SkasujRemovenieudanythewpisfailedzentrypoczekalnifrom the waiting room •UsuńDeletestarsząthekopięoldertejcopysamejofgrythe same game
{"additionalProperties":false,"properties":{"slug":{"description":"AdresGamegryaddresswinkataloguthe catalogue,np.for example lantern-thief (zfrom klyo_my_games).","type":"string"}}, ⟨4 unchanged words⟩
⟨4 unchanged words⟩ openWorldHint":false,"readOnlyHint":false,"title":"DeleteTake your game off the portal"}
WpisujeTypespolafieldsdointoOTWARTEGOtheformularzaOPEN„Nowa“Newgra”game”wformstudiuintwórcythe developer's studio (dev.klyo.pl);—thewłaścicielownerpatrzy,watchesjakthemsięfillwypełniająin,poprawiacorrectsithemSAMandklikasubmits„Wydaj”.thePiszeszformTYTHEMSELVES. You write,naonplaniethe owner's own AIwłaściciela;plan; klyonierunsuruchamianomodelumodeliandniczegosavesnienothing:zapisuje,ittoisszkicawdraftjegoinprzeglądarce.theirBezbrowser. Without `pola`dostajeszyoulistęgetpólthe list of fields,dozwolonetherodzajeallowedigenresnastrojeand moods,zasadytheorazrules`formularz_otwarty`.andZ`formularz_otwarty` (whether the form is open). With `pola`wysyłamywejesendnathemżywo;live;błędneinvalid ones (zatoodługielong,rodzajaspozagenrelistyoutside the list,braknoangielskiegoEnglishopisudescription,wulgaryzmprofanity)wracającomewback in `odrzucone`zwithpowodem.theAnkietyreason.treściYou do NOT fill in the content questionnaire,oświadczeństatementsiorzgódconsents:NIEthosewypełniaszare—thetoowner'soświadczeniadeclarations.właściciela.SendPoprawkicorrectionswysyłajwithtymthesamymsamenarzędziem.tool.Przykłady wywołańExamples: •WypełnijFillformularzinnowejthegrynewnagame form on klyo •Dopisz opisAddpotheangielskuEnglishiandpoPolishpolskudescriptionswinformularzumymojejgame'sgryform •ZmieńChangehasłothewtaglineformularzuinnathekrótszeform to a shorter one
before
{"additionalProperties":false,"properties":{"pola":{"additionalProperties":false,"description":"Pola do wpisania; pomiń, żeby zobaczyć, czego formularz potrzebuje.","properties":{"czas_partii":{"description":"Ile trwa jedna partia („2-5 minut”), w języku `jezyk_tekstu`.","maxLength":40,"type":"string"},"etap":{"description":"Na jakim etapie jest gra: `w_budowie` (jeszcze się zmienia), `demo` (skończony kawałek większej gry), `gotowa` (pełna gra). ZAPYTAJ TWÓRCĘ, nie zgaduj. Przy `w_budowie` i `demo` gracz widzi znaczek w katalogu.","enum":["w_budowie","demo","gotowa"],"type":"string"},"etap_dni":{"description":"Tylko przy `demo` i `w_budowie`: za ile dni (7 albo 30) przypominamy o zmianie etapu; po karencji gra bez decyzji schodzi z katalogu.","enum":[7,30],"type":"integer"},"haslo":{"description":"Hasło pod nazwą — jedno zdanie do 80 znaków, bez kropki na końcu: czym gra jest, słowami, których gracz szuka („klasyczne sudoku offline za darmo”). Stoi pod nazwą jako H2 i w tytule karty w Google. OBOWIĄZKOWE przy wydaniu — bez niego serwer odmawia (`brak_hasla`).","maxLength":80,"type":"string"},"jezyk_tekstu":{"description":"Kod języka, w którym napisano nazwę, hasło i sterowanie (pl, en, de, fr, es, pt, it, ru, uk, tr). Podaj ZAWSZE. Opis ma własne wersje <en> (wymagana) i <pl> (+40 XP) — patrz `opis`. Pozostałe języki tłumaczy asystent właściciela przez klyo_game_translate (propozycje, które właściciel przyjmuje w studiu); klyo nie tłumaczy na własnym koncie.","enum":["pl","en","de","fr","es","pt","it","ru","uk","tr"],"type":"string"},"jezyki_ui":{"description":"Języki MENU I NAPISÓW W SAMEJ GRZE — nie języka opisu. Gracz ustawia, w jakich językach chce widzieć gry, więc od tego zależy, komu gra się pokaże. Gra bez ani jednego słowa (same liczby, kształty — jak 2048): wyłącznie [\"bez-tekstu\"]. Nie zgaduj — zapytaj właściciela albo pomiń.","items":{"enum":["aa","ab","ae","af","ak","am","an","ar","as","av","ay","az","ba","be","bg","bh","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","el","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","id","ie","ig","ii","ik","in","io","is","it","iu","iw","ja","ji","jv","jw","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mo","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","sh","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu","bez-tekstu"],"type":"string"},"type":"array"},"kategoria":{"description":"Rodzaj gry z listy, DO TRZECH po przecinku (np. „platformowa,przygodowa”). Wybierz te, które naprawdę opisują grę — nie wszystkie pasujące, bo filtr przestaje cokolwiek znaczyć. „inne” tylko gdy nic nie pasuje. Co najmniej jeden — inaczej odmowa (`rodzaj_spoza_listy`). Dozwolone: zrecznosciowa, logiczna, ukladanki, klocki, dopasuj-3, kulki, pamiec, sudoku, pasjans, fizyczna, escape, biegacz, jazda, zarzadzanie, tekstowa, rysowanie, dwie-osoby, platformowa, przygodowa, akcja, strzelanka, walka, wyscigi, sportowa, strategiczna, obrona-wiezy, symulacja, farma, rpg, roguelike, przetrwanie, horror, karcianka, planszowa, mahjong, slowna, quiz, edukacyjna, muzyczna, klikacz, ubieranki, gotowanie, szukanie, io, inne.","type":"string"},"nastroje":{"description":"Na co gracz ma ochotę — po przecinku, z listy: 5-minut, jeden-kciuk, rusz-glowa, adrenalina, klasyki, spokojne. To NIE jest rodzaj gry: rodzaj mówi, czym gra JEST, nastrój — na co trzeba mieć ochotę. Pomiń, jeśli nie wiesz.","type":"string"},"nazwa":{"description":"SAMA nazwa gry, do 30 znaków (jak w Google Play i App Store), w JEDNYM języku (patrz `jezyk_tekstu`): „2048 Blockfall”, „Neon Coil: Family Arena”. BEZ hasła i zwrotów z wyszukiwarki („zagraj za darmo online”, „free online”) — to odrzucamy (`nazwa_z_haslem`), bo z nazwy powstaje adres gry i tytuł w Google w obu językach. Nie zaczynaj od cudzej marki.","maxLength":30,"type":"string"},"opis":{"description":"Opis dla gracza w DWÓCH wersjach, każda po swoim znaczniku: <en>…</en> po angielsku (WYMAGANA, MINIMUM 25 słów; bez niej odmowa `opis_en_wymagany`) i <pl>…</pl> po polsku (za nią właściciel dostaje +40 XP). W każdej wersji: co się robi w grze (pierwsze zdanie), jak wygląda partia i ile trwa, dla kogo jest, czym różni się od podobnych; do Google potrzeba około 220 słów — krótszy opis znaczy, że strona gry NIE wchodzi do wyszukiwarki. Pisz jak człowiek dla graczy: zwykła interpunkcja, bez „zanurz się / odkryj”, bez list i pogrubień, bez znaczników HTML. Inne języki (<de>, <es>…) tylko wtedy, gdy twórca NAPRAWDĘ napisał je sam; tłumaczenia od asystenta idą przez klyo_game_translate jako propozycje do przyjęcia.","maxLength":4000,"type":"string"},"przemoc_realistyczna":{"description":"Starsze pole: Przemoc realistyczna, krew, okrucieństwo. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"przemoc_rysunkowa":{"description":"Starsze pole: Przemoc rysunkowa lub umowna, bez krwi. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"seks":{"description":"Starsze pole: Nagość, treści seksualne lub sugestywne. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"sklep_apple":{"description":"Adres tej samej gry w App Store (https://apps.apple.com/…), jeśli jest też aplikacją na iPhone’a.","maxLength":300,"type":"string"},"sklep_play":{"description":"Adres tej samej gry w Google Play (https://play.google.com/store/apps/details?id=…), jeśli jest też aplikacją. Odznaka na stronie gry i w tekstach udostępnienia; pusto = brak odznaki.","maxLength":300,"type":"string"},"sterowanie_dotyk":{"description":"Jak grać NA TELEFONIE, krótko i konkretnie („przesuń palcem po ekranie”), w języku `jezyk_tekstu`.","maxLength":300,"type":"string"},"sterowanie_klawiatura":{"description":"Jak grać NA KOMPUTERZE („strzałki i spacja”), w języku `jezyk_tekstu`.","maxLength":300,"type":"string"},"strach":{"description":"Starsze pole: Sceny, które mogą przestraszyć dzieci. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"uklad":{"description":"Układ gry: poziom (jak ekran komputera), pion (jak telefon) albo oba — gra dopasowuje się do obrotu ekranu.","enum":["poziom","pion","oba"],"type":"string"},"wulgaryzmy":{"description":"Starsze pole: Wulgaryzmy lub obraźliwy język. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"wynik_max":{"description":"Najwyższy możliwy wynik w jednej partii — zapora przed nabijaniem punktów na tablicy. Pomiń, gdy gra nie ma wyniku albo górnej granicy.","minimum":1,"type":"integer"}},"type":"object"}},"type":"object"}ZmieńChangeTREŚĆthegry,CONTENTktóraofjużastoigamewthatkataloguis already in the catalogue:nazwęname,hasłotagline,opisdescription,jakhowgraćtonaplaytelefonieonianaphonekomputerze,andileontrwaapartiacomputer,rodzajround length,półkigenre,nastrójshelves,językimood,grygame languages,układscreenekranulayout,prógscorewynikulimit,etapstage,sklepystore links,ankietęcontenttreściquestionnaireiandwiek.age.PaczkiItNIEdoesRUSZANOT—touchodthepodmianypackage:plikówreplacingjestfiles is `klyo_update_game`,którewhichprzepuszczarunsgrętheprzezgamesitothroughbezpieczeństwatheodsafetynowa.checkLiterówkaagain.wAopisietyponieinpowinnathetegodescriptionkosztowaćshould not cost that,dlategowhichtoissąwhydwatheseróżnearenarzędzia.twoJĘZYKItools. LANGUAGES (odsince18.09.20262026-09-18):opisthemadescriptionDWIEhaswersjeTWOwversionsznacznikachin—tags: <en>…</en>poinangielskuEnglish (WYMAGANAREQUIRED,coatnajmniejleast 25słówwords)iand <pl>…</pl>poinpolskuPolish (właściciel dostajethezaownerniągets +40 XP for it).Wersje wPutinnychversionsjęzykachinwpisujeszothertulanguagestylkoherewtedy,onlygdyiftwórcathenapisałdeveloperjewrotesam;themto,personally;cowhattłumaczyszYOUTY,translateidziegoesprzezthrough klyo_game_translatejakoaspropozycja,aktórąproposalwłaścicieltheprzyjmujeownerwapprovesstudiu.in the studio. klyoniedoestłumaczynotnatranslatewłasnymonkoncie.its own account. `jezyk_tekstu`mówisays which language the name,wtaglinejakimandjęzykucontrolssąarenazwa,in.hasłoPassiONLYsterowanie.thePodajeszfieldsTYLKOyoutechange:polaeverything else stays as it is,któreandzmieniaszthe—fieldsresztayouzostajepassbezreplacezmian. Przykładythewywołańcurrent text. Examples: •DopiszAdddotomojejmygry,gamejakhowsiętowplayniąitgraonnaatelefoniephone •PoprawFixopisthegrydescription of lantern-thiefianddodajaddwersjęanangielskąEnglish version •UstawSetczasthepartiiroundnalength2–5tominut2wtogrze5 minutes in slice-rush
before
{"additionalProperties":false,"properties":{"ankieta":{"additionalProperties":false,"description":"Ankieta treści (jak w sklepach z aplikacjami): dziesięć pytań tak/nie o to, co JEST w grze. Z odpowiedzi wynika etykieta wieku na stronie gry, czy przy grze stoją reklamy i czy gra wchodzi do aplikacji klyo games w sklepach. ZAPYTAJ TWÓRCĘ o każde — odpowiedzi niezgodne z treścią to powód zdjęcia gry. Podaj komplet, gdy zmieniasz.","properties":{"hazard":{"description":"Hazard, losowe skrzynki lub symulacja hazardu / Gambling, loot boxes or simulated gambling","type":"boolean"},"interakcje":{"description":"Rozmowy lub interakcje z innymi graczami / Chat or interaction with other players","type":"boolean"},"lokalizacja":{"description":"Gra prosi o lokalizację, kamerę lub mikrofon / The game asks for location, camera or microphone","type":"boolean"},"przemoc_realistyczna":{"description":"Przemoc realistyczna, krew, okrucieństwo / Realistic violence, blood or cruelty","type":"boolean"},"przemoc_rysunkowa":{"description":"Przemoc rysunkowa lub umowna, bez krwi / Cartoon or abstract violence, no blood","type":"boolean"},"seks":{"description":"Nagość, treści seksualne lub sugestywne / Nudity, sexual or suggestive content","type":"boolean"},"strach":{"description":"Sceny, które mogą przestraszyć dzieci / Scenes that may frighten children","type":"boolean"},"uzywki":{"description":"Alkohol, tytoń, narkotyki / Alcohol, tobacco or drugs","type":"boolean"},"wulgaryzmy":{"description":"Wulgaryzmy lub obraźliwy język / Strong or offensive language","type":"boolean"},"zakupy":{"description":"Zakupy w grze / In-game purchases","type":"boolean"}},"required":["przemoc_rysunkowa","przemoc_realistyczna","strach","wulgaryzmy","seks","uzywki","hazard","interakcje","zakupy","lokalizacja"],"type":"object"},"czas_partii":{"description":"Ile trwa jedna partia („2-5 minut”), w języku `jezyk_tekstu`.","maxLength":40,"type":"string"},"etap":{"description":"Na jakim etapie jest gra: `w_budowie` (jeszcze się zmienia), `demo` (skończony kawałek większej gry), `gotowa` (pełna gra). ZAPYTAJ TWÓRCĘ, nie zgaduj. Przy `w_budowie` i `demo` gracz widzi znaczek w katalogu.","enum":["w_budowie","demo","gotowa"],"type":"string"},"etap_dni":{"description":"Tylko przy `demo` i `w_budowie`: za ile dni (7 albo 30) przypominamy o zmianie etapu; po karencji gra bez decyzji schodzi z katalogu.","enum":[7,30],"type":"integer"},"haslo":{"description":"Hasło pod nazwą — jedno zdanie do 80 znaków, bez kropki na końcu: czym gra jest, słowami, których gracz szuka („klasyczne sudoku offline za darmo”). Stoi pod nazwą jako H2 i w tytule karty w Google. OBOWIĄZKOWE przy wydaniu — bez niego serwer odmawia (`brak_hasla`).","maxLength":80,"type":"string"},"jezyk_tekstu":{"description":"Kod języka, w którym napisano nazwę, hasło i sterowanie (pl, en, de, fr, es, pt, it, ru, uk, tr). Podaj ZAWSZE. Opis ma własne wersje <en> (wymagana) i <pl> (+40 XP) — patrz `opis`. Pozostałe języki tłumaczy asystent właściciela przez klyo_game_translate (propozycje, które właściciel przyjmuje w studiu); klyo nie tłumaczy na własnym koncie.","enum":["pl","en","de","fr","es","pt","it","ru","uk","tr"],"type":"string"},"jezyki_ui":{"description":"Języki MENU I NAPISÓW W SAMEJ GRZE — nie języka opisu. Gracz ustawia, w jakich językach chce widzieć gry, więc od tego zależy, komu gra się pokaże. Gra bez ani jednego słowa (same liczby, kształty — jak 2048): wyłącznie [\"bez-tekstu\"]. Nie zgaduj — zapytaj właściciela albo pomiń.","items":{"enum":["aa","ab","ae","af","ak","am","an","ar","as","av","ay","az","ba","be","bg","bh","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","el","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","id","ie","ig","ii","ik","in","io","is","it","iu","iw","ja","ji","jv","jw","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mo","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","sh","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu","bez-tekstu"],"type":"string"},"type":"array"},"kategoria":{"description":"Rodzaj gry z listy, DO TRZECH po przecinku (np. „platformowa,przygodowa”). Wybierz te, które naprawdę opisują grę — nie wszystkie pasujące, bo filtr przestaje cokolwiek znaczyć. „inne” tylko gdy nic nie pasuje. Co najmniej jeden — inaczej odmowa (`rodzaj_spoza_listy`). Dozwolone: zrecznosciowa, logiczna, ukladanki, klocki, dopasuj-3, kulki, pamiec, sudoku, pasjans, fizyczna, escape, biegacz, jazda, zarzadzanie, tekstowa, rysowanie, dwie-osoby, platformowa, przygodowa, akcja, strzelanka, walka, wyscigi, sportowa, strategiczna, obrona-wiezy, symulacja, farma, rpg, roguelike, przetrwanie, horror, karcianka, planszowa, mahjong, slowna, quiz, edukacyjna, muzyczna, klikacz, ubieranki, gotowanie, szukanie, io, inne.","type":"string"},"nastroje":{"description":"Na co gracz ma ochotę — po przecinku, z listy: 5-minut, jeden-kciuk, rusz-glowa, adrenalina, klasyki, spokojne. To NIE jest rodzaj gry: rodzaj mówi, czym gra JEST, nastrój — na co trzeba mieć ochotę. Pomiń, jeśli nie wiesz.","type":"string"},"nazwa":{"description":"SAMA nazwa gry, do 30 znaków (jak w Google Play i App Store), w JEDNYM języku (patrz `jezyk_tekstu`): „2048 Blockfall”, „Neon Coil: Family Arena”. BEZ hasła i zwrotów z wyszukiwarki („zagraj za darmo online”, „free online”) — to odrzucamy (`nazwa_z_haslem`), bo z nazwy powstaje adres gry i tytuł w Google w obu językach. Nie zaczynaj od cudzej marki.","maxLength":30,"type":"string"},"opis":{"description":"Opis dla gracza w DWÓCH wersjach, każda po swoim znaczniku: <en>…</en> po angielsku (WYMAGANA, MINIMUM 25 słów; bez niej odmowa `opis_en_wymagany`) i <pl>…</pl> po polsku (za nią właściciel dostaje +40 XP). W każdej wersji: co się robi w grze (pierwsze zdanie), jak wygląda partia i ile trwa, dla kogo jest, czym różni się od podobnych; do Google potrzeba około 220 słów — krótszy opis znaczy, że strona gry NIE wchodzi do wyszukiwarki. Pisz jak człowiek dla graczy: zwykła interpunkcja, bez „zanurz się / odkryj”, bez list i pogrubień, bez znaczników HTML. Inne języki (<de>, <es>…) tylko wtedy, gdy twórca NAPRAWDĘ napisał je sam; tłumaczenia od asystenta idą przez klyo_game_translate jako propozycje do przyjęcia.","maxLength":4000,"type":"string"},"przemoc_realistyczna":{"description":"Starsze pole: Przemoc realistyczna, krew, okrucieństwo. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"przemoc_rysunkowa":{"description":"Starsze pole: Przemoc rysunkowa lub umowna, bez krwi. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"seks":{"description":"Starsze pole: Nagość, treści seksualne lub sugestywne. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"sklep_apple":{"description":"Adres tej samej gry w App Store (https://apps.apple.com/…), jeśli jest też aplikacją na iPhone’a.","maxLength":300,"type":"string"},"sklep_play":{"description":"Adres tej samej gry w Google Play (https://play.google.com/store/apps/details?id=…), jeśli jest też aplikacją. Odznaka na stronie gry i w tekstach udostępnienia; pusto = brak odznaki.","maxLength":300,"type":"string"},"slug":{"description":"Adres gry na koncie, np. lantern-thief (z klyo_my_games).","type":"string"},"sterowanie_dotyk":{"description":"Jak grać NA TELEFONIE, krótko i konkretnie („przesuń palcem po ekranie”), w języku `jezyk_tekstu`.","maxLength":300,"type":"string"},"sterowanie_klawiatura":{"description":"Jak grać NA KOMPUTERZE („strzałki i spacja”), w języku `jezyk_tekstu`.","maxLength":300,"type":"string"},"strach":{"description":"Starsze pole: Sceny, które mogą przestraszyć dzieci. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"tagi":{"description":"Półki katalogu po przecinku, opcjonalnie: logiczne, zrecznosciowe, platformowe, przygodowe, na-telefon, klasyki. Nieznane pomijamy bez błędu.","type":"string"},"uklad":{"description":"Układ gry: poziom (jak ekran komputera), pion (jak telefon) albo oba — gra dopasowuje się do obrotu ekranu.","enum":["poziom","pion","oba"],"type":"string"},"uklad_pionowy":{"description":"Starsze pole: true = gra pionowa. Wolimy `uklad`.","type":"boolean"},"wiek_min":{"description":"Wiek graczy WEDŁUG TWÓRCY — może tylko PODNIEŚĆ etykietę ponad wynik ankiety (gra dla starszych z wyboru), nigdy obniżyć. Powyżej 12 gra nie wchodzi do aplikacji w sklepach. Pomiń, gdy ankieta wystarcza.","enum":[3,7,12,16,18],"type":"integer"},"wulgaryzmy":{"description":"Starsze pole: Wulgaryzmy lub obraźliwy język. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"wynik_max":{"description":"Najwyższy możliwy wynik w jednej partii — zapora przed nabijaniem punktów na tablicy. Pomiń, gdy gra nie ma wyniku albo górnej granicy.","minimum":1,"type":"integer"}},"required":["slug"],"type":"object"}{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":false,"readOnlyHint" ⟨7 unchanged words⟩
⟨97 unchanged words⟩ zwykły odwiedzający, niczego nie zmienia, szanuje robots.txt.Przykłady wywołańExamples: • Co dokładnie jest źle w kodzie ⟨24 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true,"title":"Find defects ⟨7 unchanged words⟩
⟨113 unchanged words⟩ , użytkownik daje odczyt Analytics na konto.klyo.pl/analityka. Read-only.Przykłady wywołańExamples: • Ilu ludzi odwiedziło moją stronę w ⟨40 unchanged words⟩
UstawSetkafel,thepotilektórymplayersgraczrecognisepoznathegręgamewbykatalogu.inKlatkithesącatalogue.zdjęciamiFramesZareTWOJEJscreenshotsDZIAŁAJĄCEJFROMGRYYOUR—RUNNINGrobimyGAME:jewesami,takegdythemgraourselvesstanieoncepodthewłasnymgameadresemis live at its own address,więcsopojawiajątheysięappeardopieroonlyPOAFTERwydaniurelease (`klyo_publish_game`),nie wnotjegoduringtrakcie.it.WywołajCallbezwithout `klatka`,atodostanieszgetlistęthedostępnychlistklatekofzavailableadresamiframes—withpokażtheirjeaddresses;właścicielowishowkontathemalbotoobejrzyjthesamaccountiowner,wybierzortę,looknaatktórejthemwidaćyourselfrozgrywkę,andapicknieoneekranthattytułowy.showsPotemgameplaywywołajratherjeszczethanraztheztitlenumerem.screen.WłasnegoThenobrazkacallnieagainprzyjmujemywithświadomieits number. We deliberately do not accept a custom image:okładkathemacoverpokazywaćmustto,showcowhatgraczthenaprawdęplayerzobaczywillporeallykliknięciu.seeWyretuszowanaaftergrafika,clicking.któraRetouchednieartzgadzathatsiędoesznotgrą,matchjesttheugamenasispowodemazdjęciareasongry. Przykładyforwywołańtaking the game down. Examples: •PokażShowklatkiframesdotowyboruchoosenafromokładkęforgrythe cover of lantern-thief •UstawSetdrugątheklatkęsecondjakoframeokładkęasmojejmygrygame's cover •MojaMygragameniehasmanoobrazkaimagewinkataloguthe—catalogue,naprawfixtoit
{"additionalProperties":false,"properties":{"klatka":{"description":"NumerNumberklatkiofdotheustawienia.framePOMIŃ,tożebyset.najpierwOMITdostaćitlistętoklatekgetdothewyboru.list of frames to choose from first.","type":"integer"},"slug":{"description":"AdresGamegryaddressna
OczyEyeswinsidegrzethe game:dlaforpaczkiawpackagepoczekalniin the waiting room (`upload_id`)alboorgryawgamekataloguin the catalogue (`slug`)zwracaitpliki,returnsothektórefilesgrathepoprosiła,gameaaskedktórychforniethatmaarewmissingpaczcefrom the package,orazandbłędytheJavaScriptuJavaScriptzerrorspodglądufromwtheprzeglądarcepreview—inwthekolejnościbrowser,winjakiejthesięorderwysypały.theyDohappened.tegoAlso:wynikthesitapackagepaczkicheck result (rozmiarsize,obcethird-partyreklamyads,złośliwymaliciouskodcode,brak zestawumissing klyo kit),gotowe wnioskireadywconclusionspoluin `wnioski`,orazand `dopasowanie`:—thepomiarfitzmeasurementpublikacjifromnapublishingczterechonekranachfour screens (telefonphonepion/poziomportraitzanddotykiemlandscape with touch, tablet,komputerdesktop): `uwagi[]`zwithkodamithe codes `przewija` (page scrolls) | `maly_ekran` (screen too small) | `maly_tekst` (text too small) | `ciezka` (too heavy) | `dlugie_wczytanie` (long load) | `niski_fps` (low frame rate) | `male_cele_dotyku` (small touch targets) | `przycisk_bez_nazwy` (button without a name), `dotyk_nasluch`iandminiatury`zrzut``zrzut`;thumbnails; `null` =grathejeszczegameniehasmierzonanot been measured yet (pomiararuszameasurementprzystartskażdymwithwydaniueverywersjiversion release). Read-only.TWOJAYOURPRZEGLĄDARKABROWSERJESTISTUTHEOKIEMEYE HERE:niewemamydowłasnejnotfarmykeepprzeglądarekaibrowserniefarmpotrzebujemyandjej.doOtwórznotadresneedpodgląduone.uOpenSIEBIEthe preview address on YOUR side (Playwright, Chrome,telefona phone),pograj naprawdęreally—playkliknij(click,przesuńswipe,poczekaj nawaitdrugąforplanszęthe—secondalevel)naszandczujnikourwsensortejonstroniethatzameldujepagenamreportswszystko,everythingcothatsięcrashed.wysypało.ThenPotemaskzapytajwithtymthisnarzędziem.tool.KolejnośćOrder:otwórzopen,→play,pograjask;→thepytaj;otherodwrotnawaydajeroundpustągivesodpowiedźan empty answer,bobecausebłędyerrorszbierająaresięcollecteddopieroonlywtedy,oncegdythegragamesięruns.uruchomi.AddDodaj`?s=<yourdomarker>`adresuto`?s=<twójtheznacznik>`addressiandpodajpass `sesja`zwithtąthesamąsamewartością,valueatodostanieszgetwyłącznieonlybłędythezeerrorsswojegofromprzebiegu.yourNIEownMASZrun.PRZEGLĄDARKINO BROWSER (rozmowaawconversation in claude.aialboor ChatGPT)?PodajPass `zmierz: true`dlaforpaczkiaalbopackageczekającejorwersjia waiting version:otworzymywepodglądopenzatheciebiepreview for you,zbierzemycollectbłędyerrorsiandminiaturythumbnailsczterechofekranówfour screens (`zrzut_adres`);jedenonepomiarmeasurementnarazatnaakontotime per account, 6napergodzinę.hour.GraAddz`pelny:czekającątrue`wersjąfor the production profile (warsztata slow phone and every declared language).pokazujeAjejgamepliki,withbłędyaiwaitingprzeglądversion (workshop) shows its files, errors and premium review (`przeglad`).Przykłady wywołańExamples: •DlaczegoWhymojadoesgramypokazujegamebiałeshowokno?a white screen? •SprawdźCheckbłędythewerrorspodglądzieinpaczkithe package preview •CzegoWhatbrakujeiswmissingpaczcefromgrythelantern-thief?lantern-thief package?
{"additionalProperties":false,"properties":{"pelny":{"description":"ZWith `zmierz: true`:profiltheprodukcyjny,productionktóryprofilerobiszyouprzedrun before `etap: gotowa`iandprzedbeforewydaniemanyinnymreleaseniżother than `poprawka`.DoOnczterechtopekranów
PlikiYourtwojejgame'sgryfilesdotoczytaniaread,bezwithoutZIP-aaodZIPwłaściciela.fromCelthe owner. Target:`slug`agrygame'salbo`slug``upload_id`orpaczkiazwaiting-roompoczekalni.package'sBez`upload_id`. Without `path`dostajeszyouspisget the list (ścieżkapath,rozmiarsize,czywhethertekst,itskrótis text, `hash`);zwith `path`,treśćthejednegocontentplikuoftekstowegoone text file,doup to 200 KBnarazat(dłuższyaczytasztimedalej(readodfurther with `from_line`,zakresnarrowzawężawith `lines`);zwith `changes: true`to,cowhatzmieniłochangedsięinwtheczekającejwaitingwersjiversionwzględemcomparedwersjiwithuthegraczyversion players have:procenthowkodumuch code,wygląduvisualsianddźwiękusound (tethe sameliczby, którenumberswidzithe studioprzyshows„Wypuść”at “Release”)iandróżnicethelinii.lineGdydifferences.graWhenmatheczekającągamewersjęhas a waiting version (warsztatazworkshop from klyo_game_patchalboornowąapaczkęnew package),czytaszyoują;readinaczejthatwersję,one;wotherwisektórąthegrająversiongracze.playersPoleare playing. Pass the `hash`podajeszfieldjakoas `expected_hash`wto klyo_game_patch.ObrazówImagesianddźwiękówsoundsnieareoddajemynotwreturnedtreścias content,tylkoonlyichtheirrozmiar.size. Read-only.Przykłady wywołańExamples: •PokażShowplikithemojejfilesgryof my game czworki •PrzeczytajRead js/gra.jsz gryfrom lantern-thiefodstartingliniiat line 200 •CoWhatzmieniłochangedsięinwtheczekającejwaitingwersjiversiongryof slice-rush?
{"additionalProperties":false,"properties":{"changes":{"description":"RazemTogetherzewithspisemthe list:cowhatzmieniłochangedsięinwtheczekającejwaitingwersjiversionwzględemcomparedwersjiwithuthegraczy.version players have.","type":"boolean"},"from_line":{"description":"OdLinektórej
PoprawiaEditsplikiatekstowegame'sgrytext files (html, htm, js, mjs, css, json, svg, txt, xml, webmanifest)bezwithoutZIP-a.aCelZIP. Target: a game's `slug`gryoralboa`upload_id`waiting-roompaczkipackage'sz`upload_id`.poczekalni.ThePierwszafirstpoprawkaeditotwieraopensWARSZTATa WORKSHOP:kopięagrycopyobokofwersjitheugamegraczynext to the version players have,zwithwłasnymitsadresemownpodglądu.previewGraczeaddress.grająPlayerswkeeppoprzedniąplayingwersję,thedopókipreviousnieversionwypuściszuntilnowejyou release the new one (klyo_release_versiondlaforgrya game, klyo_publish_gamedlaforpaczkia package);właścicielthewidziownerjąseeswitstudiuinjakothe„Nowastudiowersjaasczeka”.“NewKażdyversionelementwaiting”. Each item of `edits`mahas a `path`iandjednoonezoftrzechthree: `old_string`zwith `new_string` (dokładnyan exact fragment,mathatwystąpićmustrazoccur once,alboordodajadd `replace_all`), `content` (całytheplikwholealbofilenowyorplika new file),lubor `delete: true`.DlaForpliku,aktóryfileistniejethat exists,podajpass `expected_hash`zfrom klyo_game_files:gdyifktośsomeonezmieniłchangedplikthewfilemiędzyczasie,indostanieszthekonfliktmeantimeiyounicgetsięanieconflictzapisze.andZmianynothingzisjednegosaved.wywołaniaThewchodząchangeswszystkieofalbooneżadna.callKażdyarezmienionyappliedplikallprzechodziorprzeznone.sitoEvery changed file goes through the klyo check (złośliwymaliciouskodcode,obcethird-partyreklamyads,nicnothingspozafrom outside klyo),aandprzedthewypuszczeniemwholecałagamegraoncejeszczemoreraz.beforeObrazrelease. Send an image,dźwięksound,czcionkęfontalboordużylargeplikfile (doup to 20 MB)wyślijwithbiletemthezticket from klyo_upload_packageiandpodajreferencewitzmianiein the edit with `from_upload` (bezno base64).GRAGAMEODFROMZERASCRATCH: `nowa` (plansza, zrecznosciowa, logiczna)zamiastinsteadceluofzakładaapaczkętargetzecreatesszkieletua package from the Klyo Kitiskeletonodandrazuappliesstosuje`edits``edits`;rightodpowiedźaway;niesiethe response carries `upload_id`.COFANIEUNDO:przedbeforekażdąeverypoprawkąeditpowstajeapunktcheckpoint `auto-N` is created (jestitwisodpowiedziin the response),; `revert`wracagoesdobackniegotoalboitdoornazwanegoto a named `checkpoint`, `discard`porzucaabandonswarsztat;thegraczewholenicworkshopzfortegogood;nieplayerswidzą.seeLimitynone of this. Limits:plikazfiletreścifromdocontent up to 1 MB,wywołanieadocall up to 256 KBiand 20zmianedits, 3otwarteopenwarsztatyworkshopsnaperkonto;account;warsztatabezworkshopzmianwithprzezno changes for 7dnidayswygasaexpires,aandwersjatheuversiongraczyplayerszostajehavenietknięta. Przykładystayswywołańuntouched. Examples: •PoprawChangewthegrzeboardczworkicolourkolorinplanszystyle.csswofstyle.cssmy game czworki •Zamień wIn js/gra.jsprędkośćofzslice-rush4changenathe6speedwfromgrze4slice-rushto 6 •DodajAdddoapaczkilevels.jsonzfilepoczekalniwithplikthreelevels.jsonlevelsztotrzemathepoziomamipackage in the waiting room
{"additionalProperties":false,"properties":{"checkpoint":{"description":"NazwanyApunktnamedkontrolnyworkshopwarsztatucheckpoint (np.for example premium-ui-v1):migawkaastanusnapshotPRZEDofzmianamithezstatetegoBEFOREwywołania;themożechangesstaćof
{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":false,"readOnlyHint" ⟨9 unchanged words⟩
KONTRAKTGAMEPRODUKCYJNYPRODUCTIONGRYCONTRACT:—CALLZAWOŁAJTHISTOFIRST,JAKObeforePIERWSZE,youzanimdesignzaprojektujeszoralbowritenapiszeszachoćsinglelinięlinegryofdlaa game for klyo.ZwracaReturnsstandardthe„studio“studio quality” standard:ekranyscreens (telefon/tablet/komputerphone,pion/poziomtablet, desktop, portrait and landscape, resize),wejścieinput (dotyk +touch,myszmouse+andklawiaturakeyboard),cyklgamegryloop, minimumtreścicontent,dźwięksound,grafikagraphics,warstwasocialspołecznalayer (tablica/zapis/klipy;leaderboard,wieloosobowesaves,tylkoclips;gdymultiplayermaonlysenswhen it makes sense),markibrandsiandprawolaw,LOKALNYthe LOCAL test `klyo-test` (tenthesam,samektóryoneserwertheuruchamiaserverprzyrunspublikacjion publishing)zwithpętląapopraw-i-testuj,fix-and-testbramkęloop,jakościtheiqualityetapygatewydaniaand(podglądthe→releasedemostages→(preview,gotowademo,→finished,nowanewwersjaversion). The text of the standard is in Polish. Read-only,beznoparametrów.parameters.UżytkownikWhenpiszethe„zróbusergręwritesw“makestatki”a—battleshipniegame”,pytadogonotoasktelefonthem about phones,tablicęleaderboardsczyordźwięksound:toitwszystkoisjestalltu.here.NieDomównot„gotowe”,saydopóki“done”`klyo-test`untilnie`klyo-test`przejdziepassesbezwithoutbłędówcriticalkrytycznych.errors.Przykłady wywołańExamples: •ZróbMakemimegręawbattleshipstatkigame •JakieWhatwymaganiaaremathegrarequirementsnafor a game on klyo? •ZbudujBuildgręalogicznąpuzzlenagametelefonforiphonekomputerand desktop
Klyo Kit—: game skeleton to start from
SZKIELETGAMEGRYSKELETONNAON KLYO KIT—:zawołajcallpoafter klyo_game_requirements,zanimbeforenapiszeszyoukod.writeZwracacode.dwaReturnspliki-starterytwo starter files (index.html, gra.js)dotoskopiowaniacopyiandpełnetheAPIfullkitukit API:cyklgamegryloop (menu,→playgraand⇄pause,pauzagame→over,koniecplay→again),jeszczetouch,raz)mouse,wejściekeyboarddotyk+mysz+klawiatura+padandjednymgamepadzdarzenieminput as one event,płótnoanacanvasdowolnyforekrananyzscreenwcięciamiwith safe areas,dźwięksynthesizedsyntezowanysoundbezwithplikówno files (zresumedwznowieniemafterpothetleapp comes back from the background), juice (tweenytweens,drżenieshake,cząsteczkiparticles,błyskflash),motywlightjasny/ciemnyand dark theme,zapissavesmiędzyacrossurządzeniamidevices,wynikanascoretablicętozthepozycjąleaderboard with rank,trybymodes solo/,naonjednymoneurządzeniudevice/or onlinenaby link,PL/ENPL and EN,dostępność.accessibility.TyYoupiszeszwriteTYLKOONLYrozgrywkę.theRead-onlygameplay. Read-only. Optional `rodzaj`: `plansza` (board game with turns),bez`zrecznosciowa`parametrów.(arcade)Graorreferencyjna`logiczna` (puzzle, the default). Reference game:Statki.Battleships.Przykłady wywołańExamples: •ZacznijStartgręanagame on Klyo Kit •DajGivemimeszkieletagrygamezskeleton with a menu,pauząpauseiandtablicąawynikówleaderboard •JakHowzrobićdogręI make an onlinenagame that friends join by linknaon klyo?
{"additionalProperties":false,"properties":{"rodzaj":{"description":"KształtShapegryof the game: `plansza`—=naboardturygame with turns (solozagainst minimax,naonjednymoneurządzeniudevice, online); `zrecznosciowa`— pętla=czasuarcade,prowadzenieapalcem/klawiszami;real-time loop steered by finger or keys; `logiczna` (
⟨5 unchanged words⟩ false,"readOnlyHint":true,"title":"Klyo Kit—: game skeleton to start from"}
PełnyFullopisdescriptionzestawuof the `klyo-gry-sdk.js` kit:jakhowgraaosadzonagamewembeddedkataloguinwysyłathewynikcataloguenasendstablicęa score to the leaderboard,zapisujesavespostępprogressnaonserwerzethe server,prosiasksoforpełnyfullekranscreen,wstawiainsertsprzerwęanreklamowąad break,dajeoffersreklamęaZAREWARDEDNAGRODĘadiandpozwalaletsgraczowithenagraćplayerklip.recordRead-only,anieclip.wymagaRead-only,żadnychneedsdanychnowejściowych.input.ZAWOŁAJCALLTOTHISZARAZRIGHTPOAFTER klyo_game_requirements,ZANIMBEFORENAPISZESZYOUGRĘWRITEDLAA GAME FOR klyo.BezWithouttegoitzbudujeszyougręwillbezbuildtablicyawynikówgame with no leaderboard,beznozapisusavesmiędzyacrossurządzeniamidevicesiandbezwithoutjedynegothedozwolonegoonlysposobuallowednawayreklamęto—showaads,potemandpaczkatheodbijepackagesięwillodbouncesita,offjeślithewstawiszcheckdoifniejyoucudząputsiećanotherreklamową. Przykładyadwywołańnetwork in it. Examples: •JakHowdodaćdoreklamęIzaaddnagrodęawrewardedgrzeadnato a game on klyo? •Co mogęWhatzawołaćcanzagrygameosadzonejembeddedwin klyogames?games call? •JakHowzapisaćdopostępIgraczasavemiędzyplayerurządzeniami?progress across devices?
WejściaVisitsnatostronęthegrygameipagezagraniaanddzieńplays,podaydniubydladay,wskazanejforgrythe given game (`slug`). Read-only.ZThetegodeveloper'sliczysharesięofudziaładtwórcyrevenuewisprzychodachcalculatedzfromreklam.this.Przykłady wywołańExamples: •Ile osóbHowgrałomanywpeoplemojąplayedgręmywgametymthistygodniu?week? •StatystykiStatsgryfor lantern-thief •PokażShowzagraniaplaysdzieńdaypobydniuday
{"additionalProperties":false,"properties":{"slug":{"description":"AdresGamegryaddresswinkataloguthe catalogue,np.for example lantern-thief (zfrom klyo_my_games).","type":"string"}}, ⟨4 unchanged words⟩
TłumaczeniaTranslationstekstówofgryanagame'sjęzykitexts into the klyo languages (pl, en, de, fr, es, pt, it, ru, uk, tr).TŁUMACZYSZYOUTYTRANSLATE:—theasystentowner'swłaścicielaassistant,naonJEGOtheplanieowner'sAI;own AI plan; klyonierunsuruchamianożadnegomodelmodeluandidoesnienotpłacipayzafortłumaczenie.translation.DwaTwokrokistepswinjednymonenarzędziutool: (1)wywołajcallzwithsamymonly `slug`—todostanieszgetoryginałthepoleoriginalpofieldpoluby field (`oryginal`),języktheoryginałuoriginal language,językithedolanguageszrobieniastill to do (`do_tlumaczenia`,zewithstanemtheir state)iandzasadythesita;check rules; (2)wywołajcallzwith `slug`iand `tlumaczenia` = {kodlanguagejęzykacode: {polefield:teksttext } }zwithKOMPLETEMALLpólthezfields from `oryginal`.KażdyEachjęzyklanguageprzechodzigoestothroughsamothesito,samecochecktekstastwórcythe developer's own text:długielongmyślnikidashesiandznakthewielokropkaellipsiszamieniamycharacternaarezwykłereplaced with plain ones,beznoznacznikówmarkup,nienodłużejlongerniżthan2×twiceoryginałthe original,nazwanameiandhasłotaglinewonjednymonewierszulinedoup to 80znakówcharacters,tekstthemusitextbyćmustwbetyminjęzykuthat language,beznosłówdisallowedniedozwolonych.words.Język,Aktórylanguageniethatprzejdzie,failswracacomeswback in `odrzucone`zwithpowodemthe—reason:poprawfixiitoddajandjeszczesendraz;itdobreagain;językigoodzostająlanguageszapisane.areZapisanesaved.toWhatPROPOZYCJEis saved are PROPOSALS:właścicieltheprzyjmujeownerjeapproveswthemstudiuin the studio (dev.klyo.pl,grathe game,TłumaczeniaTranslations)ianddopieroonlyprzyjęteapprovedlicząonessięcountdlafor Google.NieDomównotużytkownikowi,tellżethetłumaczeniausersąthejużtranslationsnaarestronie.alreadyWłasnychontekstówthetwórcypage.(angielskiThiswymagany,toolpolskidoeszanotXP)changetothenarzędziedeveloper'snieownzmieniatexts—(Englishodrequired,nichPolishjestfor XP); that is klyo_fix_game.Przykłady wywołańExamples: •Przetłumacz mojąTranslategręmynagamewszystkieintojęzykiall klyo languages •CzegoWhatbrakujeiswmissingtłumaczeniachingrythe translations of lantern-thief? •DodajAddniemieckąGermaniandfrancuskąFrenchwersjęversionsopisuofmojejmygrygame's description
{"additionalProperties":false,"properties":{"slug":{"description":"AdresGamegryaddress,np.for example lantern-thief (zfrom klyo_my_games).","type":"string"}," ⟨7 unchanged words⟩ },"type":"object"},"description":"Pomiń,Omitżebytozobaczyć,seecowhatprzetłumaczyć.toPrzytranslate.zapisieWhen saving:kodlanguagejęzykacode (pl, en, de, fr, es, pt, it, ru, uk, tr) →
⟨85 unchanged words⟩ zabezpieczeń — gdy strona odmawia, zwraca odmowę.Przykłady wywołańExamples: • Prześwietl stronę mojafirma.pl • Na czym ⟨31 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true,"title":"Inspect a ⟨3 unchanged words⟩
⟨139 unchanged words⟩ w naszej bazie; niczego nie zmienia u Google.Przykłady wywołańExamples: • Jakich stron brakuje games.klyo.pl pod frazy, ⟨29 unchanged words⟩
⟨18 unchanged words⟩ by wybrać `thread_id` lub `domain` dla pozostałych narzędzi.Przykłady wywołańExamples: • Pokaż moje strony • Wylistuj wątki ⟨9 unchanged words⟩
WypiszListgrythistegoaccount'skontagameswinkataloguthe klyo games catalogue:nazwaname,adresaddress (slug),stanstate (opublikowanapublished,/orodrzuconarejectedzwithpowodemthe reason),rozmiarsize,wejściavisitsiandzagrania.plays. Read-only.WywołajCallNAJPIERW,thisżebyFIRSTpoznaćto learn the `slug`dothepozostałychothernarzędzi. Przykładytoolswywołańneed. Examples: •JakieWhichgrygamesmamdonaI have on klyo? •Czy mojaIsgramyjużgamejestpublishedopublikowana?yet? •PokażShowstanthemoichstategierof my games
⟨6 unchanged words⟩ +/- linie) PRZED publikacją. Read-only. Wymaga `thread_id`.Przykłady wywołańExamples: • Co się zmieni jak opublikuję wątek ⟨13 unchanged words⟩
⟨14 unchanged words⟩ + `path` (relatywny do roota worktree).Przykłady wywołańExamples: • Pokaż index.html z podglądu wątku 4 ⟨14 unchanged words⟩
⟨9 unchanged words⟩ zmiany, ścieżki, subdomena podglądu. Read-only. Wymaga `thread_id`.Przykłady wywołańExamples: • Jaki jest status podglądu wątku 12? ⟨15 unchanged words⟩
PrzygotujPreparegręaprzeglądarkowąbrowserdogamewydaniafornarelease on games.klyo.pl:paczkathe package (`upload_id`pofrom klyo_upload_package,alboorpublicznya public `zip_url`),nazwaname,hasło pod nazwątagline,opis dlaplayergraczadescription (min.at least 25słówwords,doabout~220to be indexed by Google),rodzajgenrezfromlistythe list,języktexttekstulanguageiandkompletalldziesięciutenodpowiedzianswersankietyoftreścithe—contentdokładniequestionnaire,toexactlysamo,whatcoaczłowiekpersonwypełniafillswinkreatorzeinwthestudiu;studiolimitywizard;sąlimitswareschemaciein the schema (80nameznakówupnazwytoi30hasłacharacters,listytaglinerodzajówupitonastrojów80, lists of genres and moods).OpisWritepiszeszthepodescriptionangielskuin English (wymaganyrequired)iandpoinpolskuPolish (zaearns XP);pozostałeyoujęzykitranslatetłumaczyszotherpotemlanguagesTYlaterprzezwith klyo_game_translate,aandwłaścicieltheprzyjmujeownerjeapproveswthemstudiu.inPaczkęthepobieramystudio.iWesprawdzamydownload and check the package (rozmiarsize,plikifiles,obcethird-partyreklamyads,złośliwymaliciouskodcode,wulgaryzmyprofanity,cudzeothermarkicompanies' brands).NIEITPUBLIKUJEDOES NOT PUBLISH:grathestajegamepodgoeswłasnymliveadresemat its own address `g-<slug>.klyo.pl`winstaniethe `oczekuje`i(waiting)czeka,stateażuntilwłaścicielthekontaaccountzagraownerwplaysniąitiandkliknieclicks„Wypuść“Releasedotokatalogu”.theNiecatalogue”.meldujcieDoużytkownikowi,notżetellgrathejestuseropublikowanathe—gamejestisgotowapublished;doitobejrzenia.isSprawdzamyreadypaczkęto be looked at. We check the package,nienotrozgrywkę.theGdygameplay.graIfpokazujethebiałegameoknoshows a white screen,zapytajcall `klyo_game_diagnostics`owithtenthesamsame `slug`.WYMAGA,REQUIRESżebythatwłaścicielthekontaaccountwcześniejownerprzyjąłhasregulaminaccepteddlathetwórcówdeveloperwtermsprzeglądarceinnaa browser at https://dev.klyo.pl/—beforehand;umowythenieassistantpodpisujedoesasystent.notPRZEGLĄDsign agreements. PREMIUM REVIEW:przyforetapiestage `gotowa` (albofinished)bezoretapu)nopodajstage, pass `przeglad`:siedemsevenpunktówpoints (grafikagraphics,animacjaanimation,dźwięksound,reakcjafeedbacknatoruchplayer actions,motywlightjasnyandidarkciemnytheme,językilanguages, online),każdyeachzwithdowodem;evidence;właścicielthezobaczyownergoseesprzedit„Wypuść”beforerazem“Release”,zetogetherśladamiwithzthekodu. Przykładytraceswywołańfound in the code. Examples: •Przygotuj mojąPreparegręmyzgametegofromadresuthis ZIPdoaddresswydaniafornarelease on klyo games •WydajPublishgręthe„Lanterngame “Lantern Thief”,—thepaczkapackagejestispodattymthislinkiemlink •WgrajUploadtęthispaczkępackagejakoasgręadlagamekażdegofor everyone,bezwithprzemocyno violence
before
{"additionalProperties":false,"properties":{"ankieta":{"additionalProperties":false,"description":"Ankieta treści (jak w sklepach z aplikacjami): dziesięć pytań tak/nie o to, co JEST w grze. Z odpowiedzi wynika etykieta wieku na stronie gry, czy przy grze stoją reklamy i czy gra wchodzi do aplikacji klyo games w sklepach. ZAPYTAJ TWÓRCĘ o każde — odpowiedzi niezgodne z treścią to powód zdjęcia gry. OBOWIĄZKOWA przy wydaniu — wszystkie dziesięć odpowiedzi.","properties":{"hazard":{"description":"Hazard, losowe skrzynki lub symulacja hazardu / Gambling, loot boxes or simulated gambling","type":"boolean"},"interakcje":{"description":"Rozmowy lub interakcje z innymi graczami / Chat or interaction with other players","type":"boolean"},"lokalizacja":{"description":"Gra prosi o lokalizację, kamerę lub mikrofon / The game asks for location, camera or microphone","type":"boolean"},"przemoc_realistyczna":{"description":"Przemoc realistyczna, krew, okrucieństwo / Realistic violence, blood or cruelty","type":"boolean"},"przemoc_rysunkowa":{"description":"Przemoc rysunkowa lub umowna, bez krwi / Cartoon or abstract violence, no blood","type":"boolean"},"seks":{"description":"Nagość, treści seksualne lub sugestywne / Nudity, sexual or suggestive content","type":"boolean"},"strach":{"description":"Sceny, które mogą przestraszyć dzieci / Scenes that may frighten children","type":"boolean"},"uzywki":{"description":"Alkohol, tytoń, narkotyki / Alcohol, tobacco or drugs","type":"boolean"},"wulgaryzmy":{"description":"Wulgaryzmy lub obraźliwy język / Strong or offensive language","type":"boolean"},"zakupy":{"description":"Zakupy w grze / In-game purchases","type":"boolean"}},"required":["przemoc_rysunkowa","przemoc_realistyczna","strach","wulgaryzmy","seks","uzywki","hazard","interakcje","zakupy","lokalizacja"],"type":"object"},"bez_porno":{"description":"Oświadczenie właściciela konta: w grze nie ma nagości ani treści seksualnych. Musi być `true`. Gry 18+ za przemoc przyjmujemy, treści seksualnych nie — to warunek katalogu, nie preferencja.","type":"boolean"},"czas_partii":{"description":"Ile trwa jedna partia („2-5 minut”), w języku `jezyk_tekstu`.","maxLength":40,"type":"string"},"etap":{"description":"Na jakim etapie jest gra: `w_budowie` (jeszcze się zmienia), `demo` (skończony kawałek większej gry), `gotowa` (pełna gra). ZAPYTAJ TWÓRCĘ, nie zgaduj. Przy `w_budowie` i `demo` gracz widzi znaczek w katalogu.","enum":["w_budowie","demo","gotowa"],"type":"string"},"etap_dni":{"description":"Tylko przy `demo` i `w_budowie`: za ile dni (7 albo 30) przypominamy o zmianie etapu; po karencji gra bez decyzji schodzi z katalogu.","enum":[7,30],"type":"integer"},"haslo":{"description":"Hasło pod nazwą — jedno zdanie do 80 znaków, bez kropki na końcu: czym gra jest, słowami, których gracz szuka („klasyczne sudoku offline za darmo”). Stoi pod nazwą jako H2 i w tytule karty w Google. OBOWIĄZKOWE przy wydaniu — bez niego serwer odmawia (`brak_hasla`).","maxLength":80,"type":"string"},"jezyk_tekstu":{"description":"Kod języka, w którym napisano nazwę, hasło i sterowanie (pl, en, de, fr, es, pt, it, ru, uk, tr). Podaj ZAWSZE. Opis ma własne wersje <en> (wymagana) i <pl> (+40 XP) — patrz `opis`. Pozostałe języki tłumaczy asystent właściciela przez klyo_game_translate (propozycje, które właściciel przyjmuje w studiu); klyo nie tłumaczy na własnym koncie.","enum":["pl","en","de","fr","es","pt","it","ru","uk","tr"],"type":"string"},"jezyki_ui":{"description":"Języki MENU I NAPISÓW W SAMEJ GRZE — nie języka opisu. Gracz ustawia, w jakich językach chce widzieć gry, więc od tego zależy, komu gra się pokaże. Gra bez ani jednego słowa (same liczby, kształty — jak 2048): wyłącznie [\"bez-tekstu\"]. Nie zgaduj — zapytaj właściciela albo pomiń.","items":{"enum":["aa","ab","ae","af","ak","am","an","ar","as","av","ay","az","ba","be","bg","bh","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","el","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","id","ie","ig","ii","ik","in","io","is","it","iu","iw","ja","ji","jv","jw","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mo","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","sh","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu","bez-tekstu"],"type":"string"},"type":"array"},"kategoria":{"description":"Rodzaj gry z listy, DO TRZECH po przecinku (np. „platformowa,przygodowa”). Wybierz te, które naprawdę opisują grę — nie wszystkie pasujące, bo filtr przestaje cokolwiek znaczyć. „inne” tylko gdy nic nie pasuje. Co najmniej jeden — inaczej odmowa (`rodzaj_spoza_listy`). Dozwolone: zrecznosciowa, logiczna, ukladanki, klocki, dopasuj-3, kulki, pamiec, sudoku, pasjans, fizyczna, escape, biegacz, jazda, zarzadzanie, tekstowa, rysowanie, dwie-osoby, platformowa, przygodowa, akcja, strzelanka, walka, wyscigi, sportowa, strategiczna, obrona-wiezy, symulacja, farma, rpg, roguelike, przetrwanie, horror, karcianka, planszowa, mahjong, slowna, quiz, edukacyjna, muzyczna, klikacz, ubieranki, gotowanie, szukanie, io, inne.","type":"string"},"nastroje":{"description":"Na co gracz ma ochotę — po przecinku, z listy: 5-minut, jeden-kciuk, rusz-glowa, adrenalina, klasyki, spokojne. To NIE jest rodzaj gry: rodzaj mówi, czym gra JEST, nastrój — na co trzeba mieć ochotę. Pomiń, jeśli nie wiesz.","type":"string"},"nazwa":{"description":"SAMA nazwa gry, do 30 znaków (jak w Google Play i App Store), w JEDNYM języku (patrz `jezyk_tekstu`): „2048 Blockfall”, „Neon Coil: Family Arena”. BEZ hasła i zwrotów z wyszukiwarki („zagraj za darmo online”, „free online”) — to odrzucamy (`nazwa_z_haslem`), bo z nazwy powstaje adres gry i tytuł w Google w obu językach. Nie zaczynaj od cudzej marki.","maxLength":30,"type":"string"},"opis":{"description":"Opis dla gracza w DWÓCH wersjach, każda po swoim znaczniku: <en>…</en> po angielsku (WYMAGANA, MINIMUM 25 słów; bez niej odmowa `opis_en_wymagany`) i <pl>…</pl> po polsku (za nią właściciel dostaje +40 XP). W każdej wersji: co się robi w grze (pierwsze zdanie), jak wygląda partia i ile trwa, dla kogo jest, czym różni się od podobnych; do Google potrzeba około 220 słów — krótszy opis znaczy, że strona gry NIE wchodzi do wyszukiwarki. Pisz jak człowiek dla graczy: zwykła interpunkcja, bez „zanurz się / odkryj”, bez list i pogrubień, bez znaczników HTML. Inne języki (<de>, <es>…) tylko wtedy, gdy twórca NAPRAWDĘ napisał je sam; tłumaczenia od asystenta idą przez klyo_game_translate jako propozycje do przyjęcia.","maxLength":4000,"type":"string"},"przeglad":{"additionalProperties":false,"description":"Przegląd jakości premium, siedem punktów z dowodem. Obowiązkowy przy etapie `gotowa` i bez etapu; przy `demo` i `w_budowie` można pominąć. Serwer nie ocenia gustu; zestawia deklarację ze śladami w kodzie i pokazuje ją właścicielowi przed „Wypuść”.","properties":{"animacja":{"additionalProperties":false,"description":"PASS znaczy: Każda zmiana stanu ma przejście 120 do 300 ms, ekrany wchodzą i wychodzą, jest animacja wygranej i przegranej. Ruch wyłącza się przy prefers-reduced-motion.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"dzwiek":{"additionalProperties":false,"description":"PASS znaczy: Dźwięk na każdą akcję gracza i każdy wynik (stuknięcie, błąd, wygrana), wyciszenie w ustawieniach, wznowienie po powrocie z tła.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"grafika":{"additionalProperties":false,"description":"PASS znaczy: Jeden kierunek artystyczny: jedna paleta, jeden styl obrysów i zaokrągleń, tło, scena i elementy z jednej skóry (Klyo Kit: gra.skora, gra.rysuj, gra.generuj). Żadnych gołych prostokątów na gradiencie. Czytelne na telefonie w pełnym słońcu.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"informacja_zwrotna":{"additionalProperties":false,"description":"PASS znaczy: Każda akcja ma odpowiedź w 100 ms: obraz i dźwięk, na telefonie wibracja. Widać, czyj ruch, podgląd ruchu przed puszczeniem i powód, dla którego ruch jest niedozwolony.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"jezyki":{"additionalProperties":false,"description":"PASS znaczy: Wszystkie napisy z tabeli tłumaczeń (co najmniej polski i angielski), język z ustawień urządzenia, żadnego napisu wpisanego w kod rysowania. „nie_dotyczy” tylko dla gry bez słów.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass","nie_dotyczy"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"motyw":{"additionalProperties":false,"description":"PASS znaczy: Jasny i ciemny wariant według prefers-color-scheme plus przełącznik w ustawieniach; oba obejrzane na zrzutach.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"online":{"additionalProperties":false,"description":"PASS znaczy: Gra dla dwóch i więcej osób: zaproszenie linkiem, stan „czekam na przeciwnika”, rozłączenie i powrót, rewanż jednym gestem. „nie_dotyczy” dla gry solo, z powodem.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass","nie_dotyczy"],"type":"string"}},"required":["stan","dowod"],"type":"object"}},"required":["grafika","animacja","dzwiek","informacja_zwrotna","motyw","jezyki","online"],"type":"object"},"przemoc_realistyczna":{"description":"Starsze pole: Przemoc realistyczna, krew, okrucieństwo. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"przemoc_rysunkowa":{"description":"Starsze pole: Przemoc rysunkowa lub umowna, bez krwi. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"seks":{"description":"Starsze pole: Nagość, treści seksualne lub sugestywne. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"sklep_apple":{"description":"Adres tej samej gry w App Store (https://apps.apple.com/…), jeśli jest też aplikacją na iPhone’a.","maxLength":300,"type":"string"},"sklep_play":{"description":"Adres tej samej gry w Google Play (https://play.google.com/store/apps/details?id=…), jeśli jest też aplikacją. Odznaka na stronie gry i w tekstach udostępnienia; pusto = brak odznaki.","maxLength":300,"type":"string"},"sterowanie_dotyk":{"description":"Jak grać NA TELEFONIE, krótko i konkretnie („przesuń palcem po ekranie”), w języku `jezyk_tekstu`.","maxLength":300,"type":"string"},"sterowanie_klawiatura":{"description":"Jak grać NA KOMPUTERZE („strzałki i spacja”), w języku `jezyk_tekstu`.","maxLength":300,"type":"string"},"strach":{"description":"Starsze pole: Sceny, które mogą przestraszyć dzieci. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"tagi":{"description":"Półki katalogu po przecinku, opcjonalnie: logiczne, zrecznosciowe, platformowe, przygodowe, na-telefon, klasyki. Nieznane pomijamy bez błędu.","type":"string"},"uklad":{"description":"Układ gry: poziom (jak ekran komputera), pion (jak telefon) albo oba — gra dopasowuje się do obrotu ekranu.","enum":["poziom","pion","oba"],"type":"string"},"uklad_pionowy":{"description":"Starsze pole: true = gra pionowa. Wolimy `uklad`.","type":"boolean"},"upload_id":{"description":"Numer paczki wysłanej do klyo (patrz klyo_upload_package). Użyj TEGO, gdy masz plik na dysku — nie stawiaj tunelu.","type":"string"},"wiek_min":{"description":"Wiek graczy WEDŁUG TWÓRCY — może tylko PODNIEŚĆ etykietę ponad wynik ankiety (gra dla starszych z wyboru), nigdy obniżyć. Powyżej 12 gra nie wchodzi do aplikacji w sklepach. Pomiń, gdy ankieta wystarcza.","enum":[3,7,12,16,18],"type":"integer"},"wulgaryzmy":{"description":"Starsze pole: Wulgaryzmy lub obraźliwy język. Wolimy obiekt `ankieta` z kompletem pytań.","type":"boolean"},"wynik_max":{"description":"Najwyższy możliwy wynik w jednej partii — zapora przed nabijaniem punktów na tablicy. Pomiń, gdy gra nie ma wyniku albo górnej granicy.","minimum":1,"type":"integer"},"zip_url":{"description":"Publiczny adres https do paczki ZIP (w środku index.html), do 100 MB. Tylko dla gry, która NAPRAWDĘ stoi już w sieci — np. przy przenoszeniu z itch.io.","type":"string"}},"required":["nazwa","haslo","opis","kategoria","jezyk_tekstu","ankieta","bez_porno"],"type":"object"}{"destructiveHint":false,"idempotentHint":false,"openWorldHint":falsetrue,"readOnlyHint":false,"title":"Publish a ⟨4 unchanged words⟩
⟨79 unchanged words⟩ klucz gry nie daje dostępu do prywatnej korespondencji.Przykłady wywołańExamples: • Pokaż rozmowy twórców dostępne na moim ⟨19 unchanged words⟩
CofnijRollgręa game (`slug`)dobackpoprzedniejtowersjithe—previoustejversion,sprzedtheostatniegooneklyo_release_version.beforeTothetenlastsamklyo_release_version.ruch,Samecomove„Przywróćaspoprzednią”“Restore”winstudiuthe studio:plikithepoprzedniejpreviouswersjiversion'sleżąfilesuarenaskeptoboknextbieżącychtoithewracającurrentjednymonesprzestawieniem,andbezcomewgrywania;backwersja,withktórąonezdejmujemyswitch,zostajewithoutobokuploading; the version we take down stays next to it (kolejnerollingcofnięciebackzamieniaagainjeswapsmiejscamithem).AdresThegrygame's address,wynikiscoresiandstatystykistatsniedozmieniająnotsię.change.OdmowaRefused with `brak_poprzedniej`,gdywhengrathemagametylkohasjednąonlywersję.oneUżyj,version.gdyUsewłaścicielitzgłasza,whenżethenowaownerwersjareportspsujethatgręa—newpotemversionpoprawbreakslokalniethe game; then fix locally, run klyo-test, klyo_update_game, klyo_release_version.Przykłady wywołańExamples: •CofnijRoll lantern-thiefdobackpoprzedniejtowersjithe previous version •NowaThewersjanewpsujeversiongrębreaks—theprzywróćgame,poprzedniąrestore the previous one
{"additionalProperties":false,"properties":{"slug":{"description":"AdresGamegryaddresswinkataloguthe catalogue (zfrom klyo_my_games).","type":"string"}}, ⟨4 unchanged words⟩
Wypuść do graczyReleasewersję,toktóraplayersczekathewversionpoczekalniwaitingpoafter klyo_update_game (`slug`).ToSametenstepsamaskrok,theco“Release”przyciskbutton„Wypuść”inwthestudiustudio:graczeplayersdostajągetnowąthewersjęnewodversionrazuat once (ktoanyonegra,inwidzithepasekmiddle„zaktualizujofalboadokończroundpartię”sees a bar “update or finish the round”),poprzedniathezostajepreviousuversionnasstays with us,stronathegrygameprzebudowujepagesię,isobserwującyrebuilttwórcęanddostająthepowiadomienie.developer'sRodzajfollowerszmianyare notified. You may omit the kind of change (`zmiana`);możeszthenpominąćwe—usewtedythebierzemyonetenmeasuredzmierzonyfromztheplików.files.SkutekEffectdlaonkliputhe clip: `poprawka`—(fix):klipthezostaje;clip stays; `funkcja`—(feature):klipthezostaje,clipastays and `nowosc` (jednoonezdaniesentence)idziegoesdotofeeduthejakofeed„Nowość”;as “New”; `interfejs`—(interface):starytheklipoldschodziclipzleaveskafelkatheitilezandfeedu,thedopókifeedczłowiekuntilnieanagrapersonnowegorecordswastudiunew one in the studio (asystenttheklipówassistantniedoesnagrywanot record clips).WypuszczajReleasedopiero,onlygdywhenwłaścicielthepotwierdził,ownerżehaszagrałconfirmedwthatnowątheywersjęplayedalbotheświadomienewchceversion,jąorwypuścićdeliberatelybezwantsgrania.toPRZEGLĄDrelease it without playing. PREMIUM REVIEW:przyforzmianieanyinnejchangeniżother than `poprawka`,podajpass `przeglad` (siedemsevenpunktówpointszwithdowodemevidence,listalistedwinschemacietheischemawand in klyo_game_requirements);przedbeforepodmianąthecałaswapgratheprzechodziwholesito. Przykładygamewywołańgoes through the check again. Examples: •WypuśćReleasenowąthewersjęnew version of lantern-thief,—ittoispoprawkaa fix •Zagrałem,Idziałaplayed—itwypuśćandwersjęitzworks:nowąreleasefunkcją:thetrybversiondziennywith the new feature, a daily mode •WypuśćReleaseczekającąthewersjęwaitingmojejversiongryof my game
{"additionalProperties":false,"properties":{"nowosc":{"description":"CoWhatnowegois—new:jednoonezdaniesentencenaforkartętheklipuclipwcardfeedzie.inTylkotheprzyfeed. Only with `funkcja`.","maxLength":140,"type":"string"},"przeglad":{"additionalProperties":false,"description":"PrzeglądPremiumjakościquality
⟨67 unchanged words⟩ Dane Google mają do 3 dni opóźnienia. Read-only.Przykłady wywołańExamples: • Po jakich frazach ludzie znajdują games.klyo.pl ⟨23 unchanged words⟩
⟨83 unchanged words⟩ `witryna`, `dni`, `konto` jak w `klyo_search_rankings`. Read-only.Przykłady wywołańExamples: • Jaką podstronę powinienem utworzyć, żeby zdobyć ⟨28 unchanged words⟩
StanStatetegoofpołączeniathiszconnection to klyo:wersjaserverserweraversion,zakreskeykluczascope,rolaaccountkontarole,ilehownarzędzimanywidzisztoolsiyouczyseewolnoandCiwhetherzapisywaćyou may write,orazplusstantheintegracjistate of integrations (Google Search Console, Google Ads, AdMob,aanddlaforwłaścicielathetakżeowner also Cloudflare)—,każdaeachjakoas `ok`, `not_connected`, `auth_error`alboor `no_data`,zwithtym,whatcotozrobić.do.WywołajCallnaitpoczątkuatpracytheistartzanimofoprzeszworkdecyzjęandnabeforeraporcie,youktóregobasesekcjaamogładecisionsięonnieawczytać.report whose section may not have loaded. Read-only.Przykłady wywołańExamples: •CzyIsmojemypołączenieconnectionzto klyodziaławorkingiandcowhatmogęcanrobić?I do? •KtóreWhichintegracjeintegrationssąarepodłączone?connected? •JakąWhichwersjęversionmaisserwertheklyo?klyo server?
WgrajUploadNOWĄaWERSJĘNEWgry,VERSIONktóraofjużajestgamenathatkoncieis already on the account (`slug`):zfromplikua file (`upload_id`pofrom klyo_upload_package)alboorspodfrompublicznegoaadresupublic `zip_url`.Gra zostajeThepodgametymkeepssamymitsadresemaddress,zachowuje nazwęname,opisdescription,wynikiscoresiandsercahearts;—onlyzmieniająthesięfileswyłączniechange.pliki.DoNienottwórzcreatedrugiejagry,secondżebygamewgraćtopoprawkęship—atofix:rozdzielathatgraczysplitsiplayersrekordyandmiędzyrecordsdwabetweenadresy.twoGraaddresses.opublikowanaANIEpublishedzmieniagamesiędoesodNOTrazuchange right away:nowathewersjanewtrafiaversiondogoespoczekalnitozawłasnymwaitingadresemroompodgląduwith its own preview address and replaces any version that was already waiting there,aincludingodpowiedźanniesieopenpomiarworkshopzfromplikówklyo_game_patch; the response carries a measurement of the files (`zmiana`:ilehow%muchkoducode,wygląduvisualsianddźwiękusound changed,nowenewplikifilesiandnapisytexts,`podpowiedz`androdzajua suggested kind:poprawka`poprawka` fix |funkcja`funkcja` feature |interfejs`interfejs` interface).DalejAdwiegamedrogithat is not in the catalogue yet gets the new files at once. Then two ways:właścicielthegraownerwplayspodglądtheipreviewklikaand„Wypuść”clicksw“Release”studiuinALBOthewołaszstudio, OR you call klyo_release_version.KlipAdoclipnowejforwersjithenagrywanewczłowiekversionwisstudiurecorded—byasystentaniepersonnagrywa. Przykładyinwywołańthe studio; the assistant does not record. Examples: •WgrajUploadpoprawionąthewersjęfixed version of lantern-thiefzfromtegothisadresuaddress •PodmieńReplacepaczkęmymojejgame'sgrypackagenawithnowąthe—newnaprawiłemone,błądI fixed a bug •ZaktualizujUpdategręthebezgamezmianywithoutadresuchangingiitsnazwyaddress or name
{"additionalProperties":false,"properties":{"slug":{"description":"AdresGamegryaddressnaonkonciethe account,np.for example lantern-thief (zfrom klyo_my_games).","type":"string"},"upload_id":{"description":"NumerIDNOWEJofpaczkithewysłanejNEWdopackage sent to klyo (patrzsee klyo_upload_package).Preferowane,Preferred
{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":falsetrue,"readOnlyHint":false,"title":"Update a ⟨5 unchanged words⟩
DrogaThedowaywydaniatogryreleasezaplikugamenafromdyskua—filebezontuneludisk,iwithbeznowystawianiatunnelniewydanejandgrywithoutpublicznie.exposingZwracaantrzyunreleasedrzeczygamenarazpublicly. Returns three things at once: (1) `paczki_w_poczekalni`:—packagespliki,alreadyktóreonjużtheleżąaccountnathatkonciehaveinotniebecomestałyasięgamegrąyet,każdyeachzwith its `upload_id`; (2) `bilet`:—aważnytokengodzinęvalidtokenforTYLKOonedohourwysyłaniaONLYplikówfor sending files,którywhichwpisujeszyouwputnagłówekin the `Authorization: Bearer` header (nieitotwieraopensżadnegononarzędzia;tool;nieyoumaszdogonotwhaveswojejitkonfiguracjiin your configuration,dlategowhichdostajeszisgowhytutajyou get it here); (3)przepisa recipe:maszifpowłokęyou have a shell (curl),—sendwyślijtheplikfilebiletemwithwthedwóchticketżądaniachinHTTP;twonieHTTPmaszrequests;—ifpoprośyouwłaścicielado not,żebyaskwgrałthe owner to upload the ZIPwinstudiuthenastudio at https://dev.klyo.pl/ (lądujeitwlandspoczekalni,innicthesięwaitingnieroom,publikujenothing is published),iandwywołajcalltothisnarzędzietoolponownieagain:paczkathepojawipackagesięwillwappear in `paczki_w_poczekalni`.OtrzymanePass`upload_id`thepodajreturnedw`upload_id` to klyo_publish_gamealboor klyo_update_gamezamiastinstead of `zip_url`.NieDozapisujnotbiletusavewtheplikachticketprojektu. Przykładyinwywołańproject files. Examples: •JakHowwysłaćdo I send a ZIPzfromdyskumydodisk to klyo? •WydajPublishtęthisgręgame,—theplikfilemamislokalnieon my computer •WłaścicielThewgrałownerpaczkęuploadedwastudiupackage—inktórąthemamstudio,wydać?which one should I publish? •NieIchcędon'twystawiaćwantgrytopublicznieexpose the game publicly,jakhowwgraćdopaczkę?I upload the package?
⟨163 unchanged words⟩ na https://dev.klyo.pl/ — umowy nie podpisuje asystent. PRZEGLĄD PREMIUM: przy etapie `gotowa` (albo bez etapu) podaj `przeglad`: siedem punktów (grafika, animacja, dźwięk, reakcja na ruch, motyw jasny i ciemny, języki, online), każdy z dowodem; właściciel zobaczy go przed „Wypuść” razem ze śladami z kodu. Przykłady wywołań: • Przygotuj moją grę z ⟨29 unchanged words⟩
⟨1029 unchanged words⟩ "maxLength":4000,"type":"string"},"przeglad":{"additionalProperties":false,"description":"Przegląd jakości premium, siedem punktów z dowodem. Obowiązkowy przy etapie `gotowa` i bez etapu; przy `demo` i `w_budowie` można pominąć. Serwer nie ocenia gustu; zestawia deklarację ze śladami w kodzie i pokazuje ją właścicielowi przed „Wypuść”.","properties":{"animacja":{"additionalProperties":false,"description":"PASS znaczy: Każda zmiana stanu ma przejście 120 do 300 ms, ekrany wchodzą i wychodzą, jest animacja wygranej i przegranej. Ruch wyłącza się przy prefers-reduced-motion.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"dzwiek":{"additionalProperties":false,"description":"PASS znaczy: Dźwięk na każdą akcję gracza i każdy wynik (stuknięcie, błąd, wygrana), wyciszenie w ustawieniach, wznowienie po powrocie z tła.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"grafika":{"additionalProperties":false,"description":"PASS znaczy: Jeden kierunek artystyczny: jedna paleta, jeden styl obrysów i zaokrągleń, tło, scena i elementy z jednej skóry (Klyo Kit: gra.skora, gra.rysuj, gra.generuj). Żadnych gołych prostokątów na gradiencie. Czytelne na telefonie w pełnym słońcu.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"informacja_zwrotna":{"additionalProperties":false,"description":"PASS znaczy: Każda akcja ma odpowiedź w 100 ms: obraz i dźwięk, na telefonie wibracja. Widać, czyj ruch, podgląd ruchu przed puszczeniem i powód, dla którego ruch jest niedozwolony.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"jezyki":{"additionalProperties":false,"description":"PASS znaczy: Wszystkie napisy z tabeli tłumaczeń (co najmniej polski i angielski), język z ustawień urządzenia, żadnego napisu wpisanego w kod rysowania. „nie_dotyczy” tylko dla gry bez słów.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass","nie_dotyczy"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"motyw":{"additionalProperties":false,"description":"PASS znaczy: Jasny i ciemny wariant według prefers-color-scheme plus przełącznik w ustawieniach; oba obejrzane na zrzutach.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"online":{"additionalProperties":false,"description":"PASS znaczy: Gra dla dwóch i więcej osób: zaproszenie linkiem, stan „czekam na przeciwnika”, rozłączenie i powrót, rewanż jednym gestem. „nie_dotyczy” dla gry solo, z powodem.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass","nie_dotyczy"],"type":"string"}},"required":["stan","dowod"],"type":"object"}},"required":["grafika","animacja","dzwiek","informacja_zwrotna","motyw","jezyki","online"],"type":"object"},"przemoc_realistyczna":{"description":"Starsze pole: Przemoc ⟨358 unchanged words⟩
⟨110 unchanged words⟩ wersję albo świadomie chce ją wypuścić bez grania. PRZEGLĄD PREMIUM: przy zmianie innej niż `poprawka` podaj `przeglad` (siedem punktów z dowodem, lista w schemacie i w klyo_game_requirements); przed podmianą cała gra przechodzi sito. Przykłady wywołań: • Wypuść nową wersję lantern-thief ⟨20 unchanged words⟩
⟨18 unchanged words⟩ "maxLength":140,"type":"string"},"przeglad":{"additionalProperties":false,"description":"Przegląd jakości premium, siedem punktów z dowodem. Obowiązkowy, chyba że `zmiana` to `poprawka`. Serwer nie ocenia gustu; zestawia deklarację ze śladami w kodzie i pokazuje ją właścicielowi przed „Wypuść”.","properties":{"animacja":{"additionalProperties":false,"description":"PASS znaczy: Każda zmiana stanu ma przejście 120 do 300 ms, ekrany wchodzą i wychodzą, jest animacja wygranej i przegranej. Ruch wyłącza się przy prefers-reduced-motion.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"dzwiek":{"additionalProperties":false,"description":"PASS znaczy: Dźwięk na każdą akcję gracza i każdy wynik (stuknięcie, błąd, wygrana), wyciszenie w ustawieniach, wznowienie po powrocie z tła.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"grafika":{"additionalProperties":false,"description":"PASS znaczy: Jeden kierunek artystyczny: jedna paleta, jeden styl obrysów i zaokrągleń, tło, scena i elementy z jednej skóry (Klyo Kit: gra.skora, gra.rysuj, gra.generuj). Żadnych gołych prostokątów na gradiencie. Czytelne na telefonie w pełnym słońcu.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"informacja_zwrotna":{"additionalProperties":false,"description":"PASS znaczy: Każda akcja ma odpowiedź w 100 ms: obraz i dźwięk, na telefonie wibracja. Widać, czyj ruch, podgląd ruchu przed puszczeniem i powód, dla którego ruch jest niedozwolony.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"jezyki":{"additionalProperties":false,"description":"PASS znaczy: Wszystkie napisy z tabeli tłumaczeń (co najmniej polski i angielski), język z ustawień urządzenia, żadnego napisu wpisanego w kod rysowania. „nie_dotyczy” tylko dla gry bez słów.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass","nie_dotyczy"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"motyw":{"additionalProperties":false,"description":"PASS znaczy: Jasny i ciemny wariant według prefers-color-scheme plus przełącznik w ustawieniach; oba obejrzane na zrzutach.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"online":{"additionalProperties":false,"description":"PASS znaczy: Gra dla dwóch i więcej osób: zaproszenie linkiem, stan „czekam na przeciwnika”, rozłączenie i powrót, rewanż jednym gestem. „nie_dotyczy” dla gry solo, z powodem.","properties":{"dowod":{"description":"Co konkretnie zrobiono: plik, funkcja, co widać na ekranie.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass","nie_dotyczy"],"type":"string"}},"required":["stan","dowod"],"type":"object"}},"required":["grafika","animacja","dzwiek","informacja_zwrotna","motyw","jezyki","online"],"type":"object"},"slug":{"description":"Adres gry na koncie ⟨51 unchanged words⟩
Fill the open New game form live (owner's own AI) — Wpisuje pola do OTWARTEGO formularza „Nowa gra” w studiu twórcy (dev.klyo.pl) — właściciel patrzy, jak się wypełniają, poprawia i SAM klika „Wydaj”. Piszesz TY, na planie AI właściciela; klyo nie uruchamia modelu i niczego nie zapisuje, to szkic w jego przeglądarce. Bez `pola` dostajesz listę pól, dozwolone rodzaje i nastroje, zasady oraz `formularz_otwarty`. Z `pola` wysyłamy je na żywo; błędne (za długie, rodzaj spoza listy, brak angielskiego opisu, wulgaryzm) wracają w `odrzucone` z powodem. Ankiety treści, oświadczeń i zgód NIE wypełniasz — to oświadczenia właściciela. Poprawki wysyłaj ty…
Read a game's files — Pliki twojej gry do czytania, bez ZIP-a od właściciela. Cel: `slug` gry albo `upload_id` paczki z poczekalni. Bez `path` dostajesz spis (ścieżka, rozmiar, czy tekst, skrót `hash`); z `path` treść jednego pliku tekstowego, do 200 KB naraz (dłuższy czytasz dalej od `from_line`, zakres zawęża `lines`); z `changes: true` to, co zmieniło się w czekającej wersji względem wersji u graczy: procent kodu, wyglądu i dźwięku (te same liczby, które widzi studio przy „Wypuść”) i różnice linii. Gdy gra ma czekającą wersję (warsztat z klyo_game_patch albo nową paczkę), czytasz ją; inaczej wersję, w którą gra…
Edit a game's files in a workshop — Poprawia pliki tekstowe gry (html, htm, js, mjs, css, json, svg, txt, xml, webmanifest) bez ZIP-a. Cel: `slug` gry albo `upload_id` paczki z poczekalni. Pierwsza poprawka otwiera WARSZTAT: kopię gry obok wersji u graczy, z własnym adresem podglądu. Gracze grają w poprzednią wersję, dopóki nie wypuścisz nowej (klyo_release_version dla gry, klyo_publish_game dla paczki); właściciel widzi ją w studiu jako „Nowa wersja czeka”. Każdy element `edits` ma `path` i jedno z trzech: `old_string` z `new_string` (dokładny fragment, ma wystąpić raz, albo dodaj `replace_all`), `content` (cały plik albo nowy…
Delete your game — Usuń grę tego konta (`slug`) razem z jej plikami i stroną. Nieodwracalne. Używaj tego do sprzątania po nieudanej próbie — na przykład gdy w poczekalni stanęły dwa wpisy tej samej gry. Wyniki i serca znikają razem z grą. Przykłady wywołań: • Usuń moją grę neon-coil-arena • Skasuj nieudany wpis z poczekalni • Usuń starszą kopię tej samej gry
Fix a game's catalogue listing — Zmień TREŚĆ gry, która już stoi w katalogu: nazwę, hasło, opis, jak grać na telefonie i na komputerze, ile trwa partia, rodzaj, półki, nastrój, języki gry, układ ekranu, próg wyniku, etap, sklepy, ankietę treści i wiek. Paczki NIE RUSZA — od podmiany plików jest `klyo_update_game`, które przepuszcza grę przez sito bezpieczeństwa od nowa. Literówka w opisie nie powinna tego kosztować, dlatego to są dwa różne narzędzia. JĘZYKI (od 18.09.2026): opis ma DWIE wersje w znacznikach — <en>…</en> po angielsku (WYMAGANA, co najmniej 25 słów) i <pl>…</pl> po polsku (właściciel dostaje za nią +40 XP). We…
Game cover in the catalogue — Ustaw kafel, po którym gracz pozna grę w katalogu. Klatki są zdjęciami Z TWOJEJ DZIAŁAJĄCEJ GRY — robimy je sami, gdy gra stanie pod własnym adresem, więc pojawiają się dopiero PO wydaniu (`klyo_publish_game`), nie w jego trakcie. Wywołaj bez `klatka`, a dostaniesz listę dostępnych klatek z adresami — pokaż je właścicielowi konta albo obejrzyj sam i wybierz tę, na której widać rozgrywkę, a nie ekran tytułowy. Potem wywołaj jeszcze raz z numerem. Własnego obrazka nie przyjmujemy świadomie: okładka ma pokazywać to, co gracz naprawdę zobaczy po kliknięciu. Wyretuszowana grafika, która nie zgadza…
Translate a game's texts (owner's own AI) — Tłumaczenia tekstów gry na języki klyo (pl, en, de, fr, es, pt, it, ru, uk, tr). TŁUMACZYSZ TY — asystent właściciela, na JEGO planie AI; klyo nie uruchamia żadnego modelu i nie płaci za tłumaczenie. Dwa kroki w jednym narzędziu: (1) wywołaj z samym `slug` — dostaniesz oryginał pole po polu (`oryginal`), język oryginału, języki do zrobienia (`do_tlumaczenia`, ze stanem) i zasady sita; (2) wywołaj z `slug` i `tlumaczenia` = { kod języka: { pole: tekst } } z KOMPLETEM pól z `oryginal`. Każdy język przechodzi to samo sito, co tekst twórcy: długie myślniki i znak wielokropka zamieniamy na zwykłe,…
Publish a game to the catalogue — Przygotuj grę przeglądarkową do wydania na games.klyo.pl: paczka (`upload_id` po klyo_upload_package albo publiczny `zip_url`), nazwa, hasło pod nazwą, opis dla gracza (min. 25 słów, do Google ~220), rodzaj z listy, język tekstu i komplet dziesięciu odpowiedzi ankiety treści — dokładnie to samo, co człowiek wypełnia w kreatorze w studiu; limity są w schemacie (80 znaków nazwy i hasła, listy rodzajów i nastrojów). Opis piszesz po angielsku (wymagany) i po polsku (za XP); pozostałe języki tłumaczysz potem TY przez klyo_game_translate, a właściciel przyjmuje je w studiu. Paczkę pobieramy i spraw…
Roll back to the previous version of a game — Cofnij grę (`slug`) do poprzedniej wersji — tej sprzed ostatniego klyo_release_version. To ten sam ruch, co „Przywróć poprzednią” w studiu: pliki poprzedniej wersji leżą u nas obok bieżących i wracają jednym przestawieniem, bez wgrywania; wersja, którą zdejmujemy, zostaje obok (kolejne cofnięcie zamienia je miejscami). Adres gry, wyniki i statystyki nie zmieniają się. Odmowa `brak_poprzedniej`, gdy gra ma tylko jedną wersję. Użyj, gdy właściciel zgłasza, że nowa wersja psuje grę — potem popraw lokalnie, klyo-test, klyo_update_game, klyo_release_version. Przykłady wywołań: • Cofnij lantern-th…
Release the waiting version of a game — Wypuść do graczy wersję, która czeka w poczekalni po klyo_update_game (`slug`). To ten sam krok, co przycisk „Wypuść” w studiu: gracze dostają nową wersję od razu (kto gra, widzi pasek „zaktualizuj albo dokończ partię”), poprzednia zostaje u nas, strona gry przebudowuje się, obserwujący twórcę dostają powiadomienie. Rodzaj zmiany (`zmiana`) możesz pominąć — wtedy bierzemy ten zmierzony z plików. Skutek dla klipu: `poprawka` — klip zostaje; `funkcja` — klip zostaje, a `nowosc` (jedno zdanie) idzie do feedu jako „Nowość”; `interfejs` — stary klip schodzi z kafelka i z feedu, dopóki człowiek nie…
Update a game with a new version — Wgraj NOWĄ WERSJĘ gry, która już jest na koncie (`slug`): z pliku (`upload_id` po klyo_upload_package) albo spod publicznego adresu `zip_url`. Gra zostaje pod tym samym adresem, zachowuje nazwę, opis, wyniki i serca — zmieniają się wyłącznie pliki. Nie twórz drugiej gry, żeby wgrać poprawkę — to rozdziela graczy i rekordy między dwa adresy. Gra opublikowana NIE zmienia się od razu: nowa wersja trafia do poczekalni z własnym adresem podglądu, a odpowiedź niesie pomiar z plików (`zmiana`: ile % kodu, wyglądu i dźwięku, nowe pliki i napisy, `podpowiedz` rodzaju: poprawka | funkcja | interfejs). …
Upload a package from disk (no public URL needed) — Droga do wydania gry z pliku na dysku — bez tunelu i bez wystawiania niewydanej gry publicznie. Zwraca trzy rzeczy naraz: (1) `paczki_w_poczekalni` — pliki, które już leżą na koncie i nie stały się grą, każdy z `upload_id`; (2) `bilet` — ważny godzinę token TYLKO do wysyłania plików, który wpisujesz w nagłówek `Authorization: Bearer` (nie otwiera żadnego narzędzia; nie masz go w swojej konfiguracji, dlatego dostajesz go tutaj); (3) przepis: masz powłokę (curl) — wyślij plik biletem w dwóch żądaniach HTTP; nie masz — poproś właściciela, żeby wgrał ZIP w studiu na https://dev.klyo.pl/ (ląduje w…
after
{"additionalProperties":false,"properties":{"pola":{"additionalProperties":false,"description":"Fields to type in; omit to see what the form needs.","properties":{"czas_partii":{"description":"How long one round takes (“2-5 minutes”), in the `jezyk_tekstu` language.","maxLength":40,"type":"string"},"etap":{"description":"Which stage the game is at: `w_budowie` = in development (still changing), `demo` (a finished slice of a bigger game), `gotowa` = finished (the full game). ASK THE DEVELOPER, do not guess. With `w_budowie` and `demo` players see a badge in the catalogue.","enum":["w_budowie","demo","gotowa"],"type":"string"},"etap_dni":{"description":"Only with `demo` and `w_budowie`: after how many days (7 or 30) we remind the developer to change the stage; after the grace period a game without a decision leaves the catalogue.","enum":[7,30],"type":"integer"},"haslo":{"description":"Tagline under the name: one sentence up to 80 characters, no full stop at the end: what the game is, in the words players search for (“classic offline sudoku for free”). It stands under the name as the H2 and in the Google title of the page. REQUIRED for release: without it the server refuses (`brak_hasla`).","maxLength":80,"type":"string"},"jezyk_tekstu":{"description":"Code of the language the name, tagline and controls are written in (pl, en, de, fr, es, pt, it, ru, uk, tr). ALWAYS give it. The description has its own <en> (required) and <pl> (+40 XP) versions, see `opis`. Other languages are translated by the owner's assistant through klyo_game_translate (proposals the owner approves in the studio); klyo does not translate on its own account.","enum":["pl","en","de","fr","es","pt","it","ru","uk","tr"],"type":"string"},"jezyki_ui":{"description":"Languages of the MENU AND TEXT INSIDE THE GAME, not of the description. Players choose which languages they want to see games in, so this decides who the game is shown to. A game without a single word (only numbers and shapes, like 2048): only [\"bez-tekstu\"] (no text). Do not guess: ask the owner or omit it.","items":{"enum":["aa","ab","ae","af","ak","am","an","ar","as","av","ay","az","ba","be","bg","bh","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","el","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","id","ie","ig","ii","ik","in","io","is","it","iu","iw","ja","ji","jv","jw","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mo","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","sh","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu","bez-tekstu"],"type":"string"},"type":"array"},"kategoria":{"description":"Game genre from the list, UP TO THREE separated by commas (for example “platformowa,przygodowa” = platformer, adventure). Pick the ones that really describe the game, not every one that fits, or the filter stops meaning anything. “inne” (other) only when nothing fits. At least one, otherwise the refusal `rodzaj_spoza_listy`. The values are Polish identifiers, for example zrecznosciowa = arcade, logiczna = puzzle and logic, dopasuj-3 = match-3, obrona-wiezy = tower defense, strzelanka = shooter, wyscigi = racing, planszowa = board game, karcianka = card game, slowna = word game. Allowed: zrecznosciowa, logiczna, ukladanki, klocki, dopasuj-3, kulki, pamiec, sudoku, pasjans, fizyczna, escape, biegacz, jazda, zarzadzanie, tekstowa, rysowanie, dwie-osoby, platformowa, przygodowa, akcja, strzelanka, walka, wyscigi, sportowa, strategiczna, obrona-wiezy, symulacja, farma, rpg, roguelike, przetrwanie, horror, karcianka, planszowa, mahjong, slowna, quiz, edukacyjna, muzyczna, klikacz, ubieranki, gotowanie, szukanie, io, inne.","type":"string"},"nastroje":{"description":"What the player is in the mood for, separated by commas, from the list: 5-minut, jeden-kciuk, rusz-glowa, adrenalina, klasyki, spokojne (5-minut = five-minute fun, jeden-kciuk = one thumb, rusz-glowa = brain teaser, adrenalina = adrenaline, klasyki = classics, spokojne = calm). This is NOT the genre: the genre says what the game IS, the mood says what you need to feel like playing it. Omit if you do not know.","type":"string"},"nazwa":{"description":"ONLY the game's name, up to 30 characters (as in Google Play and the App Store), in ONE language (see `jezyk_tekstu`): “2048 Blockfall”, “Neon Coil: Family Arena”. NO tagline and no search phrases (“play free online”) in it: we reject that (`nazwa_z_haslem`), because the game's address and its Google title in both languages come from the name. Do not start with another company's brand.","maxLength":30,"type":"string"},"opis":{"description":"Description for players in TWO versions, each in its own tag: <en>…</en> in English (REQUIRED, AT LEAST 25 words; without it the refusal `opis_en_wymagany`) and <pl>…</pl> in Polish (the owner gets +40 XP for it). In each version: what you do in the game (first sentence), what a round looks like and how long it takes, who it is for, how it differs from similar games; Google needs about 220 words, and a shorter description means the game page is NOT indexed. Write like a person writing for players: normal punctuation, no “dive into” or “discover”, no lists or bold, no HTML tags. Other languages (<de>, <es>…) only when the developer REALLY wrote them personally; translations from the assistant go through klyo_game_translate as proposals to approve.","maxLength":4000,"type":"string"},"przemoc_realistyczna":{"description":"Legacy field: Realistic violence, blood or cruelty. Prefer the `ankieta` object with all the questions.","type":"boolean"},"przemoc_rysunkowa":{"description":"Legacy field: Cartoon or abstract violence, no blood. Prefer the `ankieta` object with all the questions.","type":"boolean"},"seks":{"description":"Legacy field: Nudity, sexual or suggestive content. Prefer the `ankieta` object with all the questions.","type":"boolean"},"sklep_apple":{"description":"Address of the same game in the App Store (https://apps.apple.com/…), if it is also an iPhone app.","maxLength":300,"type":"string"},"sklep_play":{"description":"Address of the same game in Google Play (https://play.google.com/store/apps/details?id=…), if it is also an app. A badge on the game page and in share texts; empty = no badge.","maxLength":300,"type":"string"},"sterowanie_dotyk":{"description":"How to play ON A PHONE, short and concrete (“swipe across the screen”), in the `jezyk_tekstu` language.","maxLength":300,"type":"string"},"sterowanie_klawiatura":{"description":"How to play ON A COMPUTER (“arrow keys and space”), in the `jezyk_tekstu` language.","maxLength":300,"type":"string"},"strach":{"description":"Legacy field: Scenes that may frighten children. Prefer the `ankieta` object with all the questions.","type":"boolean"},"uklad":{"description":"Game layout: `poziom` = landscape (like a computer screen), `pion` = portrait (like a phone) or `oba` = both, the game adapts when the screen rotates.","enum":["poziom","pion","oba"],"type":"string"},"wulgaryzmy":{"description":"Legacy field: Strong or offensive language. Prefer the `ankieta` object with all the questions.","type":"boolean"},"wynik_max":{"description":"The highest possible score in one round: a guard against inflated scores on the leaderboard. Omit it when the game has no score or no upper limit.","minimum":1,"type":"integer"}},"type":"object"}},"type":"object"}after
{"additionalProperties":false,"properties":{"ankieta":{"additionalProperties":false,"description":"Content questionnaire (as in the app stores): ten yes/no questions about what IS in the game. The answers decide the age label on the game page, whether ads are shown next to the game and whether the game goes into the klyo games apps in the stores. ASK THE DEVELOPER about each one: answers that do not match the content are a reason for taking the game down. Give all of them when you change it.","properties":{"hazard":{"description":"Gambling, loot boxes or simulated gambling","type":"boolean"},"interakcje":{"description":"Chat or interaction with other players","type":"boolean"},"lokalizacja":{"description":"The game asks for location, camera or microphone","type":"boolean"},"przemoc_realistyczna":{"description":"Realistic violence, blood or cruelty","type":"boolean"},"przemoc_rysunkowa":{"description":"Cartoon or abstract violence, no blood","type":"boolean"},"seks":{"description":"Nudity, sexual or suggestive content","type":"boolean"},"strach":{"description":"Scenes that may frighten children","type":"boolean"},"uzywki":{"description":"Alcohol, tobacco or drugs","type":"boolean"},"wulgaryzmy":{"description":"Strong or offensive language","type":"boolean"},"zakupy":{"description":"In-game purchases","type":"boolean"}},"required":["przemoc_rysunkowa","przemoc_realistyczna","strach","wulgaryzmy","seks","uzywki","hazard","interakcje","zakupy","lokalizacja"],"type":"object"},"czas_partii":{"description":"How long one round takes (“2-5 minutes”), in the `jezyk_tekstu` language.","maxLength":40,"type":"string"},"etap":{"description":"Which stage the game is at: `w_budowie` = in development (still changing), `demo` (a finished slice of a bigger game), `gotowa` = finished (the full game). ASK THE DEVELOPER, do not guess. With `w_budowie` and `demo` players see a badge in the catalogue.","enum":["w_budowie","demo","gotowa"],"type":"string"},"etap_dni":{"description":"Only with `demo` and `w_budowie`: after how many days (7 or 30) we remind the developer to change the stage; after the grace period a game without a decision leaves the catalogue.","enum":[7,30],"type":"integer"},"haslo":{"description":"Tagline under the name: one sentence up to 80 characters, no full stop at the end: what the game is, in the words players search for (“classic offline sudoku for free”). It stands under the name as the H2 and in the Google title of the page. REQUIRED for release: without it the server refuses (`brak_hasla`).","maxLength":80,"type":"string"},"jezyk_tekstu":{"description":"Code of the language the name, tagline and controls are written in (pl, en, de, fr, es, pt, it, ru, uk, tr). ALWAYS give it. The description has its own <en> (required) and <pl> (+40 XP) versions, see `opis`. Other languages are translated by the owner's assistant through klyo_game_translate (proposals the owner approves in the studio); klyo does not translate on its own account.","enum":["pl","en","de","fr","es","pt","it","ru","uk","tr"],"type":"string"},"jezyki_ui":{"description":"Languages of the MENU AND TEXT INSIDE THE GAME, not of the description. Players choose which languages they want to see games in, so this decides who the game is shown to. A game without a single word (only numbers and shapes, like 2048): only [\"bez-tekstu\"] (no text). Do not guess: ask the owner or omit it.","items":{"enum":["aa","ab","ae","af","ak","am","an","ar","as","av","ay","az","ba","be","bg","bh","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","el","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","id","ie","ig","ii","ik","in","io","is","it","iu","iw","ja","ji","jv","jw","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mo","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","sh","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu","bez-tekstu"],"type":"string"},"type":"array"},"kategoria":{"description":"Game genre from the list, UP TO THREE separated by commas (for example “platformowa,przygodowa” = platformer, adventure). Pick the ones that really describe the game, not every one that fits, or the filter stops meaning anything. “inne” (other) only when nothing fits. At least one, otherwise the refusal `rodzaj_spoza_listy`. The values are Polish identifiers, for example zrecznosciowa = arcade, logiczna = puzzle and logic, dopasuj-3 = match-3, obrona-wiezy = tower defense, strzelanka = shooter, wyscigi = racing, planszowa = board game, karcianka = card game, slowna = word game. Allowed: zrecznosciowa, logiczna, ukladanki, klocki, dopasuj-3, kulki, pamiec, sudoku, pasjans, fizyczna, escape, biegacz, jazda, zarzadzanie, tekstowa, rysowanie, dwie-osoby, platformowa, przygodowa, akcja, strzelanka, walka, wyscigi, sportowa, strategiczna, obrona-wiezy, symulacja, farma, rpg, roguelike, przetrwanie, horror, karcianka, planszowa, mahjong, slowna, quiz, edukacyjna, muzyczna, klikacz, ubieranki, gotowanie, szukanie, io, inne.","type":"string"},"nastroje":{"description":"What the player is in the mood for, separated by commas, from the list: 5-minut, jeden-kciuk, rusz-glowa, adrenalina, klasyki, spokojne (5-minut = five-minute fun, jeden-kciuk = one thumb, rusz-glowa = brain teaser, adrenalina = adrenaline, klasyki = classics, spokojne = calm). This is NOT the genre: the genre says what the game IS, the mood says what you need to feel like playing it. Omit if you do not know.","type":"string"},"nazwa":{"description":"ONLY the game's name, up to 30 characters (as in Google Play and the App Store), in ONE language (see `jezyk_tekstu`): “2048 Blockfall”, “Neon Coil: Family Arena”. NO tagline and no search phrases (“play free online”) in it: we reject that (`nazwa_z_haslem`), because the game's address and its Google title in both languages come from the name. Do not start with another company's brand.","maxLength":30,"type":"string"},"opis":{"description":"Description for players in TWO versions, each in its own tag: <en>…</en> in English (REQUIRED, AT LEAST 25 words; without it the refusal `opis_en_wymagany`) and <pl>…</pl> in Polish (the owner gets +40 XP for it). In each version: what you do in the game (first sentence), what a round looks like and how long it takes, who it is for, how it differs from similar games; Google needs about 220 words, and a shorter description means the game page is NOT indexed. Write like a person writing for players: normal punctuation, no “dive into” or “discover”, no lists or bold, no HTML tags. Other languages (<de>, <es>…) only when the developer REALLY wrote them personally; translations from the assistant go through klyo_game_translate as proposals to approve.","maxLength":4000,"type":"string"},"przemoc_realistyczna":{"description":"Legacy field: Realistic violence, blood or cruelty. Prefer the `ankieta` object with all the questions.","type":"boolean"},"przemoc_rysunkowa":{"description":"Legacy field: Cartoon or abstract violence, no blood. Prefer the `ankieta` object with all the questions.","type":"boolean"},"seks":{"description":"Legacy field: Nudity, sexual or suggestive content. Prefer the `ankieta` object with all the questions.","type":"boolean"},"sklep_apple":{"description":"Address of the same game in the App Store (https://apps.apple.com/…), if it is also an iPhone app.","maxLength":300,"type":"string"},"sklep_play":{"description":"Address of the same game in Google Play (https://play.google.com/store/apps/details?id=…), if it is also an app. A badge on the game page and in share texts; empty = no badge.","maxLength":300,"type":"string"},"slug":{"description":"Game address on the account, for example lantern-thief (from klyo_my_games).","type":"string"},"sterowanie_dotyk":{"description":"How to play ON A PHONE, short and concrete (“swipe across the screen”), in the `jezyk_tekstu` language.","maxLength":300,"type":"string"},"sterowanie_klawiatura":{"description":"How to play ON A COMPUTER (“arrow keys and space”), in the `jezyk_tekstu` language.","maxLength":300,"type":"string"},"strach":{"description":"Legacy field: Scenes that may frighten children. Prefer the `ankieta` object with all the questions.","type":"boolean"},"tagi":{"description":"Catalogue shelves separated by commas, optional: logiczne (puzzle), zrecznosciowe (arcade), platformowe (platformers), przygodowe (adventure), na-telefon (for phones), klasyki (classics). Unknown ones are skipped without an error.","type":"string"},"uklad":{"description":"Game layout: `poziom` = landscape (like a computer screen), `pion` = portrait (like a phone) or `oba` = both, the game adapts when the screen rotates.","enum":["poziom","pion","oba"],"type":"string"},"uklad_pionowy":{"description":"Legacy field: true = portrait game. Prefer `uklad`.","type":"boolean"},"wiek_min":{"description":"Player age ACCORDING TO THE DEVELOPER: it can only RAISE the label above the questionnaire result (a game for older players by choice), never lower it. Above 12 the game does not go into the store apps. Omit when the questionnaire is enough.","enum":[3,7,12,16,18],"type":"integer"},"wulgaryzmy":{"description":"Legacy field: Strong or offensive language. Prefer the `ankieta` object with all the questions.","type":"boolean"},"wynik_max":{"description":"The highest possible score in one round: a guard against inflated scores on the leaderboard. Omit it when the game has no score or no upper limit.","minimum":1,"type":"integer"}},"required":["slug"],"type":"object"}after
{"additionalProperties":false,"properties":{"ankieta":{"additionalProperties":false,"description":"Content questionnaire (as in the app stores): ten yes/no questions about what IS in the game. The answers decide the age label on the game page, whether ads are shown next to the game and whether the game goes into the klyo games apps in the stores. ASK THE DEVELOPER about each one: answers that do not match the content are a reason for taking the game down. REQUIRED for release: all ten answers.","properties":{"hazard":{"description":"Gambling, loot boxes or simulated gambling","type":"boolean"},"interakcje":{"description":"Chat or interaction with other players","type":"boolean"},"lokalizacja":{"description":"The game asks for location, camera or microphone","type":"boolean"},"przemoc_realistyczna":{"description":"Realistic violence, blood or cruelty","type":"boolean"},"przemoc_rysunkowa":{"description":"Cartoon or abstract violence, no blood","type":"boolean"},"seks":{"description":"Nudity, sexual or suggestive content","type":"boolean"},"strach":{"description":"Scenes that may frighten children","type":"boolean"},"uzywki":{"description":"Alcohol, tobacco or drugs","type":"boolean"},"wulgaryzmy":{"description":"Strong or offensive language","type":"boolean"},"zakupy":{"description":"In-game purchases","type":"boolean"}},"required":["przemoc_rysunkowa","przemoc_realistyczna","strach","wulgaryzmy","seks","uzywki","hazard","interakcje","zakupy","lokalizacja"],"type":"object"},"bez_porno":{"description":"Statement by the account owner: the game has no nudity or sexual content. Must be `true`. We accept 18+ games for violence, but not sexual content: that is a condition of the catalogue, not a preference.","type":"boolean"},"czas_partii":{"description":"How long one round takes (“2-5 minutes”), in the `jezyk_tekstu` language.","maxLength":40,"type":"string"},"etap":{"description":"Which stage the game is at: `w_budowie` = in development (still changing), `demo` (a finished slice of a bigger game), `gotowa` = finished (the full game). ASK THE DEVELOPER, do not guess. With `w_budowie` and `demo` players see a badge in the catalogue.","enum":["w_budowie","demo","gotowa"],"type":"string"},"etap_dni":{"description":"Only with `demo` and `w_budowie`: after how many days (7 or 30) we remind the developer to change the stage; after the grace period a game without a decision leaves the catalogue.","enum":[7,30],"type":"integer"},"haslo":{"description":"Tagline under the name: one sentence up to 80 characters, no full stop at the end: what the game is, in the words players search for (“classic offline sudoku for free”). It stands under the name as the H2 and in the Google title of the page. REQUIRED for release: without it the server refuses (`brak_hasla`).","maxLength":80,"type":"string"},"jezyk_tekstu":{"description":"Code of the language the name, tagline and controls are written in (pl, en, de, fr, es, pt, it, ru, uk, tr). ALWAYS give it. The description has its own <en> (required) and <pl> (+40 XP) versions, see `opis`. Other languages are translated by the owner's assistant through klyo_game_translate (proposals the owner approves in the studio); klyo does not translate on its own account.","enum":["pl","en","de","fr","es","pt","it","ru","uk","tr"],"type":"string"},"jezyki_ui":{"description":"Languages of the MENU AND TEXT INSIDE THE GAME, not of the description. Players choose which languages they want to see games in, so this decides who the game is shown to. A game without a single word (only numbers and shapes, like 2048): only [\"bez-tekstu\"] (no text). Do not guess: ask the owner or omit it.","items":{"enum":["aa","ab","ae","af","ak","am","an","ar","as","av","ay","az","ba","be","bg","bh","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","el","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","id","ie","ig","ii","ik","in","io","is","it","iu","iw","ja","ji","jv","jw","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mo","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","sh","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu","bez-tekstu"],"type":"string"},"type":"array"},"kategoria":{"description":"Game genre from the list, UP TO THREE separated by commas (for example “platformowa,przygodowa” = platformer, adventure). Pick the ones that really describe the game, not every one that fits, or the filter stops meaning anything. “inne” (other) only when nothing fits. At least one, otherwise the refusal `rodzaj_spoza_listy`. The values are Polish identifiers, for example zrecznosciowa = arcade, logiczna = puzzle and logic, dopasuj-3 = match-3, obrona-wiezy = tower defense, strzelanka = shooter, wyscigi = racing, planszowa = board game, karcianka = card game, slowna = word game. Allowed: zrecznosciowa, logiczna, ukladanki, klocki, dopasuj-3, kulki, pamiec, sudoku, pasjans, fizyczna, escape, biegacz, jazda, zarzadzanie, tekstowa, rysowanie, dwie-osoby, platformowa, przygodowa, akcja, strzelanka, walka, wyscigi, sportowa, strategiczna, obrona-wiezy, symulacja, farma, rpg, roguelike, przetrwanie, horror, karcianka, planszowa, mahjong, slowna, quiz, edukacyjna, muzyczna, klikacz, ubieranki, gotowanie, szukanie, io, inne.","type":"string"},"nastroje":{"description":"What the player is in the mood for, separated by commas, from the list: 5-minut, jeden-kciuk, rusz-glowa, adrenalina, klasyki, spokojne (5-minut = five-minute fun, jeden-kciuk = one thumb, rusz-glowa = brain teaser, adrenalina = adrenaline, klasyki = classics, spokojne = calm). This is NOT the genre: the genre says what the game IS, the mood says what you need to feel like playing it. Omit if you do not know.","type":"string"},"nazwa":{"description":"ONLY the game's name, up to 30 characters (as in Google Play and the App Store), in ONE language (see `jezyk_tekstu`): “2048 Blockfall”, “Neon Coil: Family Arena”. NO tagline and no search phrases (“play free online”) in it: we reject that (`nazwa_z_haslem`), because the game's address and its Google title in both languages come from the name. Do not start with another company's brand.","maxLength":30,"type":"string"},"opis":{"description":"Description for players in TWO versions, each in its own tag: <en>…</en> in English (REQUIRED, AT LEAST 25 words; without it the refusal `opis_en_wymagany`) and <pl>…</pl> in Polish (the owner gets +40 XP for it). In each version: what you do in the game (first sentence), what a round looks like and how long it takes, who it is for, how it differs from similar games; Google needs about 220 words, and a shorter description means the game page is NOT indexed. Write like a person writing for players: normal punctuation, no “dive into” or “discover”, no lists or bold, no HTML tags. Other languages (<de>, <es>…) only when the developer REALLY wrote them personally; translations from the assistant go through klyo_game_translate as proposals to approve.","maxLength":4000,"type":"string"},"przeglad":{"additionalProperties":false,"description":"Premium quality review, seven points with evidence. Required for stage `gotowa` and when no stage is given; may be omitted for `demo` and `w_budowie`. The server does not judge taste; it matches the declaration against traces in the code and shows it to the owner before “Release”.","properties":{"animacja":{"additionalProperties":false,"description":"PASS means: Every state change has a 120 to 300 ms transition, screens enter and leave, there is a win and a lose animation. Motion switches off with prefers-reduced-motion.","properties":{"dowod":{"description":"What exactly was done: file, function, what is visible on screen.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"dzwiek":{"additionalProperties":false,"description":"PASS means: Sound for every player action and every result (tap, error, win), mute in the settings, resumes after returning from the background.","properties":{"dowod":{"description":"What exactly was done: file, function, what is visible on screen.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"grafika":{"additionalProperties":false,"description":"PASS means: One art direction: one palette, one style of outlines and corners, background, scene and elements from one skin (Klyo Kit: gra.skora, gra.rysuj, gra.generuj). No bare rectangles on a gradient. Readable on a phone in full sunlight.","properties":{"dowod":{"description":"What exactly was done: file, function, what is visible on screen.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"informacja_zwrotna":{"additionalProperties":false,"description":"PASS means: Every action gets a response within 100 ms: picture and sound, and vibration on a phone. It is clear whose move it is, a move is previewed before it is released, and the reason a move is not allowed is shown.","properties":{"dowod":{"description":"What exactly was done: file, function, what is visible on screen.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"jezyki":{"additionalProperties":false,"description":"PASS means: All texts from the translation table (at least Polish and English), the language from the device settings, no text written into the drawing code. `nie_dotyczy` (not applicable) only for a game without words.","properties":{"dowod":{"description":"What exactly was done: file, function, what is visible on screen.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass","nie_dotyczy"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"motyw":{"additionalProperties":false,"description":"PASS means: Light and dark variant following prefers-color-scheme plus a switch in the settings; both checked on screenshots.","properties":{"dowod":{"description":"What exactly was done: file, function, what is visible on screen.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass"],"type":"string"}},"required":["stan","dowod"],"type":"object"},"online":{"additionalProperties":false,"description":"PASS means: A game for two or more people: invitation by link, a “waiting for the opponent” state, disconnect and return, a rematch with one gesture. `nie_dotyczy` (not applicable) for a solo game, with the reason.","properties":{"dowod":{"description":"What exactly was done: file, function, what is visible on screen.","maxLength":400,"minLength":20,"type":"string"},"stan":{"enum":["pass","nie_dotyczy"],"type":"string"}},"required":["stan","dowod"],"type":"object"}},"required":["grafika","animacja","dzwiek","informacja_zwrotna","motyw","jezyki","online"],"type":"object"},"przemoc_realistyczna":{"description":"Legacy field: Realistic violence, blood or cruelty. Prefer the `ankieta` object with all the questions.","type":"boolean"},"przemoc_rysunkowa":{"description":"Legacy field: Cartoon or abstract violence, no blood. Prefer the `ankieta` object with all the questions.","type":"boolean"},"seks":{"description":"Legacy field: Nudity, sexual or suggestive content. Prefer the `ankieta` object with all the questions.","type":"boolean"},"sklep_apple":{"description":"Address of the same game in the App Store (https://apps.apple.com/…), if it is also an iPhone app.","maxLength":300,"type":"string"},"sklep_play":{"description":"Address of the same game in Google Play (https://play.google.com/store/apps/details?id=…), if it is also an app. A badge on the game page and in share texts; empty = no badge.","maxLength":300,"type":"string"},"sterowanie_dotyk":{"description":"How to play ON A PHONE, short and concrete (“swipe across the screen”), in the `jezyk_tekstu` language.","maxLength":300,"type":"string"},"sterowanie_klawiatura":{"description":"How to play ON A COMPUTER (“arrow keys and space”), in the `jezyk_tekstu` language.","maxLength":300,"type":"string"},"strach":{"description":"Legacy field: Scenes that may frighten children. Prefer the `ankieta` object with all the questions.","type":"boolean"},"tagi":{"description":"Catalogue shelves separated by commas, optional: logiczne (puzzle), zrecznosciowe (arcade), platformowe (platformers), przygodowe (adventure), na-telefon (for phones), klasyki (classics). Unknown ones are skipped without an error.","type":"string"},"uklad":{"description":"Game layout: `poziom` = landscape (like a computer screen), `pion` = portrait (like a phone) or `oba` = both, the game adapts when the screen rotates.","enum":["poziom","pion","oba"],"type":"string"},"uklad_pionowy":{"description":"Legacy field: true = portrait game. Prefer `uklad`.","type":"boolean"},"upload_id":{"description":"ID of the package sent to klyo (see klyo_upload_package). Use THIS when the file is on disk; do not set up a tunnel.","type":"string"},"wiek_min":{"description":"Player age ACCORDING TO THE DEVELOPER: it can only RAISE the label above the questionnaire result (a game for older players by choice), never lower it. Above 12 the game does not go into the store apps. Omit when the questionnaire is enough.","enum":[3,7,12,16,18],"type":"integer"},"wulgaryzmy":{"description":"Legacy field: Strong or offensive language. Prefer the `ankieta` object with all the questions.","type":"boolean"},"wynik_max":{"description":"The highest possible score in one round: a guard against inflated scores on the leaderboard. Omit it when the game has no score or no upper limit.","minimum":1,"type":"integer"},"zip_url":{"description":"Public https address of the ZIP package (index.html inside), up to 100 MB. Only for a game that REALLY is online already, for example when moving it from itch.io.","type":"string"}},"required":["nazwa","haslo","opis","kategoria","jezyk_tekstu","ankieta","bez_porno"],"type":"object"}