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 DemoEventsDevlog: Making Time Deterministic
Community

Devlog: Making Time Deterministic

Droning On Demo · published 11 Apr 2026, 15:00 UTC

All eventsPlayers around this dateRead on Steam

If two players run the same script on the same level, should they get the same completion time? The answer should obviously be a yes... but getting there is trickier than it sounds.

The Problem

While working on Droning On, I noticed a discrepancy in the amount of time a script would be recorded during a run. I further noticed that the same script on a higher execution speed resulted in a substantial inflation of the total time. Something that took 51 seconds on 1x speed returned 1 minute and 30 seconds on 10x speed.

The root cause came down to how the game was tracking time. Like most games, the logic was tied to the framerate. Every frame, the game checks how much real time has passed and moves the timers forward accordingly. This works fine for most games, but in Droning On, we have leaderboards, and those must remain fair. Small floating-point differences in how time accumulates between frames meant the same script could produce slightly different completion times depending on hardware, framerate, or execution speed. In a game where the entire point is writing efficient code to solve problems, that's not an issue I was willing to accept.

Using A Fixed Timestep

The solution was to decouple game logic from framerate entirely. All simulation--movement, turning, waiting, game object timing, etc--now runs on a fixed timestep. Every game tick is the same length, every time, on every machine. The game managers track elapsed time using these fixed ticks, not the system clock. Same script, same level, same time.

This also means the execution speed mechanic works cleanly. Speeding the game up doesn't change the number of ticks a move takes; it just makes them happen faster. The measured completion time stays identical whether you're watching at 1x or blazing through at 10x.

Unfortunately, It Looks Terrible

If you only update positions on fixed ticks, the movement looks choppy, especially on higher refresh displays. The game might only tick 50 times a second, but your monitor is refreshing at 144Hz. You'd see Gizmo teleporting between grid positions in little stuttery jumps.

So there's a second layer to the fix: visual interpolation. While the game logic snaps Gizmo to grid positions on fixed ticks, the rendering system smoothly lerps Gizmo between those positions every frame. What you see on screen is a buttery-smooth animation. What the game actually tracks underneath is a precise, grid-locked position that only changes on fixed ticks.

This means the game essentially maintains two versions of where Gizmo is at any given moment: where he is logically and where he is visually. Hazards, stations, barriers, the exit--everything that matters checks Gizmo's logical position, not the visual one. The visual one is just there to make it all look nice.

Why It Matters

You'll probably never notice any of this while playing, and that's sort of the point. When you nail a level and see your time on a leaderboard, you can trust that number. Nobody's getting an edge from better hardware or running at slower execution speeds. The clock counts the same ticks either way.

It's one of those invisible systems that only gets noticed if it's broken, and getting it right meant rebuilding a lot of how the game processes time under the hood.

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…Community22 Aug 2026Devlog: Bring Your Own EditorDroning 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,…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…