zloy.net Play Zloy
Games
Sign in RU
← Back home

Zloy Studio

The program people make zloy.net games in. It installs on your computer, works with your own folder on disk and takes the game all the way to the catalogue: build it, try it, send it to moderation, ship it.

Heads-up: the Studio's interface is in Russian only for now; an English version is planned. The games you make and their pages can be in any language.

Download

macOS— Windows— Linux—

Free. An account is only needed to publish a game. All builds and past versions

What it does

  • Makes the game with you. Zloy Master turns a description in plain words (“a shooter about flying carpets, two players over the network”) into a specification and walks an AI agent through it until the game is done. You pick the agent: Claude Code, Codex or Koda.
  • Covers everything a game needs, without your own server. Rooms, chat, saves, timers, leaderboards and in-game currency already exist on the platform — you attach them as cubes instead of writing them again.
  • Shows what is happening inside the game. Zloy Data — the rows your game wrote into the backend; Zloy Stats — load and response times; Zloy Notify — notifications for players.
  • Ships it. The build runs on your machine with one command, only the finished result is uploaded, and then come preview, moderation and the catalogue.

What your computer needs

You need Node.js 18 or newer (with npm) and git, plus at least one AI agent. Zloy Doctor checks the machine on the first screen: it installs the agent itself and shows the exact command for your system for Node.js, git and the rest. Blender is optional — without it your assets will be procedural.

A game on the platform is a web game in JavaScript, so a new project's starter builds with no dependencies at all: the first build works on a clean machine, even with no internet.

How to install

The program is not signed with a paid certificate from either Apple or Microsoft, so on the first launch the system stops it with a warning. You allow it once — after that the Studio updates itself.

  • macOS (Apple Silicon and Intel). Open the .dmg and drag Zloy Studio into Applications. On macOS 15 and later, after the first launch attempt: System Settings → Privacy & Security → “Open Anyway”. On macOS 14 and earlier: right-click the app → Open. If that fails, run in Terminal: xattr -dr com.apple.quarantine "/Applications/Zloy Studio.app". The same steps are inside the disk image.
  • Windows. Run setup.exe. If SmartScreen says “Windows protected your PC”, click “More info” → “Run anyway”.
  • Linux. Ubuntu, Debian, Mint — the .deb package (sudo apt install ./zloy-studio-v*-linux-x64.deb); other distributions — the .tar.gz archive: unpack it and run bundle/Zloy-Studio.

How to publish a game

The full order of steps is on the “How to publish a game” page. In short: create a project, sign in with your zloy.net account, build the web version, pick an address and a genre, and send it to moderation.

What has changed

Version 1.71.2 · 12.10.2026

  • You can now move a game tab in the top bar, and its screen stays as it was. Before, it was rebuilt: the right panel went back to "Chats" instead of "Publishing", and the game preview and the chat reloaded from scratch.
  • The same when you close a tab to the left: games to the right no longer reload. And the same for chat tabs inside a game: a deleted chat on the left does not reset the chats open to the right.

Version 1.71.1 · 12.10.2026

  • "Open on phone" now works on phones without physical buttons, which is almost any current phone. Before, the launch silently did not happen on such a phone, and the log showed a meaningless line.
  • When the phone is short of space, "To phone" now says so: free up storage and try again. Before, the log only showed "failed to install" with the file path. Other Android refusals are shown by their reason too, not by service output.

Version 1.71.0 · 12.10.2026

  • Every built package on the "Android" → "Package build" tab has a new "To phone" button. Connect a phone with a cable and turn on USB debugging: the Studio notices it on its own and installs the game with one click.
  • Above the packages there is a "Phone" line. It shows whether a phone is connected and what stops it: waiting for debug permission, not responding, needs a driver. It also explains how to turn debugging on. No adb — a button installs it into the Studio SDK.
  • A phone does not take the RuStore and Google Play package (AAB). The Studio builds a regular APK from it and installs that. If the phone has the game with another signature or a newer build, the Studio asks whether to remove the old one. After install, a button opens the game.

Version 1.70.0 · 12.10.2026

  • Every store card on the Publishing tab has a new "The game is out in the store" button. Press it once the game can actually be installed: store moderation takes days. The link to the store listing is filled in from the package name, so all that is left is to open it and check.
  • Once marked, the store badge appears on the game page and on its promo site, and the page gets a "Now on RuStore" post with the link. One post per store: editing the link or bringing a removed badge back makes no second post.
  • Above the cards there is a "Where else to play" summary: which badges the game shows right now. Telegram and MAX appear there on their own while the game's bot is connected.

Version 1.69.0 · 12.10.2026

  • The game's Manage tab has a new Microphone and camera section. A game that needs them (pronunciation, voice chat, photos) gets them with a switch. Without it, the game frame on the site, in Telegram and in MAX gives no device. The switch works for the version that passed moderation: turn it on, press ▶ and send the game to the moderator, who sees the request in the queue.
  • The game preview in the Studio gives the microphone and camera by the same switches — the game behaves as it does for players, and the developer does not learn about a disabled microphone from them. On macOS the system asks on the first request whether the Studio may use the microphone or camera.
  • An Android build puts the microphone or camera permission into the manifest only for a game with the switch on and asks the player when the game first requests the device. Packages of games without the switch show no extra permissions in the store.
  • The Zloy Master task knows about the switch: an agent that needs the microphone asks the developer to turn it on, requests the device on a player's tap rather than on load, and shows what works without it if the player refuses.

Version 1.68.0 · 11.10.2026

  • A new Analytics tab in the game workspace shows stats from the platform counter analytics.zloy.net: how many people are in the game, on its promo site and on the game page right now (last 10 minutes), unique visitors per day, launches, installs and removals.
  • Breakdowns: platforms (zloy.net, Telegram, MAX, RuStore, Google Play, Huawei, Xiaomi, Galaxy Store), countries and cities, browser languages, devices, systems with versions, referring sites and pages. Period — today, 7, 30 or 90 days; data refreshes when you open the tab and by the button, with no constant polling.
  • Android game packages report to the platform counter the first launch (that is the install) and every launch together with the package's store — players from RuStore and other stores appear in Analytics next to the site's players. The install number is random and unrelated to the account.
  • The tab is shown when the counter is enabled on the platform server: an older server does not offer it, and the game screen stays as before.

Version 1.67.1 · 11.10.2026

  • The icon in Google Play no longer lies on its side. An icon file can carry a hidden "rotate 90°" mark that some image editors add. Browsers and RuStore, Huawei and Xiaomi ignore it, while Google Play applies it and turns the icon. Before a build and a publication the Studio now removes such marks from storefront images so that every store shows what the Studio shows, and re-uploads the image to stores that already have it.

Version 1.67.0 · 10.10.2026

  • Store publishing now remembers how the agent went through a store console and goes through it by itself next time — without the model and many times faster than the agent. The recorded run works for any game: the name, package, version, What's new, images and files of that game are filled in. If the store console has changed and a step is not found, the agent continues from that very point, and its run is added to the recipe — the next publication goes without the model again.
  • First-publication questionnaires are replayed only for games with the same details: a game with different answers goes through them with the agent again. Navigating to a URL with another app's number never gets into a recipe. Each store on the Publishing tab shows how many steps the recipe has, how many times it ran without the model and how fast, and the Forget recipe button makes it record anew.

Version 1.66.0 · 10.10.2026

  • Store publishing moved to a Publishing tab next to Package build, in the same right-hand panel as everything else. You can leave it for the Storefront tab or another game in the middle of publishing: progress, the log and the results stay in place. Several games can be published at once, each with its own Studio browser window and its own agent. The signing key password for Xiaomi is asked in a field on the tab, and the tab itself shows a badge while publishing runs or waits for you.
  • Anything that blocks publishing is shown before the start: an empty email, a missing privacy policy, an unfinished storefront or a missing package. Email and privacy policy can be filled in right on the tab. Pressing again sends the build only to the stores that have not received it yet, and a store can be marked to send it once more. The Studio waits for you only while a sign-in page is open: the agent gets past Xiaomi's Sign up button and Google Play's developer account picker itself. Answers for Google's data safety form come from your app details.

Version 1.65.0 · 10.10.2026

  • Store publishing got simpler after the first real run. An API key is no longer required: Google Play is updated through its console by the same agent, with no Google Cloud service account, and if another store's key fails to be issued, the Studio remembers why and updates through the console as well. The empty APK that Xiaomi uses to verify ownership is signed by the Studio itself with the game's key — the agent downloads it, the Studio signs it, the agent uploads it back.
  • What's new is no longer lost: if a build has no changes, the store gets everything accumulated since the previous submission, and if that is empty too — the previous build's text. The agent clicks buttons hidden under consoles' transparent layers and picks items in their custom dropdowns, reuses questionnaire answers from one store for the others, and no longer asks whether to replace the listing of a game already in the store.

