Warning
Still a beta. One developer, a handful of machines, and your reports,
which remain the only test lab with real coverage. If something breaks (or
works), please
open an issue with your
GPU, driver version, operating system, the console output and
oot3d_native_game.log (now in the data\logs folder of your installation;
beta.1.2 kept it in logs next to the game), plus what you were doing right
before it went wrong. "It crashed" is still a feeling; the log is still
evidence.
On 5 November 2026, Nintendo released its own Ocarina of Time remake. I
released this one on 7 September 2026, so, naturally, Nintendo copied me. Bringing Ocarina back with better graphics:
clearly an idea only I could have had, especially about their game. The timing
is all the evidence my imaginary legal department needs. I will not be
pressing charges.
Meanwhile, this one runs on the PC you already own, asks for the 3DS ROM you
already dumped, and costs nothing. The price has survived every release since
the first alpha; my business sense has not improved either. It is not a
remake: it is the 2011 game, recompiled, with the lights turned back on.
Apparently I am now claiming to have invented that too. Play both and tell me
where this one loses. The issue tracker accepts evidence even when its owner
is busy pretending to be the injured party.
Windows and Linux, as usual.
It has a name now
TriAevum.exeis nowEchoes_of_Time.exe. Forge installs the game
under its own name and removes the old executable, so a shortcut to
TriAevum.exestops working: point it atEchoes_of_Time.exe, or start the
game from Forge. Linux getsEchoes_of_Timetoo; the AppImage and the
Flatpak start it for you as before. Forge keeps its name. I have renamed
enough things to break your shortcuts without also breaking my own
instructions.- Your files have one home: the
datafolder. Save states move to
data\savestates, logs and crash reports todata\logs. Existing save
states are migrated on the first start.docs/TRIAEVUM_USER_DATA.mdlists
every folder. I have written down where I put things, which is progress. - Forge is built per game. This Forge prepares Ocarina of Time 3D only.
Yes, "per game" is plural on purpose. Even my scope creep has a sequel.
Updating from beta.1.2
Extract beta.2 into a new folder and let its Forge update the old one:
forge\triaevum-forge.exe update --update-target "C:\path\to\your\beta.1.2 folder"
Your saves, save states, settings and texture packs stay where they are. If
Forge decides it cannot finish, it puts beta.1.2 back exactly as it was and
tells you so; nothing of yours is touched either way. I tested this on the
published beta.1.2 package on Windows, not on a real user
installation with its own settings and texture packs. If it rolls back,
install beta.2 in a fresh folder, copy your savedata over, and send me the
message it printed. My test folder and your installation have not met.
Beta.1.2 could not update itself from a ZIP at all. Beta.2 can, and every
package from now on is signed, so the next update is a button. I look forward
to retiring this paragraph.
The first start no longer takes a coffee break
- The first launch after installing starts in seconds. Forge now prepares
the GPU pipelines through the game itself, after installing, so the graphics
driver keeps them for the program you actually start. Earlier builds
prepared them through a helper, the driver filed them under the helper's
name, and the game then prepared everything again while you looked at a
progress bar. Two minutes of your life, per installation, spent checking
that the same work could be done twice. It could. Sorry. - Linux AppImage: an AppImage runs from a different temporary folder every
time. The game now runs from a stable copy in its data folder, refreshed
when you replace the AppImage, so the driver can remember it. Knowing where
your own executable lives turns out to help. - Windows: the runtime travels with the game. The game and Forge are now
built with LLVM for Windows; the DLLs they need sit beside them, and the
release check verifies that every DLL is where Windows looks for it.
Optional FidelityFX upscaling still wants the Visual C++ runtime; if it is
not installed, FSR simply does not appear. I have added "include the things
the program needs" to my understanding of shipping software. - Signed on every platform. The Windows ZIP, the AppImage and the Flatpak
carry the publisher's signature of their package.
Graphics
- Anisotropic filtering, 4x in the Enhanced preset: floors and walls at a
grazing angle stay sharp instead of melting into the distance. The floor is
allowed to remain a floor even when you look down it. - HD texture packs get their own mip chain (#122): distant HD textures no
longer shimmer or fall back to the wrong size. Packs named the Azahar way
with three fields or mixed case are accepted. Capital letters are no longer
grounds for a disagreement. - Lighting fixes: outdoor rooms with fixed light settings keep their own
light, and filter-blended draws (water among them) keep the game's own look.
For someone claiming ownership of turning the lights on, I do spend a lot of
time apologising for them. - Renderer and grass: leaner draw preparation, fewer allocations per
frame, and grass selection on the GPU that tests only what is in view. Grass
behind you can manage without the attention. - AMD on Windows: the driver gets robust pipelines and a device-loss
report that names what failed. The driver and I are working on using words. - The shader library is recorded again on this exact runtime. From an
empty cache the recorded sessions compile zero shaders during play. A
place nobody recorded may still compile one in the background; it costs a
moment, never a stall.
Menus, controls and diagnostics
- The Esc / R3 menu fits any screen, the game pauses behind it, and master
volume and mute have one control. A mouse resting over the game no longer
swallows keyboard and controller input in the menu's dialogs. The mouse has
lost its veto. - Video memory stays flat while the game is paused behind the menu, also
in scenes that copy the screen into textures, however long you leave it
open. Pausing now pauses the game rather than your plans to keep using the
graphics card. - Controller rumble on damage and other game events, on pads that have it.
- Button prompt glyphs follow your pad in the menu footer and help card.
- A fatal error ends the game promptly with its dialog, instead of hanging
while shaders are still being prepared. Even leaving used to need work. - Settings inside a moved installation keep their paths (#124).
- Input device log for support reports, without serial numbers or your
user name.
Known limits
- Windows x64 and Linux x86-64 (AppImage, Flatpak) only.
- #105: the courtyard crawl hole problem could not be reproduced here; it
stays open. If it happens to you, send the log. I am the one who owes the
apology. - #96: objects can flicker at interpolated 60 FPS with native lighting.
Not fixed in this release. - The Windows build changed compiler since beta.1.2. It was tested natively on
Windows 11 and under Proton, on NVIDIA. For everything else, the test lab is
reading this paragraph.
About that plural
The engine under this game was never meant to carry just one game. The first
proof is on the same releases page today, and it has a moon in it. There is
more in progress, and some of the things people keep asking for in the issues
no longer get a "no". Names and dates can wait; I have learned what happens
when I put those in writing.
For now, Nintendo can keep the idea I have generously decided they stole. I
have bigger things to be suspiciously quiet about. This is much easier than
announcing them and having to explain myself afterwards.
Checksums are in SHA256SUMS_EchoesOfTime.txt. Echoes of Time is a fan project, not
affiliated with or endorsed by Nintendo. No ROM, no game data and no game
assets are distributed: you bring your own dump of Ocarina of Time 3D.