Status
SteamPeaks
ChartsSalesUpcomingPatchesEventsCalculator
New on SteamEvery app, DLC and depot the minute Steam creates itAppsEvery app on Steam, newest change firstPackagesSubs and bundles, and what each containsDepotsDepots, manifests and install sizesTagsSteam's user tags and the games under themDevelopers & publishersCompanies and their cataloguesTechnologiesEngines, SDKs and anti-cheat found in the filesChange historyEvery PICS changelist as it lands
SignalsNineteen readings of the whole catalogueCompareAny games side by sideRecordsAll-time peaks and the days they were setReportsWeekly and monthly write-upsAlerts & newsroomWatch a game, get told when it movesSteam statusIs Steam up, right nowWeb API explorerTry the endpoints in the browser
EventsSteam's own events and the sales calendarCalculatorWhat a Steam account is worth, and its pile of shame
/
Sign in
/
SteamPeaks
The ultimate resource for Steam data.
ExploreChartsSalesSales and festsUpcomingPatchesEventsRecordsTrendingSignals
DatabaseAppsPackagesDepotsTagsDevelopersTechnologiesChange history
ToolsCalculatorCompareSearchAlertsSteam statusAPI
SiteMethodologyFAQDiscordSupportSign in via Steam
Not affiliated with Valve or Steam. Game names and artwork belong to their owners. All times UTC.
PrivacyCookiesFair useStatus
Droning On Demo›Events›Devlog: Bring Your Own Editor
Community

Devlog: Bring Your Own Editor

Droning On Demo · published 22 Aug 2026, 19:00 UTC

All eventsPlayers around this dateRead on Steam

Droning On ships with a code editor. It has syntax highlighting, error underlines, a console, a run/stop button, and it is a perfectly good place to write a solution. It is also, if you are the kind of person who has opinions about editors like me, somebody else's editor. We developers, are fickle.

So the scripts aren't locked inside it. They're plain .py files sitting in a folder on your disk, and the game will happily let VS Code, PyCharm, Vim, Notepad, or whatever you actually work in be the thing you type into. Save in your editor, and the change is in the game before you've finished moving your hand back to the mouse.

By the way, if you are a fellow VS Code user, I made a simple highlighter for you to use; you can find it here for free: https://github.com/Mythikos/droning-on-vscode-syntax-highlighter.

Scripts Are Just Files

Everything you write lives in a scripts folder in the game's save directory, one file per script. There's no proprietary container, no database, no export step. You can back the folder up, drop it in a git repo, diff two attempts at the same puzzle, or copy it to another machine. When the file is on disk in the format your tools already understand, all of that is free, and none of it was a feature I had to build.

The in-game editor writes to those same files. It isn't a separate system with a sync step bolted on — it's just another program editing the folder.

Live Reload, and Why It's Harder Than It Sounds

The game watches the scripts folder and reloads a file when it changes underneath it. Simple in concept. Genuinely annoying in practice, for one reason: the game is also writing to that folder.

Every time the in-game editor autosaves, the operating system fires change notifications — and not one clean notification either. A single save can raise several, because the write isn't atomic and the watcher's filter is broader than you'd like. If the game naively reloads on every notification, it reloads over your own typing, which is a spectacular way to lose a line of code you just wrote.

The obvious fixes are all bad. Counting events is guesswork; the count isn't stable. Ignoring events for a short window after a save is a race that eventually loses to a slow disk. So the game does neither. Each script remembers a hash of the content the game itself last wrote. When the watcher fires, the file gets read and compared against that hash. Same content means it was our own save, or a duplicate notification, and nothing happens. Different content means a human did it, and the editor reloads.

There's a short settle delay before the read, so an external editor has time to finish flushing the file, and that read happens off the main thread — file IO never gets to stutter the game. The result is a system with no per-file bookkeeping and no timing assumptions. It only ever asks one question: is what's on disk different from what I put there?

It's Off By Default

External editor support is a toggle in the options, and it starts off. That isn't me hedging; it's that a file watcher on a folder you didn't ask anyone to aggressively watch is a thing that should be opt-in. Flip it on, and the watching starts immediately, no restart.

While it's on, the game also notices if a script file disappears. Delete one outside the game and, if it's the file you have open, the editor tells you what happened instead of silently continuing to edit something that no longer exists and writing it back into being later.

Why Bother

This one is easy to justify: I wrote the game in an editor I like, and I would have been irritated to be locked out of it. Muscle memory is real. If you have spent years in a particular set of keybindings, being handed a text box is a small, constant tax on every level.

There is a second reason. A script that lives as a file is a script you can share, review, and keep; and one you can pull up two years from now without needing Droning On installed to read it. Whatever you write here is yours, in a format that outlives the game.

The in-game editor isn't going anywhere, and it's still where I'd start. But the door's unlocked, and it always was.

Thanks for reading. As always, your feedback is welcome. If you haven't already, drop a wishlist and come hang out in the Discord. It's the best place to share feedback, follow development, and engage.

More from Droning On Demo

Other announcements

All events
Community5 Sep 2026Devlog: Skip AheadBootcamp is twenty levels long, and it's the front door to everything else in Droning On. Puzzle Mode is behind it. Endurance Mode is behind it. So are the feature unlocks — collections, interactables, hazard detection, functions, classes — which the game hands you one chapter at a time as you earn them. That's the right structure for someone learning to code. It is a wall for someone who alrea…Community8 Aug 2026Devlog: Puzzle ModeBootcamp teaches you the language one idea at a time. Endurance Mode drops you on a virtual treadmill and speeds it up until you fall off. Puzzle Mode is the thing in the middle, and it's the part of Droning On I've spent the most time actually designing levels. Each level is built around a single idea, each one waiting to see what you do with it. Thirteen Hand-Built Problems Every one of the t…Community25 Jul 2026Devlog: You're Being WatchedA Droning On level used to be a quiet place. Walls, hazards, a grid, and Gizmo, who doesn't move until your code tells him to. Good for concentrating. Bad for atmosphere, and worse for the thing I was after, which is the sense that your maze isn't sitting in a vacuum. It's a test. Something built it, something is watching how you do, and you are not the only robot in the building. So I added dr…