Version 1.64.0 · 10.10.2026

  • Publishing → Android now has a Publish button next to Build — a wizard that publishes to every selected store (experimental; a warning window appears every time). The first time, the Studio opens each store's console in its own browser window: you sign in yourself, and the Claude Code agent creates the app, fills in the listing and the questionnaires from facts you confirm once, uploads the package, submits it for review and issues an API key. From then on, a new version and its What's new go out through the RuStore, Google Play, Huawei and Galaxy Store APIs in one click; Xiaomi still goes through its console.
  • API keys stay on this computer only and never pass through the conversation with the agent: the browser window hides them and the Studio collects them itself. If a store has already seen a build number at least as high as yours, nothing is sent and the next build number goes up by itself; the same build is never sent to a store twice.

Version 1.63.1 · 10.10.2026

  • The Android build number is now always higher than anything the game has had before. If a game reached a store before the Studio, from its own build (say, number 38 in android/version.properties), the Studio used to count from one and RuStore refused: “Version Code must be greater”. Now the Studio finds earlier numbers itself — in android/version.properties and inside packages already built — and sets the next one above them, explaining under the “Build number” field where the floor came from. After every build the number is read from the finished package and checked against the field.

Version 1.63.0 · 10.10.2026

  • Publishing → Android → Package build has a new step, AppMetrica statistics. Sign in with Yandex once and agree that the Studio creates applications and shows you the statistics — from then on, every game gets its own application in YOUR AppMetrica automatically, and its key goes into every build. Installs, daily players, sessions, countries and crashes are counted with no code in the game, and the game's JavaScript errors reach the statistics too. The keys are kept on the zloy.net server: nothing to set up on a new computer.
  • A package is now built for EACH selected store, with that store written inside: AppMetrica shows where people play more. Files are named after the store (…-rustore.aab, …-huawei.apk), each with a copy-path button and a link to the store console.
  • The SDK has zloy.track(name, params) for the game's own events (level complete, shop opened). In the Android build they go to AppMetrica, for guests too; on the website the call is safe and does nothing. The build collects neither the advertising ID nor location.

Version 1.62.0 · 10.10.2026

  • Publishing → Android has a new What's new tab — text for the store console field of the same name. It is written on every Build: the Studio takes the commits and closed tasks since the previous build, the agent retells them for players in Russian and English, and the entry goes into the build history (store/whatsnew.json in the game folder). The boundary is the previous build's commit, so the text covers exactly what went into the new package.
  • Both fields are editable, each with a copy button and a counter against the selected stores' limits (Google Play, Huawei and Xiaomi — 500 characters, RuStore — 5000 and one text with no language, Galaxy Store — 4000 bytes). If the agent did not answer, the field holds the list of work and the reason, and Rewrite asks it again. Below are the changes waiting for the next build and past builds: skipped a store upload — copy the skipped build's text.

Version 1.61.0 · 07.10.2026

  • Any image or video in the Android store listing and in promo now opens large on click: an image goes full screen with zoom, a video starts playing. Arrows ← → page through the same group (phone, tablet, set screenshots), Esc closes; the window can open the file with a system app, show it in its folder and copy its path.
  • Every publishing text has a copy button: store listing fields (title, descriptions, category, email, website, privacy, video), package name and version, key path and each SHA-256 fingerprint, the built file's path per store, the build log, release notes and the moderator's comment, a promo set's result and work log.

Version 1.60.4 · 06.10.2026

  • `zshot open --url` now shoots any page even in a folder without a built game: before, the command refused when it found no dist/index.html, though it doesn't need the game
  • Studio releases now appear on the zloy.net blog with a picture of what changed, and go to Telegram and MAX channels together with it

Version 1.60.3 · 06.10.2026

  • Hints in the publishing channel window no longer name another project, “Zloy Games”: the channel name hint is now zloy.net, and the Telegram channel and VK community fields say what goes there.

Version 1.60.2 · 06.10.2026

  • VK Video now says plainly what is missing: in VK ID the Video access is extended — VK does not grant it to a new app, and posting failed with a vague no-permission error. Studio now sees which rights VK granted on connect; without Video the channel is posted manually, and the connect window explains how to request access (verify the business profile and write to devsupport@corp.vk.com).
  • Without the Wall access the video goes to the community's Videos section with no wall post, and the schedule notes it. VK refusals now show VK's own code and words. For VK channels connected in 1.60.1, press Reconnect so Studio learns which rights were granted.

Version 1.60.1 · 06.10.2026

  • VK Video can now be connected: the redirect address is http://localhost, the only one VK ID accepts without https (it demanded https for the old 127.0.0.1 address with a port). In your VK ID app set the base domain to localhost and the Redirect URL to http://localhost — the connect window shows both with copy buttons.
  • If Studio could not get port 80 (on Linux only an administrator can, or another program holds it), the browser shows a connection error after signing in — copy the address from its bar and paste it into the connect window. The same works to finish signing in to YouTube and X.

Version 1.60.0 · 06.10.2026

  • Promo videos now post themselves: connect a channel — a Telegram or MAX bot, a YouTube, VK or X app — and Studio publishes the videos on schedule straight from your computer with your own keys, with no zloy.net in between. YouTube gets the video in advance and releases it at the set time by itself; on the other platforms Studio posts on time while it is open.
  • The schedule shows what happens to each post: uploading (with percent), posted — with a link, an error — in words with a Retry button. Studio does not chase a missed time by itself; it offers Publish now. A video over 50 MB for a Telegram bot is shrunk into a copy through the render queue.
  • RuTube stays manual — it has no open file upload. YouTube keeps videos from a Google Cloud project without an audit private, and Studio says so plainly; access to the X API is paid.

Version 1.59.0 · 06.10.2026

  • Promo videos are shot by zshot: the agent no longer writes its own server, playwright script and time patching. `zshot open --virtual` and `zshot clip` record the game frame by frame on virtual time — smooth and stutter-free even on a slow machine
  • zshot also records live pages (`rec-start`, `scroll`, `tap-text`, `rec-stop`), renders a `window.seek(t)` composition to mp4 (`zshot render`), lays a video out on contact sheets for review (`zshot review`) and muxes sound at −14 LUFS (`zshot mux`)
  • The promo agent gets zshot prepared before it starts, and its task states plainly what it writes itself: direction through the game's hooks, the composition, texts and music

Version 1.58.0 · 06.10.2026

  • Agents now capture the game with the built-in zshot command instead of writing their own scripts for it. It opens the built game as on a phone, tablet or desktop, understands taps and gestures, checks the frame size itself and warns about a black screen. Store screenshots, release frames and "how does it look on a phone" checks are faster and use less of the agent's limit.

Version 1.57.0 · 05.10.2026

  • New Promo tab — content to promote your game. Pick the occasion (launch or new features), write your wishes for the videos and the language, and an agent on your computer gets to know the game, records it and makes an icon, screenshots, a description, a main video and shorts with a day-by-day posting plan. Everything stays in the game's promo/ folder (it's in .gitignore); nothing is sent to zloy.net.
  • Inside a set, every video on its own: watch it right in the tab, flip with the arrow keys, and copy the title, description, tags and post texts with one button each. The publishing plan spreads videos over channels and days, and the shared schedule across all your games shows that another game's short already goes to that channel that evening.
  • No more promo agents run at once than you have performance cores (four on an M1): other sets wait in a queue and start on their own; the number is in Settings. Video renders go through Studio's queue strictly one at a time so the computer stays usable; Zloy Doctor now checks for FFmpeg.

Version 1.56.0 · 05.10.2026

  • Your game in Android stores: Publish now has an Android tab (for accounts with External platforms). Tick the stores — RuStore, Google Play, Huawei AppGallery, Xiaomi GetApps, Galaxy Store — and Studio walks you through: get the computer ready, create a signing key, hand RuStore the signature once, build. APK and AAB are built on your computer from the game's build folder; keys and password never leave it. No Android Studio needed: Studio installs the missing Java and Android SDK itself.
  • Store listing: the icon, phone and tablet screenshots, the Google Play feature graphic and the listing texts are checked against the selected stores' rules, with length limits right under the fields. Zloy Master can prepare it all in the new Stores chat: it runs the game as on a phone, takes the shots and writes the descriptions.

Version 1.55.0 · 05.10.2026

  • A game now has two names, Russian and English: under the Russian one in Manage there's a new "English name" field. The site shows players the name in their language, and if one is empty, the other one. Either is enough; a new name reaches the site with the next publication.

Version 1.54.0 · 01.10.2026

  • Crossposting: every channel has its own language — Russian only, English only or both. With both, a bilingual post goes out as one message, and as two when it does not fit the network's limit.
  • A page can connect up to two channels per network — for example, a Russian one and an English one. If a channel did not connect, Studio shows why right next to the code: the bot lacks rights, the bot is not in the channel, or there are already two channels.

Version 1.53.1 · 01.10.2026

  • Release screenshots are no longer lost when the agent runs out of time before answering: Studio takes the frames it has already saved, and the agent's task now states the time limit and the order of work.
  • The screenshot result stays as a line under the Submit for review button, not only in a pop-up message that fades in seconds.

