ミリス
Live Build miris.dev
16.67ms 33.33ms
frame time · last 60s · 16ms scale
  • build #2018 PASSED
  • playtest #94 in progress
  • engine_core@a37f12 last commit
Circle Log 90d · commits/day
Roadmap engine modules · now
now
  • level_03_lighting
  • boss_phase_2_pattern
  • chunked_loader_v3
  • localization_jp→en pass 2
  • audio_mix_room_reverb
  • input_remap_screen
Input Heatmap thumb density · 94 sessions
right stick · hottest cell
FPS
60.0 target 60.0 · budget 16.67ms
Build Hash
a37f12 · #2018 engine_core · main
Member Status circle · now
Thermal
cpu62° gpu71° mem1.84g
Circle MiRiS

A four-person game-making circle. We build, we playtest, we keep notes. The dashboard above is the workshop, mid-build, on a cold morning.

Why is the frame budget on the third boss still 19.4ms? We have asked it for three weeks now, and the honest answer is that the encounter does four things at once that none of our earlier rooms ever asked of the engine: a full-screen lighting pass that re-bakes shadow cascades on the arena floor, a particle system running two emitters per phase, an audio mix that swaps reverb zones mid-fight, and a chunked loader quietly prefetching the corridor you will run down when the fight ends. Individually each of these is cheap. We measured them. The lighting pass is 3.1ms. The particles are 0.6ms on a Pixel 4a, which we are stubbornly proud of. The audio swap is a rounding error. The loader is async and should not touch the frame at all. And yet the third boss costs 19.4ms, which means something is overlapping that should not be overlapping, and finding it is the work this week.

We are MiRiS — Hideki, Ren, Aoi, Mika — a circle, not a company. We do not have a roadmap deck. We have the Gantt stripe in the dashboard above, and it is accurate to the day, which is more than most decks can say. We started this game because we wanted to make something that felt the way the first room of a good Metroidvania feels: the moment you realize the space is bigger than the screen, and that someone built the off-screen part too. That feeling is expensive. It is expensive in level geometry, expensive in streaming, expensive in the patience required to re-time a boss sweep by three frames because the old timing made the dodge feel like luck instead of skill.

So this page is not a pitch. There is nothing to buy here, no list to join, no "follow our journey." There is a build console behind a sheet of half-melted ice, because that is what the work actually looks like from the inside: build #2018 passed at 04:11 KST because Hideki could not sleep; the commit barcode is dense because we have been at this for a while; the input heatmap shows the right stick glowing because that is where playtester #94's thumb lived for forty minutes. We notice things. We write them down. If you want to know who MiRiS is, that is the whole of it — we are the people who noticed that the frame budget on the third boss is still 19.4ms, and who are not going to ship it until it is not.

The lighting bake broke level_03 shadows on Tuesday, so we reverted it — that is the Ember line in the log, the one warm color on this page, reserved for the things that went wrong. We will try the bake again on Thursday with the cascade split moved. The chunked-loader v3 patch lands this week if the boss profiling does not eat it first. The localization pass is at sixty percent and Mika says the menu strings are the hard part because Japanese menus assume vertical space we do not have in English. None of this is dramatic. All of it is true. That is the difference we are after — not a studio that performs being a studio, but a studio you can read like a log file, top to bottom, and come away knowing what we care about because you watched what we measured.