A faithful, moddable port of Oracle of Ages and Oracle of Seasons for Windows, macOS, Linux and Android: the original picture, or a widescreen view with the rooms around Link, at three distances, Near, Medium and Far, in the shape of your screen, 16:9 or 4:3; item hotkeys and other gameplay options, languages, Lua mods and fan games from their BPS patch. Your own ROM runs untouched in an emulator core, and Display › Quality sets the view and the core for your device in one choice, from Low to Max.
The game needs your own ROM of Oracle of Ages or Oracle of Seasons (US), and a fan game its BPS patch; none is included.
Installing
- Windows (
the-oracles-project-1.4.0-windows.zip, 64-bit): unzip the folder and runthe-oracles-project.exe. The executable is not signed, so SmartScreen may warn the first time: More info, then Run anyway. - macOS (
the-oracles-project-1.4.0-macos.zip, one application for Apple Silicon and Intel, macOS 11 or later): unzip and move The Oracles Project to Applications. The application is not notarised. On macOS 11 to 14, open it the first time by right-clicking it and choosing Open. On macOS 15 or later, open it once, then choose Open Anyway in System Settings › Privacy & Security. Or runxattr -dr com.apple.quarantine "The Oracles Project.app". - Linux (
the-oracles-project-1.4.0-linux-x86_64.AppImage): make the file executable (chmod +x the-oracles-project-1.4.0-linux-x86_64.AppImage, or in the file's properties) and run it; SDL 3 comes with it. If the AppImage does not start, use the.tar.gz, or run the AppImage with--appimage-extract-and-run: a system without FUSE (some containers and minimal installs) cannot mount it. - Linux, archive (
the-oracles-project-1.4.0-linux-x86_64.tar.gz): extract the folder and run./the-oracles-project; SDL 3 comes with it. Thethe-oracles-project.desktopfile inside is optional: set its two paths, then copy it to~/.local/share/applications/. - Linux ARM64 (
the-oracles-project-1.4.0-linux-arm64.AppImageandthe-oracles-project-1.4.0-linux-arm64.tar.gz; Raspberry Pi 5, Asahi Linux...): experimental, not yet tried on real hardware; feedback welcome. They install as the two files above. - Android (
the-oracles-project-1.4.0-android.apk, Android 10 or later): install the APK, allowing its installation from your browser or file manager when Android asks.
SHA256SUMS.txt holds the SHA-256 of each file.
First launch
Open The Oracles Project: the home screen lists Oracle of Ages, Oracle of Seasons and Fan games. Pick a game, open its Cartridge page, pick your ROM with Choose ROM… (a fan game asks for its patch too), then Play. The game starts in Enhanced, the widescreen view; Display changes the view, the window and the quality. The manual has every page, key and setting, and the FAQ the questions players ask most.
Updating
Install the new version as you installed the old one: unzip the Windows folder wherever you like, put the macOS application or the Linux file in place of the old one, and on Android install the APK over the installed application (from 1.2.0 on: 1.1.0 and earlier were a different application, whose files the new one does not read). Your saves, beside your ROMs, and your settings, in your user folder, are kept, and the new version finds the ROMs you chose. What's new, below, says whether the savestates of the version before still load.
Cores
Two emulator cores run the game: SameBoy, unmodified, the accurate reference, and mGBA's Game Boy core, lighter, with one patch (its boot ROM), for small devices. Fast (mGBA) plays by default on Android, Accurate (SameBoy) elsewhere; Display › Advanced › Core changes it.
What's new in 1.4.0
New
- Unvisited rooms. Display > Picture > Unvisited rooms: Shown, as before, or Hidden, where the rooms around Link that he has never entered stay dark until he does, as on the game's own map, so that the wider views give nothing away. Where a dark room meets one you can see, a glimpse of it shows along their border, with whoever happens to stand there, and fades into the dark in a soft, wavy edge rather than a straight cut (the Low quality keeps the straight cut). It reads what your save already knows: an old save shows the rooms you have visited, a new game starts with none, and a room fades in as you first enter it. It works in Enhanced, for Ages, Seasons and the fan games, and changes from the pause too, when the game resumes. Picture's summary says " · Rooms hidden".
- How to open the menu. Each game you start now reminds you, under the status bar once you are in play, which key opens the menu: "L3 opens the menu" with a controller (the button you chose in Controls, or Guide when none is), "Esc opens the menu" with the keyboard, "The pause button opens the menu" by touch on Android, "L3 or Back opens the menu" with a controller there. It follows the device you use, and stops once you have opened the menu with that key, or after ten games. It replaces the one-time notice of the first game started with a controller, so it shows again even if you saw that one. Reset to defaults in Controls brings it back.
- Finding the item hotkeys. In Ages and Seasons, while the item hotkeys are off, the pause menu says where to turn them on, "Item hotkeys are off · Controls › Item hotkeys", the first three times you open it. In Controls > Hotkeys, with them off, the slots are greyed and a sentence under them says what they do.
- Cheats in the fan games. Gifts of Kinomi, Moonrise Regalia and Temple of Seasons now have Cheats in their menu and their pause menu, as Ages and Seasons do: No damage, Ammo never runs out and Rupees never run out, each fan game with its own, separate from its Oracle's. In Temple of Seasons, Rupees never run out makes every purchase free, and Ammo never runs out keeps its seeds as it keeps its bombs.
- Saves of games with mods. Import save… now brings the save in for the game with mods too: the save the Mods page's Play uses goes to Backups with the old one, and the next game with mods starts from the save imported. On Android, the Mods page has a new Export save with mods…, which copies the save of the game with mods wherever you choose, as Export save… does for the usual save.
Improved
- Smoother room changes. With Continuous transitions, changing rooms now feels much more like walking or swimming in the open:
- Everywhere. Link no longer stops for a moment as the scroll to the next room ends, walking or swimming, crossing an edge diagonally no longer gives him a double step as the scroll starts, and at a room's corner the next scroll no longer pulls him back.
- On foot. He walks through the scroll as you hold the pad. A tap at a room's edge no longer takes him into the next room: it starts only as he crosses the line between the two. Letting go during the scroll leaves him where he is, without being pushed on; turning back walks him back, and across the line into the room he left; holding a direction across the scroll turns him and walks him that way.
- Swimming, at the surface or on Ages' sea floor. He swims through the scroll as anywhere else: the pad and his strokes speed him up and turn him, and when you let go he glides and slows down as in the middle of a room, so a tap at a room's edge no longer pushes him on into the next room; turning back swims him back.
- Corners. Where four rooms meet, a diagonal takes him straight on into the room across without slowing down, on foot or swimming, on Ages' sea floor and in Subrosia too.
- Rooms that change as they load. In Ages and Seasons, this now holds into the rooms that set a few of their own tiles as they load (a door opened, a bridge built, a vine grown), where he used to slow down across.
- Back where the game puts him. A whirlpool, a hole or deep water just past a room's edge now brings him back where the game would, not right next to it again.
- In the fan games. On foot it works in Gifts of Kinomi, Moonrise Regalia and Temple of Seasons too, swimming in Gifts of Kinomi and Temple of Seasons. Holding a diagonal into the next room no longer holds him back while that room loads and then makes him catch up: he goes on sideways through the scroll, stopped only by a wall. A few rooms still make him wait there for now: those that set some of their own tiles as they load, and in Temple of Seasons, some rooms of Holodrum whose ground changes with the season, when he comes in from a room of the same kind.
- Swimming: Hold in the fan games. Controls > Swimming: Hold now works in Gifts of Kinomi and Temple of Seasons too, as in Ages and Seasons: A held strokes the flippers as fast as tapping.
- Wide text box and Text size in the fan games. Display > Text > Text box and Text size now work in Gifts of Kinomi, Moonrise Regalia and Temple of Seasons too, as in Ages and Seasons: the wide box with its longer lines, in Classic and Compact, and the text box drawn larger where the view has room for it, which changes at once from the pause.
- Camera. In Enhanced, the camera no longer sways on stairs and settles at once when Link stops: it follows him at his own speed instead of rocking around it, and with the Smooth camera it sees at once that he has stopped. When the game puts Link back elsewhere, after a fall or a whirlpool, the camera finds him again quickly instead of drifting there, and it no longer runs ahead into a neighbouring room still being prepared. Savestates taken before keep their camera.
- Fewer black corners. In Enhanced's wider views, the rooms at the far corners of the view are prepared before a room change brings them into sight, instead of staying black for a moment after it. In Ages' sea, the rooms Link finds after a dive or on coming back up are ready sooner.
- No black room when one changes. In Enhanced, a room beside Link that changes while you play, a door that opens or a passage that clears, keeps its picture until the new one is ready instead of going black for a moment, and a room at a corner of the drawn-back view no longer blinks black again and again while Link stands nearby (seen near the Maku Tree in Ages).
- Savestates taken with other settings. Load state in the pause menu now loads a savestate taken with other Display settings, such as another core, view or text, as one made with an older version may be: the game starts again with the settings it needs, changing as few as it can among Profile, Core, Continuous transitions, Text, Text box, View, Far size and Screen margin, and they stay chosen in Display. A line over the game says what changed, such as "Display set to Fast (mGBA) and Near to load this savestate". A savestate that differs in anything else, such as its language or its mods, stays refused, your game and settings untouched. Where one is refused, the menu now says which choice of Display loads it, for its core, its continuous transitions, the profile or the view's size as already for its text: one taken in Far on a 1280x960 or 1240x1080 screen before Far took a size made for it says "choose Fixed in Display › Picture › Far size from the home screen", one taken on the other core names it in Display > Advanced > Core, and one taken before a Screen margin changed Far's size names the margin. F7 now shows over the game why a savestate is refused, and points to Load state when that would load it.
- The hotbar in the game's own look. In Medium and Far, each item hotkey's slot is drawn like the game's B and A: the key's letter, then the item between the status bar's brackets, placed as on B and A with its count or level (bombs, seeds, a sword's level); Near keeps the compact slots.
- Hotbar icons from the start. Each slot of the item hotkeys' hotbar shows its item's icon as soon as the game starts, instead of its name until the item had been on B or A once.
- Equip sound for the item hotkeys. Taking an item into a hotkey's slot, in play or from the open inventory, and equipping one with the hotkeys' equip mode, play the game's own equip sound, as the inventory does. Using an item through its hotkey stays silent.
Fixed
- The camera after a scene. In Enhanced, when the game moves Link while the world is not shown, during a scene on the game's own screen, a menu or a fade to white or black, the camera is now already on him when the world comes back, instead of gliding over to him. With the Smooth camera, the picture no longer shifts by itself as a scene starts or ends while Link stands still, and with either camera it no longer glides over to him after a white flash. When the world comes back from a fade, the camera is also already where it stays while Link stands still, instead of drifting slightly a moment later.
- Continuing by the Maku Tree. In Enhanced, continuing a game that starts again by the Maku Tree now shows the tree's screen in its place, on its own, as soon as the screen opens, instead of framing it on Link with the screens beside it and then shifting the whole picture once the game had appeared.
- A scene's walk into the next room. With Continuous transitions, when the game itself walks Link into the next room during a scene, the room now changes as the game has it, so that the scene goes on from where the game places him: early in Ages, he no longer ends up overlapping the character who comes to meet him.
- Through a room's edge. With Continuous transitions, Link no longer stops for a moment and then jumps ahead as the scroll to the next room starts, on foot with the Pixel camera as when swimming. Swimming, he is also no longer cut in half on a room's left edge just after a scroll, and no longer takes his walking pose for a moment, out of the water, when a scroll left him in the last rows at the bottom of a room.
- Stuck in a wall after a room change. With Continuous transitions, Link on foot no longer ends up inside a wall of the next room, stuck there while you hold the pad, after crossing a room's edge or corner along a wall: he now stops against it as he would walking in the open.
- Crossing a room's corner. With Continuous transitions, Link no longer vanishes for a moment where the scroll into the room across follows the first at a corner of four rooms, and with the Smooth camera he no longer slips back slightly as a scroll starts. Carried past the edge of the game's own screen at a corner, he no longer trembles back and forth before settling, nor shows cut in half or vanishes for a moment between two scrolls, and he no longer twitches near the top of a room as a scroll carries him there.
- Diagonals in dungeons. With the Smooth camera, Link no longer shakes as he walks diagonally through a dungeon's large rooms, stepping across then down in turn: he glides there as he does outdoors, in every view.
- Older savestates in a room change. A savestate made before 1.2.0 with Continuous transitions, just as a room change began, now takes Link all the way into the next room when it loads, instead of half way, cut by the screen's edge.
- Sprites behind the scenery beyond the game's screen. In Enhanced, what is drawn beyond the game's own screen, Link carried past its edge as a room changes, the people and enemies of a large room, now goes behind the parts of the scenery that hide it on the game's screen (a bridge, an arch, the top of a wall) instead of over them, and a large room no longer shows its people for a moment over the blank room as it loads.
- People who left a room. In Enhanced, in Ages and Seasons, a room seen beside the one Link is in no longer shows people who have left it since it was prepared, nor people the game brings in only when Link comes from another side: when the story changes who stands in a room, the room around shows the change the next time you see it, and shows them again if they come back later. It was seen in Ages near the start of the game.
- Things that flicker beside Link. In Enhanced, something that flickers, such as a time portal in Ages or the spray of a fountain in Seasons, now moves and flickers in a room seen beside Link as it does in his own room, instead of standing still in a pose that changed with the room he was in.
- Very large from the pause. In Medium and Far, changing Text size to or from Very large in the pause now shows the dialogue box at its new size behind the menu at once, instead of when the game resumes.
- Far with a screen margin. On a screen where Far takes a size made for it (1280x960, 1240x1080), a Screen margin no longer leaves a smaller picture than before: Far's size is now chosen for the part of the screen the margin leaves, and Far keeps its usual size where the one made for the screen no longer fits there. A margin changed in the pause changes Far's size from the next game you start.
- Throwing with the item hotkeys. When Link holds a bomb, or something he lifted with the power bracelet, pressing a hotkey again now throws it, as B does, instead of doing nothing while the bomb goes off in his hands. Any hotkey throws what he holds, in Ages and Seasons.
- Item hotkeys during a scene. In Ages and Seasons, the item hotkeys no longer act in the last moments of a scene that walks Link on its own, when the game still holds the controls.
- The hotbar in the framed view. With the item hotkeys on, the hotbar no longer appears for a moment as Link changes rooms while F3 shows the game's own screen, as in Faithful.
- Import save. The message after an import now names each file that went to Backups, the savestate included. On Android, the confirmation shows the folder the save comes from (Download, or the folder you picked it in) instead of a blank line, and with Import save… highlighted, the note under Cartridge's save speaks of the import instead of repeating Export's.
- A fan game's patch on another fan game's page. Choosing or dropping the patch of another of these fan games, in the version the launcher recognizes (Moonrise Regalia 1.0.6's on Gifts of Kinomi's page, for instance), is now refused, naming the game it is for, instead of being taken as an unrecognized patch playable in Faithful only.
- A refused patch on the home screen. A fan game whose patch is there but refused, such as another fan game's, now shows "Patch refused" on the home screen and in the list of fan games, instead of "Patch not found".
- Two notes in the launcher. The note under Controls > Item hotkeys said that loading a savestate stopped the hotkeys until the next game; it now says what happens: an exchange under way is dropped, and the hotkeys keep working. Display's description of Enhanced no longer names the smooth camera, a choice of its own in Display > Advanced > Camera: "The wide world, drawn back, with the rooms around and continuous transitions."
Notes
- Defaults. Nothing changes until you change it: Unvisited rooms stays Shown, and the item hotkeys stay off.
- Text settings now shared with the fan games. The Text box and Text size chosen in Display now apply to Gifts of Kinomi, Moonrise Regalia and Temple of Seasons too: if you chose Wide or Large for Ages or Seasons, the fan games open with it.
- Saves, settings and savestates. Installed over 1.3.0, 1.4.0 keeps your saves and
settings.txt, on Android too. Savestates made with 1.3.0 load and keep their camera; one taken with other Display settings now loads from the pause's Load state.
Android: coming from 1.1.0? Bring your saves over
If you already play 1.3.0 on Android, install 1.4.0 over it: it keeps your ROMs, saves and settings, and nothing below concerns you.
Since 1.2.0, the Android application has a new identifier, org.theoraclesproject, so Android sees it as a new application: it installs beside 1.1.0 instead of over it, and starts without your ROMs, saves and settings.
Keep 1.1.0 installed until your games load with their saves in 1.4.0: uninstalling it deletes its ROMs, saves and savestates.
To bring them over (this takes a USB cable and a computer: since Android 11, most file managers cannot open Android/data):
- Install 1.4.0 and open it once, so that Android makes its folder, then close it.
- On the computer, copy the files of
Android/data/io.github.thibautbus.theoraclesproject/files/roms(your ROMs, their saves and savestates) and ofAndroid/data/io.github.thibautbus.theoraclesproject/files/patches(the fan games' patches and their saves) into folders of the same names,romsandpatches, underAndroid/data/org.theoraclesproject/files/. - Open 1.4.0 and, in each game's Cartridge, choose the ROM again (and each fan game's patch), the same file you chose in 1.1.0: the launcher finds its copy already in its folder and plays it with its save. If you no longer have that file, first copy it over USB from the new
roms(orpatches) folder toDownload, keeping its exact name, and choose it there. Settings do not carry over: set Display and Controls again. - Once your games load with their saves in 1.4.0, you can uninstall 1.1.0.
A single save can also come over without moving the folders: copy its .sav from the 1.1.0 folder to Download, then, in the game's Cartridge, choose the ROM and use Save > Import save… on that file.
Savestates from 1.1.0 (Save state in the pause menu) load in 1.2.0 and later with the Display settings they were taken with: set Display as it was in 1.1.0 if one is refused, or continue from the game's own save, which always carries over. A 1.1.0 savestate taken in Far on a 1280x960 or 1240x1080 screen, where Far takes a size fitted to the screen since 1.2.0, loads once Display › Picture › Far size is on Fixed, which gives Far its 1.1.0 size again: choose Fixed from the home screen (the pause does not change it), then play and load it; or continue from the game's own save.