Version 1.53.0 · 01.10.2026

  • Game page posts now go out as copies to your messenger channels and chats: Manage → Cross-posting. Linking needs no tokens: add the platform bot to the channel as an administrator, press “Get code” and send /zloy <code> to the channel — the bot checks its rights, deletes the message, and the channel shows up in the list by itself (the Studio quietly re-checks the server while the code is alive, 15 minutes). Each channel has a post language, “Test” and “Disconnect”; separate switches cover release notes and posts the game sends via sendToWall. Only networks whose bot is set up on the platform are shown
  • Release notes are written in two languages at once: the agent answers with a Russian and an English list, the post on the game page gets an ru | en switch and goes to channels in the channel's language. The English half is shown in “What went into the version” next to the Russian one; if the translation fails, a single text goes out as before
  • Game settings have a new “English description” field (up to 300 characters): the zloy.net blog builds the English half of the announcement from it when the game is approved for the first time. Left empty, the English half gets the Russian description
  • Zloy Master now tells the agent to take the game language from zloy.lang: a guest has it too (the platform passes the browser language), and for a signed-in player it matches getUserInfo().user.lang. The task used to say “no answer — English”, so a guest without a login always saw the game in English
  • The zloy.net blog opens in the Studio as a service project: only the blog page, the blacklist and cross-posting, with no game tabs, no chats and no agent start. Its tile reads “zloy.net blog · platform page” and it cannot be deleted from the list
  • “Coming soon” promises are gone from the Studio: the grey rows about unconnected networks in External platforms and the “Pay” button in the game preview. A payment request from a draft now says plainly that drafts have no purchases and shows exactly what the game asked for

Version 1.52.1 · 01.10.2026

  • Studio updates no longer fail with “checksum mismatch” on every attempt. The server re-published the same version with different bytes, and the Studio kept checking the file against the old checksum until it was restarted; now the checksum is re-read at download time, including the “Retry” button in Downloads, and the server no longer re-publishes the same version

Version 1.52.0 · 30.09.2026

  • A game can now be connected to the MAX messenger just like to Telegram: “Manage” → “External platforms” → MAX, paste the bot token from the MAX partner account. One bot — one game. The Studio sets the bot’s description, the /start command and an avatar from the game card, and on “Start” the bot replies with the game cover and a “Play” button. MAX has no payments of its own — a purchase in the game opens the zloy.net payment page in a browser
  • The Telegram bot now gets an avatar — the game icon — and on /start replies with the game page cover above the description and a “Play” button. Telegram does not let the API set a picture in the bot description, so the cover goes into the greeting — the first thing a person sees
  • Zloy Master requires the camera and aim to work without pointer lock: Telegram on a desktop has no pointer lock, and a game that turns the world only while the mouse is captured cannot be controlled there. If the lock is refused, the camera turns by dragging with the mouse button held

Version 1.51.0 · 30.09.2026

  • Releases can now come with screenshots. A “Take screenshots of the changes” checkbox sits before the “Send for review” button (off by default): the agent builds the game, opens it in a browser, gets it to the place where the change is visible and takes up to three frames. Once approved, they appear as thumbnails above the “what’s new” note on the game page and open on click. The agent does not change the game files — if it touches them anyway, the Studio restores them and tells you
  • Screenshots of the current draft and of every past version are shown on the “Publishing” tab next to the note; the moderator sees them in the queue before deciding

Version 1.50.0 · 30.09.2026

  • You can check a game “as on a phone” right in the Studio: the phone button above the game switches the preview to an iPhone 12 Pro (390×844), iPhone SE or Pixel 7, and the caption above the frame rotates it. The game sees exactly that screen and a mobile User-Agent, and the mouse turns into touches — touch controls, joysticks and swipes can be tested without a phone. The choice is remembered per game
  • After a session limit, subagents get “Continue” too. Before, the word went only to the main agent, and it sometimes relaunched interrupted subagents from scratch — the work started over. Now the Studio remembers whom the limit cut off and asks the agent to resume each one from the same place; the waiting bar shows how many subagents the continuation goes to
  • Zloy Master requires every game to have a record button that is always on screen: recording on a press, and “Stop” opens a window with the clip, a caption and “Send”/“Cancel”. Sending collapses the window, an upload ring runs by the button, and at the end comes a check mark or a button with the real reason for a failure. The SDK reports the progress (onProgress) and the reason in words (wallErrorText) itself
  • After sign-in the Studio shows once what is stored on zloy.net (agent conversations, tasks, the computer name) and what stays only on this computer (AI keys, the GitHub token, game files). The sign-in screen now has “Sign up” and “Forgot password?” links
  • A downloaded update is checked against its size and checksum before installing: a broken download is no longer installed over a working program. The macOS disk image now has a “How to install” guide next to the app — what to do if macOS refuses to open the program on first launch

Version 1.49.2 · 29.09.2026

  • Game bots in Telegram now answer reliably instead of every other time. From Russia, messages to the cloud Bot API arrived with interruptions, so bots now work through the platform's own Bot API server. When a bot is connected, the Studio logs it out of the cloud Bot API by itself — the setup result shows a new “Logging out of the cloud Bot API” step: without it, updates would be split between two servers. If you disconnect the bot from the game, the platform releases it, and the bot is free again for your own server

Version 1.49.1 · 29.09.2026

  • The game bot in Telegram now answers /start. Telegram's webhook messages never reached our server, so the bot stayed silent even though the setup finished without errors. The server now fetches the bot's messages from Telegram itself, and the setup result shows a “Receiving messages” step instead of “Webhook”. No need to reconnect the bot: the server picks up bots that are already connected on its own

Version 1.49.0 · 28.09.2026

  • Games in Telegram: the game “Manage” tab has a new “External platforms” section — for developers who have this feature enabled. Paste the bot token from @BotFather and the Studio sets the bot up by itself: the “Play” button, the description from the game card, the /start command. The game opens right in the bot, full screen on the phone; the setup result is shown step by step
  • A Telegram player links a zloy.net account by email once (no account — one is created), and from then on progress and purchases are shared with the website. In-game purchases there are paid in Stars: the Zloy Coin rate and round prices for single items are set in the same section, with a conversion example right away. The section also shows player and payment stats and the service invoices (30% of payments via Telegram)

Version 1.48.1 · 27.09.2026

  • The agent no longer opens every new game with "node is not in PATH". The Studio launched from the Dock got a trimmed PATH from macOS without Homebrew, /usr/local and nvm, so everything the agent ran inside — node, npm, the game build — was not found. The Studio now adds these folders itself (plus volta, fnm, ~/.local/bin, ~/.npm-global/bin) for the agent, the terminal, the build, git and the Claude Code checks — nothing to set up by hand
  • Zloy Doctor checks the version of Node itself (18 or newer is required) and shows an old one as "found but not usable". If the global npm folder belongs to the administrator, the agent is installed into ~/.npm-global without sudo, and on Linux the Doctor suggests nvm instead of apt. The Node and npm checks run at the same time, so the Doctor screen no longer waits for them one after another

Version 1.48.0 · 26.09.2026

  • Zloy Master no longer holds an "Opening chat…" window: after "Create" you land in the "Game" chat tab right away, and it shows the preparation as log lines — finding the chat on the server, then starting the agent step by step (game folder, git, permissions, studio tools, sign-in, the agent itself) with the time of each. The brief goes to the agent as soon as it is up
  • Opening a game no longer starts the agent: the chat shows the conversation (instantly from the on-device database, fresh from the server), while Claude Code, git and the MCP connection start with your first message. Above the input there is "Agent not started" with a "Start now" button; text written before the start shows in a strip and can be put back into the input, and two messages in a row no longer overwrite each other
  • The master window "Game / Icon / Site" no longer pops up on its own when switching between games: "launch the master" after creating a game fires exactly once. And right after a game is created the master opens the game description without asking again what we are making
  • The Studio is faster on a slow connection: server requests reuse a connection instead of opening a new one for every request — the handshake cost up to several seconds. Closing or reordering a game tab no longer rebuilds the screens of neighbouring games: the preview console and the conversation scroll stay in place

Version 1.47.0 · 25.09.2026

  • Zloy Master now requires every game to have a "Share" button on the result screen: a post with the match result and a short clip of the last seconds goes to the game page on the player's behalf and into their friends' feeds. The platform could do this for a long time, but the brief never said a word about it — and no game built by the agent ever posted to its page
  • The brief names in advance the traps where such a button breaks silently: a recording cannot be cut from the end (the file stops playing), a snapshot of a 3D scene comes out black without a special flag, and Safari on the iPhone does not record the format usually taken by default. Guests get no button, and a post goes out only on a press, after showing what will be sent

Version 1.46.0 · 24.09.2026

  • A game's page is now created together with the game's address, not after approval — so the notes for the FIRST release now land on the page. Previously the page appeared only once the game was out, and the first release notes were silently lost
  • Until the first approved release the page is closed: only you, moderators and testers can see it, and nobody can post there, the owner included — so a page cannot be obtained around moderation. The Game page tab says so in a banner, and the cover and description can be prepared in advance

Version 1.45.0 · 24.09.2026

  • The Studio no longer heats the CPU while idle. The 'AI is working' spinner in the tab strip redrew the whole window at display rate for as long as an agent counted as busy — for hours. The working indicator now turns four times a second on one shared beat and freezes in hidden tabs (the live Studio was burning about 17% CPU while idle)
  • An agent waiting for a permission answer no longer looks busy: instead of a spinner there is a still 'waiting for you' hand, and the line under the chat says it is waiting for your answer
  • The game preview console no longer rebuilds the project screen for every line: a game logging every frame caused sixty full rebuilds a second. Lines arrive in batches, long ones are cut, and an error still arrives immediately
  • Hidden game and chat tabs no longer rebuild on agent events, and the game list and tab strips rebuild only when their badges change. The Chats tab on the right no longer recreates every chat when you come back from Tasks: the conversation and scroll position stay put
  • Starting a chat no longer fires a burst of claude commands: the MCP connection is set up once for all chats per Studio run (which also removes a race where parallel chats corrupted each other's ~/.claude.json), and login and MCP checks are remembered. After an agent turn git runs four times instead of thirteen
  • Memory no longer grows for days: old service lines leave a long feed, edit details and the process log are capped, game icons are decoded at tile size, and a local model is released after 15 idle minutes
  • Faster editors: the code editor no longer rebuilds the screen and file tree on every keystroke, JS IDE highlighting no longer recolours the whole file on every caret move, and the game page form no longer rebuilds for its character counter

Version 1.44.1 · 23.09.2026

  • In chats Enter now sends the message and Shift+Enter starts a new line, as in messengers. It used to be the other way round. The rule is the same for the agent chat and the AI provider chat
  • When typing through an IME (Chinese, Japanese, Korean layouts) Enter still confirms the chosen word and sends nothing, and holding Enter down sends the message only once

Version 1.44.0 · 23.09.2026

  • The game chat now has dictation, just like VibeCoder. The microphone sits next to the send button; while recording, the input field is replaced by a line with the sound level, a timer and a 'microphone is silent' warning, with pause and stop beside it. On Stop the voice note lands in the feed and is transcribed automatically — you can play it back and transcribe it again if whisper misheard
  • A transcript has three buttons: 'To tasks' — an agent splits what you said into separate tasks and you edit the checklist before it goes into the to-do list; 'Edit' — fix names and numbers; 'Send to agent' — straight into work, and if the agent is busy it goes out once it is free
  • Voice notes and transcripts are notes to yourself: they are kept on this computer in the game's service folder and never go to the server or the agent on their own
  • Fixed: with a recent whisper from brew the program's log, together with the path to a temporary file, ended up in the dictated text — and from there in a task or a message to the agent. This also affected dictation into the task and master fields
  • Dictation no longer loses the last words (whisper gets the recording with a second of silence at the end), a second recording waits its turn instead of failing with 'transcription already running', and dictation in fields now has a pause button

Version 1.43.1 · 21.09.2026

  • Fixed 'the agent said it would look at the files and stopped'. Every turn a model takes now ends either with a command or with an explicit 'done' marker — previously those two cases looked identical (a reply with no commands), and the loop considered the work finished and reported success
  • If the model does reply in plain text with no command, the Studio nudges it once and explains what was missing. If that does not help it says plainly what happened instead of stopping silently. There is no second nudge: every round costs a live message from the chat's daily limit
  • The model's brief now says outright not to announce intentions: 'I'll look at the project structure first' without a command is a wasted turn — there is nobody here to answer 'go ahead'
  • The extension no longer cuts an answer off midway. The only guard used to be a second and a half of silence, and a model stays quiet longer than that while thinking before a code block: the Studio received half an answer with no command. The 'generating' signal now comes from two buttons at once, an unclosed code block counts as an unfinished answer, and when neither button is recognised we wait considerably longer

Version 1.43.0 · 21.09.2026

  • A web chat is now a full chat of the game: '+' → 'Web chat in the browser'. It works like an agent in a terminal — reads files, edits them, appends and moves them, and saves a turn's work as a single version named after the task. The only difference is that the agent lives in a ChatGPT or Qwen tab
  • The tab is remembered PER CHAT rather than per project: a tab is a thread with its own memory, and the conversation about the game has one while the conversation about the icon has another. Several chats open — the Studio asks with buttons which one to work in and remembers the answer; one open — it takes that one silently
  • The format rules go into a thread once and are remembered by it rather than by the Studio: restarting the app does not repeat them. Change the tab and the rules are sent again, otherwise the model in the new thread knows nothing of them and replies in plain text while the Studio silently executes nothing
  • 'Stop' halts our loop between rounds: there is no way to interrupt generation in someone else's tab, but commands from a reply that arrives after the stop are no longer executed. What was done before it stays — this is 'enough', not 'undo everything'

Version 1.42.0 · 21.09.2026

  • The web-chat bridge extension now travels inside the Studio: the 'Bridge to a web chat' screen has a button that lays its files out on disk, opens Chrome's extensions page and copies the path to the clipboard — all that is left is to paste it into 'Load unpacked'. A repository is no longer needed for this
  • There will be no installer file, and that is not an omission: Chrome does not install extensions from a file — it rejects a .crx from outside the store, and drag-and-drop has been forbidden since 2015. Such a file could be built, but it would look installable without being so: you would click it, nothing would happen, and you would conclude the Studio was broken
  • For those installing the extension without the Studio there is an archive: `make extension` builds dist/zloy-webchat-<version>.zip along with instructions
  • Releasing the client can no longer duplicate a version number. Several agents work on the project at once, each writing a note and raising the version — the same number came up by itself, and the /studio page showed that version twice. Two such entries have been merged into one

Version 1.41.0 · 21.09.2026

  • The agent can publish the promo site by itself again. The publish_site tool looked for the site/ folder in the project's copy ON THE SERVER, and that copy has not been updated since 28 August, when file sync was switched off — so it could never publish, answered "no such folder" and advised waiting for a sync that no longer exists. The Studio now runs a small bridge of its own, and the agent publishes through the very same "Upload to site" button: not a similar action, but literally the same code
  • The bridge listens on the loopback only and demands a random pass in the address: other people's programs run on a developer's machine too, and publishing a site acts on behalf of the game's owner. The address dies with the chat, and every new session gets its own

Version 1.40.1 · 21.09.2026

  • Pressing "Create" in Zloy Master no longer leaves a blank screen. The description window closed at once, and two requests then ran in silence — the game's chat list and the creation of a new chat; on a poor connection that is seconds with nothing visible, and the click read as having failed. "Opening the game chat…" is now shown for that time. The chat still opens only once its real number is known: opened without one it would get a second agent session — two processes on one conversation

Version 1.40.0 · 21.09.2026

  • THE IMPORTANT FIX: the AI providers' tools (Anthropic, OpenAI, LM Studio and the rest) worked against the SERVER copy of a project, while file sync was switched off back on 28 August. The model was reading a month-old snapshot and editing on top of it — its change landed on a stale file, and work done by hand or by a terminal agent was silently lost. The game's folder on your machine is now the project: that is where we read and write
  • A bridge to web chats has appeared: the Studio can work through a browser tab with ChatGPT or Qwen instead of an installed CLI. The Chrome extension lives in the extension/ folder, and pairing is in Settings under 'Bridge to a web chat' — with the port, the pairing code and a test message so you can see straight away whether it reaches the tab
  • The model issues commands as code blocks tagged zloy, and the Studio executes them: list files, read, write, append, delete, move. The code block was not an arbitrary choice — we read not what the model wrote but what someone else's site rendered, and its markdown is entitled to swallow angle brackets
  • The connection is guarded by a pairing code: the Studio's socket on 127.0.0.1 is reachable by any browser tab, and without the code a stray site could send 'write this file' into your game's folder
  • The message "access key rejected, press Reconnect" no longer appears out of nowhere. The Studio probed the server WITHOUT the key, and without a key the server always refuses — so the check declared every key bad, working ones included, and pointed at a button that writes the agent the very same key. The probe now carries the key, and the advice matches the cause: a dead key asks you to sign in again, a silent server is put down to the network, and a healthy server is no longer declared broken
  • The game description and your notes for the icon and the promo site can now be dictated — a button sits next to the field. Transcription runs on your own machine, so talk about an unfinished game goes nowhere. The text lands in the field rather than being sent straight away: recognition is probabilistic and gets jargon wrong

Version 1.39.0 · 21.09.2026

  • A message typed into a long-open chat is no longer lost. The agent process was usually dead by then, the chat answered "restart the session", and the typed text vanished from both the input field and the transcript with no way to get it back. The session now restarts by itself, the message waits for it and goes right after; if the restart fails, the text is shown in the chat and will be sent as soon as the agent starts
  • The development chat is now called "Game" — named after the work, like "Game icon" and "Game site" next to it. It used to carry the tool's name ("Claude Code"), which also changed along with the agent setting. Games created earlier keep their chat under the old name: starting a second one alongside would cut the development history in half
  • The promo-site preview gained a "Stop" button. A 3D landing page keeps running its scene and heating the processor for as long as the tab is open, even while you are looking at another one; the button unloads the page from memory, and one click brings it back

Version 1.38.1 · 16.09.2026

  • The site master's brief now describes the format of the 'live from the game' feed unambiguously. It used to list field names with no types — and the agent read the 'this is a video' flag as the video's address: an mp4 went into an image tag, the browser downloaded a chunk of the file and gave up, the block stayed empty, and the server log meanwhile showed requests for those files
  • The brief now carries an example response with both kinds of entry and states plainly: the address is always in url, while video is a true/false flag. The mistake was invisible from both sides: in the local preview the feed is empty, and on a published site the block simply does not appear

Version 1.38.0 · 16.09.2026

  • The Publish tab now has a 'What went into each version' list: one line per version, tap to expand its note. Until now the text written by the agent went straight to the moderator, and the developer had nowhere to read what had been sent under their own name — they knew less about their game than a player did
  • Rejected versions are in the list too, with the moderator's comment beside them. Without those, 'why hasn't the game updated yet' had no answer
  • The build number is now remembered on the version rather than worked out after the fact. The game's counter grows on every ▶, so a day later it can no longer tell you 'which number this version had' — and the same number appears in the post on the game page; should the two drift apart, 'it broke after the update' would be impossible to match to a release
  • Versions that have not shipped have no number and are listed by state — 'in moderation', 'rejected', 'draft'. A zero in place of a number would read as 'v0', that is, as broken numbering

Version 1.37.0 · 16.09.2026

  • Submitting for moderation is now a single button: the agent assembles a note about what was done, it is saved, and the game goes to the moderator. The separate 'write what's new' dialog is gone — as long as the text was merely asked for, it could be skipped empty, and the whole point is to always know what changed
  • The moderator sees the note right in the queue, before deciding: approving a version approves the text that a second later goes out as a post on the game page. Until now there was nowhere to read it — you had to wait for publication
  • After a rejection the history is no longer cut short. A version is rejected, the developer fixes it and sends the same one again — and it holds everything accumulated since the last RELEASE, so the note is assembled from that same moment. Counting from the rejected submission would leave only the fixes the moderator asked for
  • Every post now carries the build number ('v12') — the one the game ships to players with. Without it posts differ only by date, while 'the crosshair broke after the update' does not arrive on release day

Version 1.36.1 · 16.09.2026

  • The agent now returns a release note as a JSON structure rather than a list of lines. There is no way to make it stay quiet — it will open with a polite preamble, wrap the answer in a code block and add 'Done, I can shorten it if you like', while the CLI itself mixes its own warnings into the stream; parsing that line by line meant guessing every time where the conversation ends and the substance begins
  • JSON draws that line itself: we take the object and read nothing around it. We look for it character by character, honouring quotes — the CLI's own status line after the answer also contains an array, and a search 'from the first bracket to the last' would put the agent's list of tools on the game page instead of the note
  • If the model ignores the format, parsing falls back to the previous line-by-line reading. An empty field after a minute of waiting is worse than imperfect text: the note is edited by hand before sending anyway

Version 1.36.0 · 16.09.2026

  • A release note can now be written by the agent itself: the 'What's new' dialog got a 'Rewrite for players' button. It takes the list of what was done and turns it into news for a player — a list of commits could not do that, because a commit is named after your own request to the developer ('fix the crosshair') rather than describing the game
  • The agent is called in one short run and never touches the game's chat: a 'write me a note' request should not settle in the development history, and a turn already in progress should not have to wait for it. The button is separate rather than firing when the dialog opens — a run takes tens of seconds, and submission to moderation must not hang on it
  • It is forbidden to invent: only what is in the list. Lines about refactoring and internals it drops by itself, small fixes it merges. No agent installed, not signed in or an empty answer — the draft assembled from commits stays, and the text can always be finished by hand

Version 1.35.2 · 16.09.2026

  • Chat replies to the agent no longer reach the draft release note. A commit is named after your own prompt, so 'Go on', 'ok' and a question asked along the way became lines a player would read under 'what's new'. No work is lost by this: 'Go on' continues the previous request, and what was done is described by the neighbouring line
  • The WHOLE line is compared rather than a word looked for inside it: 'go on moving the enemies after a pause' is a real task and stays. A mistake here would be silent — the line simply would not reach the note, and you could only notice it by its absence
  • Branch merges, 'wip' and the fallback commit name the Studio uses when nothing is left of a prompt are filtered out as well

Version 1.35.1 · 16.09.2026

  • The draft of a release note is now assembled from what was actually done: from commits in the game's folder — that is, from the work you did with the agent — and not from the task list alone. This way work done without a task also reaches the note, and the lines follow the order the work happened
  • Tasks remain a second source and complement the first: a closed task with no commit behind it is not lost. Identical lines are merged into one — a commit for a task carries that task's own text, and without this every change would reach the note twice
  • Service commits ('wip', branch merges) stay out of the draft: they tell a player nothing. The list of what gets filtered is deliberately short — a surplus line costs one keystroke to delete, while one filtered by mistake would mean a lost piece of news

Version 1.35.0 · 16.09.2026

  • Before you send a game to moderation the Studio asks what changed in this release, and once it is approved that text goes out as a post on the game page under your name. Until now a player learned nothing about an update: the game was silently replaced, and a button that had moved looked like a breakage rather than a change
  • The field opens pre-filled — the draft is assembled from the game's tasks closed since the previous submission, that is from the very list the work followed. It is a starting point, not finished copy: tasks are written for yourself while the note is read by a player, so you edit it before sending
  • If the version is rejected, what you wrote is kept and waits for the next submission. Nothing worth telling (you fixed a memory leak) — leave the field empty and no post is made: an invented headline for every release quickly turns into noise

Version 1.34.2 · 16.09.2026

  • The master's brief now asks not to bring WebAssembly or custom blob workers to a promo site: ship plain .glb models with no DRACO compression or KTX2 textures, and do heavy data preparation ahead of time as a file rather than in the visitor's browser. A showcase does not need that compression — it holds one or two models, not a game level
  • It also spells out what the rule does NOT cover: textures inside a .glb are unpacked by the model loader itself, and that is fine. Without this caveat the rule would be impossible to follow — the agent would either miss it or drop .glb altogether

Version 1.34.1 · 15.09.2026

  • The “Store package” section is gone from Manage game. Two paragraphs explained what does NOT happen: the platform stopped building store packages back on 25 August, and text about a capability that does not exist reads as “coming soon” — while taking up screen space
  • Android traces left the builds list too: the “store package” tag on old builds, the “Download APK” button and Android itself among the build targets. The platform builds none of them, and offering them was a promise with nobody to keep it

Version 1.34.0 · 13.09.2026

  • A task can be dictated: a microphone button next to the new-task field. Speech is transcribed on your own computer by whisper.cpp — no internet and no third-party services; the text lands in the field so you can fix it before saving
  • Selected tasks are saved into a single text file — the icon next to “Send” in the picker window
  • Zloy Doctor knows about whisper-cli and tells you how to install it; the recognition model downloads through the shared queue, with pause and resume
  • Zloy Master now asks the agent for a game-page cover as well as an icon: the platform takes the picture from it when featuring a game on the home page
  • Images work in the game page description: `![caption](url)` is shown on the page and opens in a window instead of a link to the file. The editor toolbar gained an “Image” button
  • Every post on a game page and on a personal wall has a “Share” button: social networks, the link and a QR code of the record
  • The program is called “Zloy Studio” everywhere — in the Dock, in the Windows task switcher and in file properties; “Zloy-Studio” used to turn up here and there
  • On Ubuntu the app icon shows in the dock too, not only in the applications list

Version 1.33.0 · 09.09.2026

  • Settings now let you choose the model for Claude Code. It used to be picked by the agent itself — whatever its default is, and right now that is Fable: Zloy Master's turns are long (the brief, the game's files, build output), so the weekly limit ran out before the game did. There was no way to influence this from the app; the only option was editing the agent command by hand
  • The choice applies to every Claude Code chat, not just the master: it is the same agent everywhere. Nothing changes by default — until you pick a model, Claude Code decides as before. If a model is already written into the agent command, the setting does not override it

Version 1.32.0 · 06.09.2026

  • With tabs open, the Studio ran into the open-file limit the system gives an app launched from the Dock (256): every open game holds its database, its agent channels and its preview. Once it hit the ceiling it stopped launching agents — while claiming “program not found”, although the program was there and answering in the next tab. The limit is now raised to 8192 at startup
  • The failed-agent-start message is honest now: “file missing”, “out of file descriptors — close spare tabs”, and other failures with the real reason from the system. All three used to advise looking for the program in PATH

Version 1.31.4 · 05.09.2026

  • The Studio showed stale addresses: the game page as the old zloy.net/<slug>game name, which has long been only a redirect, and /game/<slug> instead of /<slug> under Publishing. The page address now comes ready from the server instead of being assembled in the client: it was that second copy that silently drifted apart

Version 1.31.3 · 05.09.2026

  • The “Draft on the site” and “Submitted for review” buttons are pinned to the right edge of the preview toolbar again: they are about the draft already uploaded, while the left trio is about the preview itself, and the edge separates the two. In a narrow column the toolbar still wraps to a second line instead of being clipped

Version 1.31.2 · 05.09.2026

  • Opening a game now shows the first chat straight away instead of an invitation to pick one. The choice is also made from the locally cached list, which appears before the server replies — on a slow connection the empty area used to linger for seconds

Version 1.31.1 · 05.09.2026

  • The buttons above the promo-site preview no longer get cut off. There are five of them, two with long labels, and together they need about 950 pixels — while the left column is often half that. The row did not wrap but was silently clipped on the right: “Upload to site”, “Draft on the site” and “Submit for review” simply vanished, leaving no way to publish a finished site. The buttons now wrap onto a second line and stay reachable at any column width

Version 1.31.0 · 05.09.2026

  • A game's chats are now tabs and the list screen is gone: development, icon, site and terminal sit side by side, and switching takes one click instead of two. Each tab shows unread replies and a spinner while its agent is working
  • A new chat is created with the red button at the right of the same bar, where the Zloy Master entry now lives too. Rename and delete are on the tab’s right-click menu, just as they were on the list row

Version 1.30.1 · 05.09.2026

  • A game tab with a running debug build turns fully red: several debug sessions can run at once, each holding a live game and eating memory, while only the tab you are looking at is visible. The current one among the red tabs is marked with a white strip on top
  • Studio no longer asks you to invent an address for a game that has long been published. The ▶ button read the “has an address” flag from the game card, but the games list does not carry that flag — so every list refresh wiped the address for all games at once, and it was never saved to disk at all. The address now survives both a list refresh and a restart, and Studio re-asks the server before asking you
  • The address dialog no longer closes when you click outside it, and “Cancel” warns that without an address the game cannot be launched for testing: you can return to typing or cancel the launch deliberately. The hint's rules are fixed too — the address became a domain name, so underscores are no longer allowed in it, while hyphens are

Version 1.30.0 · 05.09.2026

  • The navigation rail on the left is gone: it took up the edge of the screen for a choice people make once a day. Downloads, Notifications, Waiting and Update moved as icons to the right end of the tab bar — games on the left, the app on the right
  • The “New project” button no longer covers the settings panel: it used to be anchored to the whole window and hung over the panel once it slid in, and now it lives inside the games grid area and moves along with it

Version 1.29.1 · 05.09.2026

  • The close cross on a game tab now asks for confirmation: it sits right next to the title, missing it is easy, and the tab does not come back on its own. If the AI is working in that game, the dialog says plainly that the work will continue and stay visible in the games list

Version 1.29.0 · 05.09.2026

  • Games now open as TABS along the top instead of a screen over the list: keep several open and switch with one click. Tabs survive a restart, can be dragged around, and each shows a spinner while the AI is working in that game plus the number of unread replies
  • Work in different games runs at the same time and independently: give an agent a task in one game, move to another, start a task there — the first one keeps going. Closing a tab does not stop its agent either: the work stays visible in the games list and continues

Version 1.28.1 · 30.08.2026

  • The progress bar stopped lying: it drew itself full at any value, even though the percentage next to it was correct. The theme painted the empty part in the same brand red as the filled one, so every bar in the app lied the same way — build upload, model and build downloads, synchronisation

Version 1.28.0 · 30.08.2026

  • Zloy Studio no longer invents the build size limit: it asks the server, and every game has its own. The 50 MB figure used to be baked into the client, so a quota raised by a moderator did not work at all — the build was rejected right on the device without ever reaching the server, and the message advised asking for what had already been done
  • The master's brief now tells the agent the game's real quota and the “time to compress models” threshold computed from it. It used to say 50 and 40 MB forever, so the agent went optimising models with a fifth of the space used

Version 1.27.2 · 29.08.2026

  • The platform signature in a promo site's footer is now added by the platform itself: logo, zloy.net and “an independent game platform” — identical on every site and in the language of the page being viewed. The master no longer draws its own footer and upload no longer demands one: previously every site made its own variant, and the wording could not be changed — only the author can edit what is already published
  • The master's brief now uses the correct game page address: it moved to /<slug>/page, while the prompt still pointed at the old one, so sites sent people through an extra redirect

Version 1.27.1 · 29.08.2026

  • Games created before the platform moved to JavaScript are now ordinary JS projects. They still carried the old type, and three things diverged because of it: the ▶ button went to a server build that no longer exists, the editor opened the tree on the server instead of the folder on disk, and Zloy Master got the wrong brief. Delivery of already published games is unaffected — they keep opening
  • The “Build” section in “Manage game” no longer breaks the screen. For games created before the platform moved to JavaScript it rendered the old full-tab layout, which needs unbounded height; embedded into the settings list it collapsed the whole thing into a single line
  • Build settings — project folder, command and build folder — are now visible for ANY project, not only ones marked as JavaScript. Your computer builds the game, not the server, so the paths are needed everywhere; older projects had nowhere to set them
  • Images and videos now show on the post's own page, not only in the feed. A game shares a screenshot via sendToWall, it was visible in the feed, but opening the post by link gave the same text without the picture

Version 1.27.0 · 29.08.2026

  • “Manage game”, “Publishing” and “Sync” now open instantly: they show what was saved last time and fetch the fresh state in the background. Each used to hold a spinner until the server answered — although since yesterday neither the name, nor the address, nor the publishing history had changed
  • While a refresh is running the screen says so with a bar on top instead of silently swapping the numbers. Buttons whose meaning depends on the state — “submit for review”, “publish” — stay disabled until the server answers: acting on yesterday's status would hit a refusal, and it would be unclear why the button lied
  • On “Sync” nothing is clickable during a recount, but everything stays visible and scrollable. The state there is gathered from disk — copy size, drafts, list of changes — and acting on half-stale numbers is acting on the wrong thing
  • When the connection drops the screen is no longer replaced by an error: the saved state is shown and a line on top explains the network. Looking at yesterday's state of the game is more useful than an empty screen with text about connectivity

Version 1.26.0 · 29.08.2026

  • Next to the draft link on the “Promo site” tab there is now a “Submit for review” button. The “this will do” decision is made exactly where the site was just examined — not by walking off to another tab for it. The label follows the state: “Under review” and “Published” are different things, and the button must not just go dark in silence
  • The “Publish site” button is gone from the site chat: it did the same thing as “Upload to site” next to the preview. Two buttons for one action have to be kept in step, and one of them would eventually lose its progress bar or its confirmation
  • An accepted icon now stays in the transcript as a picture rather than a line reading “accepted: icon-3.png”. A hundred messages later that line says nothing, while an icon is chosen by eye
  • The icon in the chat can be examined: tapping opens it full screen with zoom and without smoothing — you see exactly the pixels it is being redrawn for. The “Redraw / Accept” bar disappears once accepted and comes back by itself when the agent draws the next variant
  • The program is called “Zloy Studio” everywhere — in the window title, in file properties, in macOS permission prompts and in the task switcher. Previously “Zloy-Studio” and plain “Zloy” turned up in different places

Version 1.25.0 · 28.08.2026

  • The left side now has three tabs: “Game”, “Promo site” and “Game page”. The site and the page used to be edited blind from a settings list, although both are entirely about how they look. Switching to a neighbouring tab no longer restarts the game
  • “Promo site” shows what the agent has made RIGHT NOW — from the site folder on your computer, before any upload. On top are “Upload to site”, “Reload page” and a draft link that comes alive as soon as the server accepts the site
  • A width switch checks the mobile layout: the frame narrows to 390 points — the width of most modern phones. The same value for everyone, otherwise “it doesn't break for me” means nothing
  • “Publishing” is split into “Game” and “Site”, each with its own history and its own verdict: a site can be rejected while the game is approved and the other way round. The draft carries its build number — the same one shown under the preview, so you can compare at a glance
  • Builds moved into “Manage game”: settings are set once, and the history opens as a separate screen. A whole tab was holding space in a narrow column for something opened once a day
  • “Manage game” now shows the project root — the folder holding the entire game, with buttons to copy the path and open it. That is where the agent works, where the build comes from, and where site lives
  • File synchronisation with the server is switched off: games are made on your device, and a second copy of the tree gave nothing while having to match the first — and they diverged silently. The “Sync” tab now holds “Versions”
  • The template for a new game is no longer downloaded from the server but ships inside Studio: an empty folder fills instantly, and the first run of the master waits for nothing

Version 1.24.2 · 28.08.2026

  • “Allow everything automatically” is now truly only for this chat — exactly as the switch itself always said. The flag was stored per game and agent kind, while development, icon and site are the same Claude Code in the same game: turning off questions where the agent draws a picture also silenced it where it edits the game itself
  • The previous shared flag is erased rather than moved into the chats: moving it would enable “don't ask” where you never chose it. Turn it back on in the conversation that needs it — erring towards one extra question is fine, erring towards a silent permission is not
  • “Always” rules remain shared across the game, and that is not an oversight: Claude Code reads them itself from the game's folder, and that folder is the same for all its chats. Allowing one specific command once is not the same as switching questions off entirely
  • A chat knows its own number right away instead of waiting for the transcript to load: the settings window is opened whenever, including offline, and until this fix the flag could land in a record shared by everyone

Version 1.24.1 · 28.08.2026

  • The icon chat no longer finishes the site. The agent remembered an ongoing conversation PER GAME rather than per chat: while there was one Claude Code per game these were the same thing, but topic chats made it three — and whichever opened second continued someone else's conversation. From the outside it did not even look broken: right chat, right task, answer about something else
  • The old shared record is erased rather than moved into one of the chats: it held the conversation of whichever chat started last, so with equal chance someone else's. Each chat therefore starts afresh once and says so honestly; the transcript on the server is intact
  • A chat opened by the master no longer gives itself a second session. The master opened it without a number, and the same chat from the list got another agent process: doubled replies and an argument over whose conversation to continue
  • The master's task now reaches the chat even when the chat opens before its list does. On that path it was lost: you wrote everything into the form and the conversation opened empty
  • Two requests to the master in a row (icon, then site) no longer cancel each other: chat-open requests now queue instead of sharing one slot

Version 1.24.0 · 28.08.2026

  • After the “Publish site” button the draft link now arrives right in the chat — click and look. The button used to answer “uploaded” and send you to the game settings for the address: you left the conversation exactly when everything was ready
  • The draft link is new every time and opens ONLY the site. It used to be signed with the same key as the game's own draft: forwarded to anyone, it also let them into the unreleased build and the game's debug data
  • The link lives for two hours, while whoever opened the draft keeps browsing it for a day: a link travels — it stays in chats and clipboards — while the pass sits in the browser of someone who already looked. An outdated one now says it is outdated and where to get a fresh one: it used to be “page not found”, which at your own address reads as “the site is gone”
  • The draft is closed to search engines and does not hand its address to outbound links: a signature holds against guessing, but not against a crawler arriving via a forwarded link, nor against a header carrying the whole address away
  • A moderator opens from the queue THAT variant of the site which they decide on. A developer who sent the site for review calmly uploads the next draft — and the moderator approved one thing by button while looking at another
  • “Reject…” works again for sites in the queue. The button opened the reason form via a script rendered only when the game queue was non-empty: no games — the click did nothing

Version 1.23.0 · 28.08.2026

  • Before making a site the Studio asks which kind: a calm shop window with text and screenshots, or a 3D landing page with the hero model at its centre, moving with scroll and cursor. One prompt for both cases produced a middle ground — a heavy scene where a picture would do, and a dull page where an effect was needed
  • The agent now also gets a rasteriser — it produces the 1200×630 preview image, the one shown instead of a link in messengers. We first look for something already installed and only install our own if nothing is found; system packages are left alone, they ask for admin rights
  • Platform requirements (both language versions, the footer link, 20 MB, both buttons) are shared by all variants and checked by a test against each of them: a new variant cannot be added while forgetting the mandatory parts

Version 1.22.0 · 28.08.2026

  • Press “Make a site” and you land in the chat with the agent right away. Installing the front-end skills moved there too: it used to hold you in front of a modal dialog before the conversation had even started
  • The whole installation is visible in the feed: what is already there, what is downloading, what failed and why. If something fails the site still gets made — the agent just knows less, and now it is clear why the result came out simpler
  • Skills are installed strictly before the agent starts, and that order can no longer be bypassed: the preparation lives inside the session itself. Claude Code reads skills at start-up, and anything added later would only be seen next time — silently, without a single error message

Version 1.21.0 · 28.08.2026

  • A “Publish site” button now sits right in the chat with the agent — where you already are when it finishes. Leaving for the game settings meant interrupting the conversation at the exact moment it ended in success
  • A site is now capped at 20 MB. A shop window is text, a few images and maybe a short clip; anything beyond that usually means the game's assets ended up in the folder or the images were never compressed — and it is the visitor on a phone who pays for it
  • The size is measured after unpacking, not by the archive — otherwise the cap would let through a site three times larger. The Studio also checks before sending: pushing twenty megabytes over a bad connection for a refusal known in advance is pointless. The agent learns the limit from its brief instead of discovering it at the end

Version 1.20.1 · 28.08.2026

  • Studio tools connect to Claude Code again. Connecting first removes the server's previous entry, and the agent's command, finding it in two places at once — the shared one and a single folder's settings — removed nothing; then writing the new one answered “server already exists”, and the Studio honestly said “tools NOT connected”
  • The old entry is now removed with its location stated outright, and in every folder where it was found: a folder's setting outranks the shared one, and an entry forgotten there with an old key would silently override the fresh one — “connected” on the outside, a 401 on every call
  • If the previous entry survives anyway, the Studio no longer shows the command's bare reply but names the two lines that will remove it for certain

Version 1.20.0 · 28.08.2026

  • A game site's address starts working from the first uploaded variant, not after approval. Otherwise it was a closed loop: the draft lives at the same address, and without a live name it could be neither shown nor reviewed — and so never approved
  • Until the site is approved, the address shows a placeholder: the platform logo and the line “the game's site is being prepared”. Not a redirect to the game — that would mean the address does not exist; not “page not found” — search engines and messengers would treat the name as dead. The placeholder is not indexed, so it cannot take the real site's place in search results
  • After the first upload the address comes alive in about ten minutes — the game's name enters the certificate for the first time. This is now stated outright both in the Studio and in the reply to the agent: silently, it would look like a breakage

Version 1.19.0 · 28.08.2026

  • The agent now publishes a finished game site itself, via the publish_site tool. Ending the work with a trip to the Studio for one button was a redundant step where everything was already done
  • The site does not go to moderation on its own: first you look at the draft via the link the tool returns, and decide. Sending a moderator something the developer has not even seen means spending someone else's time on guesswork
  • The site requirements are the same as for uploading from the Studio, and they are checked by the very same code: both language versions and the platform link in the footer. A rejection comes back in words that say what to fix — the agent fixes it in the same conversation

Version 1.18.0 · 28.08.2026

  • A game's address now follows domain rules: Latin letters, digits and a hyphen inside. Underscores are banned — and this is not pedantry: they are not allowed in a certificate, so a game site at such an address would never open over HTTPS, without a single error message
  • Hyphens, conversely, are now allowed. They were banned while the site draft lived at a separate address, “<game>-dev”; the draft moved to the /dev/ path, and the ban lost its reason
  • Three games with underscores in their address were renamed. The old addresses did not die: they are released and lead to the new ones, along with the game pages

Version 1.17.0 · 28.08.2026

  • Fixed: the agent could start working inside ANOTHER game's folder. Project numbers and game numbers are two independent sequences, both starting at one, so “7” meant both one game's old number and another game's real number at the same time. The migration to a single number did not know this: it took a neighbour's live setting for itself and deleted it. One game got the neighbour's folder, the neighbour lost its own, and every screen showed the correct name — nearly impossible to spot
  • Now the migration does not touch a number that belongs to a live game, and a folder keeps a mark of which game owns it: silently working in someone else's folder is no longer possible. If your game lost its folder, point it at the folder again on the sync screen — it takes a minute
  • Zloy Master no longer disappears from the chat list. It used to hide as soon as a game brief existed — correct while it did one thing; now it also makes the icon and the site, and those get redone many times
  • On desktop, everything opened from “Management” — the game site, the block list, the address — stays in the right column instead of covering the whole window. The master's chat opens there too, with the tabs still visible on top
  • “Make a site” no longer asks what you are making: you already answered by pressing the button

Version 1.16.0 · 27.08.2026

  • The site draft moved from a separate address to /dev/ on the game's own address. A second subdomain cost a slot in the certificate for every game — one certificate now fits twice as many games, and the second address granted no extra rights anyway
  • The draft now has a “notch” — the same plate as above a game: a narrow strip at the top centre that opens on click. Inside: which variant this is, its state, what the moderator wrote if they sent it back, and links to where decisions are made
  • The notch is injected into the draft only. The platform does not add a single byte to a published site: it is someone else's page, and our elements on it would imply the author put them there

Version 1.15.0 · 27.08.2026

  • The site draft opens from a link in the Studio — and now it actually opens. It turned out that “log in and look” cannot work at the draft address at all: the login cookie belongs to zloy.net itself and browsers do not send it to subdomains — which is correct, otherwise any game's site could read it. The link is now signed, and navigation inside the draft keeps working on its own
  • A pass to one game's draft does not open another game's draft, and the signature cannot be forged — both are pinned by a live run

Version 1.14.0 · 27.08.2026

  • Before building a site, the agent gets front-end skills — the Studio installs them itself, into the game's folder. It installs them BEFORE opening the chat: Claude Code reads skills when a session starts, so anything added later would only be seen next time — meaning the first and most important site variant would be made without them
  • The skill list is named, not “anything web-related”: the catalogue is someone else's, and a keyword search would eventually pull in something that loads styles from a foreign domain — which the game site's protections would block anyway. If something fails to install, the chat says so: the site can still be made, the agent just knows less
  • Old site variants are now cleaned up once a day on their own, not only when you upload something. A promise of “after 30 days” should not depend on whether you opened the Studio

Version 1.13.0 · 27.08.2026

  • Game settings got a “Game site” section: upload what the agent built, view the draft at its own address — visible only to you — and send it for review. The site goes live after approval, just like the game itself; until then the address keeps serving the previous variant
  • Site variants are kept, and you can go back to an earlier approved one with a single button — no moderator needed, they have already seen it. A rejection arrives with the moderator's reason, not silently
  • The site's text can be edited by hand, its markup cannot. Headings and paragraphs appear as a list of fields; markup physically never reaches them, so it cannot be broken. Two language versions sit in two tabs side by side: editing one and forgetting the other is the easiest way to ship a site whose English half is three edits behind

Version 1.12.0 · 27.08.2026

  • Zloy Master now asks what to work on: the game, the icon, or the game's site. It used to only do games, and folding three different jobs into one prompt would have produced a mediocre result in all three
  • New: the game's promo site — a shop window at its own address, from which someone who knows nothing about the game goes and plays it. The agent builds it from the game's assets: description, rules, “Play” and “Game page” buttons, a block of fresh screenshots and clips from players themselves, and both language versions
  • The site conversation lives in its own chat, just like the icon one. The master can be run any number of times: each run is a separate variant, and comparing and choosing is the developer's call

Version 1.11.0 · 27.08.2026

  • The game icon is now drawn by the agent. Game settings got a “Draw an icon” button: the brief with requirements for size, legibility and format assembles itself — all you add is a wish, or nothing at all
  • The icon conversation lives in its own chat. Icons get redrawn ten times in a row, and those rounds should not drown in the game's development history, nor should that history drag the model into an argument about a picture
  • The icon chat shows the picture itself plus “Accept” and “Redraw” buttons. An accepted icon goes into the game's draft and reaches the catalogue after review; variants are kept as separate files, so you can go back to the one from two days ago — extras are removed only after acceptance, and two previous ones always remain

Version 1.10.0 · 27.08.2026

  • The game catalogue is now tiles with icons. A game is recognised by its picture, and in a row it only ever got a favicon-sized slot to the left of the text. Under the name there is now the address of a released game or the state of a draft — instead of the word “JavaScript”, identical for everyone
  • Icons no longer wait for the network: once shown, an icon lives on the device, and the catalogue opens instantly even offline. No icon — the tile shows the first letter of the name rather than an empty square: an empty one reads as “failed to load”
  • Build upload now survives a bad connection. There is a progress bar with percentages, a broken upload retries up to five times with a growing pause, and after that a “Retry upload” button remains — it sends the archive that is already built, with no need to rebuild. A meaningful refusal from the server (build over quota, no rights) is not retried at all: five seconds later the answer would be the same

Version 1.9.1 · 26.08.2026

  • The connection to the studio MCP server can no longer be overwritten by a placeholder key. The Studio's own checks called the real connect command with a dummy key, and every run wiped the working entry in Claude Code, leaving a broken one behind. From the outside this looked hopeless: the app says “connected”, the agent shows the server as failed, and restarting changes nothing

Version 1.9.0 · 26.08.2026

  • The update offer now tells you what will actually change: the new version's list of changes is read from the site and shown right in the dialog. It used to show only the version and build numbers — the dialog asked you to take it on trust, and “Later” got clicked out of caution rather than busyness
  • The update path is now complete: see what's new → download in the background (work does not stop, progress is in “Downloads”) → agree to restart → the new version takes the old one's place and opens by itself
  • Update leftovers are cleared on the next launch. After a successful swap the temp folder kept a thirty-megabyte archive and a script: the script cannot delete them itself — it lives there too — and the junk grew with every version

Version 1.8.0 · 26.08.2026

  • Zloy Data now has a “Wipe the sandbox” button: it erases every row of every cube at once — saves, leaderboards, entities, accounts and transactions. Debugging goes in circles, and clearing the accumulated junk row by row through filters meant spending time on it every day
  • Live data cannot be wiped at all: the server refuses, and no confirmation will change its mind. This is not a dangerous edit but an operation that does not exist in production — erasing a live game's data means erasing every player's progress at once, with nowhere to get it back. In production mode the button stays on screen but is disabled and explains why

Version 1.7.0 · 26.08.2026

  • Updates arrive again. Clients installed before releases moved to the release channel were asking the old address for a new version, and the files there had already been swept away by the old-build cleanup — every update ended in a 404. A release now updates that pointer too
  • On macOS the Studio updates ITSELF: downloads the package, unpacks it, replaces itself and restarts. It asks before restarting — a working agent should not die for an update, and declining loses nothing: the “Restart” button stays in the sidebar
  • And the main thing: macOS no longer asks you to confirm the launch via “Settings → Privacy”. That demand comes not from a missing signature but from the “downloaded from the internet” mark the browser attaches. What the Studio downloads itself has no mark — so there is no question

Version 1.6.0 · 26.08.2026

  • Every command the agent runs is now fully visible: the chat shows a short line with the gist — which command, which file, which query — and clicking it expands the details. A file edit shows before and after, a command shows the whole script, a search shows the query; there is a copy button next to it. Previously this was a bare “🔧 Bash”, and there was no way to tell what the agent had been doing for a minute
  • Chat settings got an “Allow everything automatically” switch: the agent edits files and runs commands without asking. The flag belongs to a single chat — turning it on for Claude Code in this game affects neither the terminal next to it nor another game. Every such permission appears in the chat as its own line, an open padlock shows next to the chat title, and turning it on answers the questions already waiting

Version 1.5.1 · 26.08.2026

  • New versions reach the download page again. The channel the site and the app take builds from had been stuck on an old version for months, pointing at files that no longer existed; now every released version lands there
  • The macOS build is back on the page — it was a version behind
  • Old builds no longer pile up: only the current version stays in the channel. Before the cleanup there were 25 files taking 800 megabytes, including builds from two renames ago

Version 1.5.0 · 25.08.2026

  • The agent no longer freezes on a blocked command. Hitting one it may not run, it now asks — a card appears in the chat with the command itself and «Allow», «Always» and «Deny» buttons. Such a question used to go nowhere and the turn stood still until a restart
  • Chats open instantly and offline: the conversation and the chat list live in a database next to the game. Switching between tasks and chats no longer re-reads everything from the server, and on a bad connection you see your chats, not an empty screen
  • Select any part of the conversation, press the right mouse button — and it becomes a task: the text is filled in, you only edit and save it
  • A new version is announced by a green button at the top right — it opens the Zloy Studio page on the site
  • The game icon can now be set straight from the agent: it sends the picture itself rather than a path to it, so there is nothing to wait for
  • Platform choice is gone from the game settings: the platform does not build store packages, and promising that build was dishonest

Version 1.4.0 · 21.08.2026

  • A game now remembers its own repository. Open the project on another computer and the address is already there: press “Connect and fetch history”, and the work from the first machine arrives. No more hunting for the link
  • Your GitHub token still never leaves your device. An address with a token visible inside it the Studio refuses to save, and says so plainly
  • The Studio stopped heating the CPU while doing nothing. Waiting for the agent, a running download and an open chat no longer make the app redraw itself dozens of times per second
  • Chats open more smoothly: message markup is parsed once instead of being reparsed on every agent event

Version 1.3.0 · 17.08.2026

  • The chat opens instantly: the last page of the conversation is kept on your device and shown before the server answers. That pause used to look like lost history
  • Agent skills store: 87 ready-made Claude Code skills, 30 of them about gamedev. Install, disable or update in a couple of clicks; the catalogue comes from vibecoder.1147.org
  • The «could not load history» message now has a Refresh button. One failed request used to mean leaving the chat and coming back
  • Change log in Zloy Data: who edited which row by hand and when — in both the sandbox and production

Version 1.2.0 · 16.08.2026

  • The studio became a desktop tool for developers: the catalogue, feed, profile, friends and playing other people's games moved to zloy.net, and only development stayed in the client
  • Every game on the platform is now JavaScript: a new project's starter builds with no dependencies at all, so the first build works on a clean machine with no internet
  • You build the game yourself with one command and only the finished result is uploaded — the build queue, Docker and waiting in line are gone
  • The “Update” button now stays in the navigation until the new version is installed: previously only a startup banner mentioned it, and a dismissed banner never came back
  • The studio re-checks for updates every few hours — left open for days, it learns about a new version without a restart
  • After installing a new version a “What's new” window shows this very list
  • The “Sign out” button moved into settings — it used to live on the profile screen
  • Android and iOS builds are no longer published: the studio runs on macOS, Windows and Linux

Version 1.1.0 · 12.08.2026

  • Zloy Data: the rows your game wrote into the backend cubes are now visible and editable straight from the studio
  • Zloy Stats: backend load for your game — spikes, response times and a breakdown by cube
  • Storage now measures used space and warns you as a game approaches its quota
zloy.net

Independent game platform. Publish games and play with friends.

Games
Games Zloy Studio Blog How to publish a game API documentation →
Legal
Game Placement Rules Public Offer Privacy Policy Consent to Personal Data Processing Terms of Use
Connect
s@zloy.net Telegram
© 2026 zloy.net — All rights reserved ИП Володин С. В. · ИНН 666307848501 Play Zloy

This site uses cookies, Yandex Metrica with Session Replay (Webvisor) and our own anonymised visit counter: cookies keep sign-in and settings working, and Metrica and the counter show us how the site is used. Privacy Policy