Skip to content

Releases: nathanialf/ico-pc

v0.4.1

Choose a tag to compare

@nathanialf nathanialf released this 08 Oct 04:18

New

  • Android (experimental): play on a 64-bit phone or tablet with Android 10 or later, with on-screen touch controls or a gamepad; the first start asks for your disc image in the phone's file picker. Phones whose graphics lack a feature the game used to need get a slower drawing path, so more phones can run it (not yet tested on such a phone). Known for now: it runs slower than a PC, the opening movie can glitch, folding phones may not get the full screen, and the touch layout is a first draft.
  • Options > Effects: Glow, Depth of field, Screen softening, Motion blur and Fog can each be turned off (issue 11).
  • Photo mode: a free camera you fly with the sticks, L3 switches to the orbit camera, R3 changes the speed, and zooming is finer. Square hides the help panel, and the game remembers it.
  • Model viewer: L2 and R2 zoom, and the left stick moves the model around the screen.
  • Model packs: replacement 3D models go in a models folder, and Options > Display > Model pack turns them on or off. With Developer mode, pack makers can save the game's models to edit.
  • ReShade and vkBasalt can be used: the game now gives them a depth buffer and waits for them to prepare their effects (checked by reading the code, not yet with ReShade installed).
  • The download comes with textures, models and reshade folders, each with a note inside saying what goes there.
  • The first start after this update is slower because the game rebuilds its drawing programs. Movies are shown without the effects depth.
  • The guides are now short pages on separate topics, and they come with the download.

Fixed

  • The final fight: Ico's sword hits the Queen's shield again (issue 12).
  • Model viewer: the Queen's face no longer darkens in waves. The game holds the shadow on her face still in every scene that shows her; the viewer let it keep moving.
  • Surfaces that sit very close together are drawn in the right order (the game's depth was kept too coarsely before).
  • Android: quitting the game saves your achievements, your saves and settings are part of the phone's backup, and stopping the first start with Back leaves nothing behind.

v0.4.0

Choose a tag to compare

@nathanialf nathanialf released this 07 Oct 19:03

New

  • PCSX2 texture packs work as they are: copy the pack's SCES-50760 folder into a textures folder beside the program or in your user folder. Options > Display > Texture pack turns an installed pack on or off.
  • .chd disc images work for the first run, as well as .iso.
  • 21:9 and 32:9 aspect ratios, and Auto now follows ultrawide windows.
  • The New Game screen holds both Mirror mode and a New Game+ row: choose the second journey even before finishing the game, or the first journey after finishing it.
  • The pause menu shows your journey's numbers: play time, deaths, Yorda captured, saves, enemies defeated and more.
  • Portable mode: keep saves, settings and the game's data in a userdata folder next to the program.
  • A Dump textures switch for texture pack makers, under Developer mode.

Fixed

  • The title screen's movie no longer stops the game after a minute.
  • Railings and other see-through lattices no longer show black where they should be see-through.
  • Error messages say what to do instead of giving internal details.
  • The "Once More" achievement now says it is earned by finishing a New Game+ journey.

Special thanks to Sad Origami for the ICO PAL HD texture pack, and for the support and blessing to test the port with it.

v0.3.1: Display options that apply on their own, and the Steam Deck

Choose a tag to compare

@nathanialf nathanialf released this 07 Oct 02:36

A small release shaped by playing v0.3.0 on a Steam Deck. As before, you play from your own PAL disc image. Windows and Linux builds are below.

Fixed

  • Options > Display: every setting now takes effect on its own. Resolution, Aspect ratio, Texture filtering and Full-height picture no longer wait for the Enhanced preset.
  • Fullscreen shows what the window really is, and your choice is kept even when the desktop is slow to switch.
  • Vertical sync off now really turns it off, where your desktop allows it.

Improved

  • Preset is a shortcut: Original puts the four settings above back to the PS2 picture, Enhanced sets them up for your screen, and the row reads Custom once you change one of them.
  • A note under Resolution says it stays at 1x while the CRT filter is on.
  • logs/ico-pc.log now records your Display settings and every change to them. Send it with a problem report.

Known limits

  • As in v0.3.0: the Direct3D 12 renderer is untested on real hardware, stick and Start/Select prompts are text, .max and .cbs saves are not imported, and the Queen's barrier is drawn at 4:3 in a widescreen picture.
  • On the Steam Deck in Game Mode the game is always shown full screen, whatever the Fullscreen setting says.

v0.3.0: One Options menu, a better CRT filter, clean cutscenes and a Linux build

Choose a tag to compare

@nathanialf nathanialf released this 06 Oct 22:48

The third playable release of the ICO PC port, shaped by playtesting v0.2.0. The CRT filter looks better and now covers the films. Cutscenes cut cleanly, the game boots straight in, and everything you can change lives in one Options menu. It is now available for Linux as well as Windows. As before, you play from your own PAL disc image.

New

One Options menu, everywhere

  • What used to be the Settings menu is now Options. It is reached from the title screen and from the pause menu, and it reads "Options" in the game's own lettering.
  • Everything from the PS2's Options screen has moved in:
    • Brightness is under Display. Square puts it back to the default.
    • Button configuration, Vibration and Hold type are under Controls.
    • Film effect and Players are under Gameplay, once you've finished the game.

Photo mode, one press away

  • Photo mode now has its own line in the pause menu, right under Options.

Linux release

  • A Linux build is now published alongside the Windows one.

Improved

  • CRT filter: bright scenes and white skies no longer wash out. Colours keep their tone and the screen pattern stays visible in highlights.
  • Films: the attract film and every in-game film now go through the CRT filter, so they match the rest of the game.
  • Starting the game:
    • The game boots straight to the opening logo in your language at 60 Hz, with no setup screens and no flashing.
    • You can still choose 50 Hz in Options > Display from the title screen.
  • Title screen:
    • The ICO logo is crisper, with no ghosting on the "I" or the "O".
    • The logo steps aside while you're in Options or Extras.
  • Model viewer:
    • Turn the model with the right stick and zoom with the left.
    • The Magic sword is now listed as "Magic sword (Queen's sword)".

Fixed

  • A one-frame black flash when the game cut into or out of a cutscene, most noticeably at the bridge collapse.
  • Wrapping around a list in Extras or Options skipped the first or last entry.
  • Leaving Button configuration could leave the menu cursor on a hidden line later on.

Known limits

  • Not yet tested on real hardware in this release: the Direct3D 12 renderer, the Steam Deck, and how the CRT filter looks on a real display. Reports welcome.
  • The disc has no pictures of the analog sticks, Start or Select, so those prompts are shown as text.
  • .max and .cbs save archives are recognised but not imported.
  • The Queen's barrier is still drawn at 4:3 inside a widescreen picture.

v0.2.0: Extras, CRT filter, photo mode, audio options, accuracy fixes

Choose a tag to compare

@nathanialf nathanialf released this 06 Oct 19:12

The second playable release of the ICO PC port. It adds an Extras menu with a music player, a model viewer and the credits, a CRT filter with several screen types, a photo mode, audio options, save importing, and a long list of accuracy fixes. Everything runs from your own PAL disc image as before: no disc data ships in the package.

New

Extras menu (Settings > Extras, from the title screen)

  • Music: listen to every piece of music and sound on the disc, grouped as soundtrack, scene sounds, ambiences, voice and sound effects. Each piece plays once from start to end through the game's own sound engine, with a progress bar, elapsed and total time, and the controls shown with the game's own button icons: L1/R1 previous and next, Cross play/pause, Square stop, Left/Right jump between groups, Triangle back.
  • Models: look at Ico, Yorda, the Queen, every kind of shadow, the bird, the guard and a set of objects (the cage, bombs, levers, the swords, the stone couch and more) on a plain background. Turn and zoom with the sticks, pick any animation the character has, play it once or loop it, and see its name and frame.
  • Credits: watch the ending's staff-roll scenes with their music. It unlocks once you have finished the game. The staff roll now ends with a "Decompilation and PC Port" section.

CRT filter (Settings > Display)

  • Five looks: Scanlines, Consumer TV, Trinitron, PVM and Shadow mask. Each PS2 pixel is drawn as its own red, green and blue phosphor triad in the pattern of that screen type, with scanlines, glow, bloom, curvature and a vignette tuned per look. The game runs at its original resolution while the filter is on, and the menus go through the filter too. A strength setting fades the whole effect.

Photo mode (pause menu > Options > Photo mode)

  • Freeze the game and move the camera freely: orbit, dolly, roll and zoom on the sticks, hide the HUD with Square, save a picture with Cross. Pictures are saved at your output resolution, with the CRT filter if it is on and without the help text. Reset with Select, leave with Triangle.

Audio (Settings > Audio)

  • Separate music and effects volumes, a stereo/mono choice that uses the game's own output mode, and a pick of output device. At the default volumes the sound is exactly what it was.

Saves

  • Import memory-card images (PCSX2 .ps2, raw .bin) and uLaunchELF .psu archives with the bundled mc_import tool; the ICO save is copied into your saves folder.
  • A second memory card in port 1 if you set [paths] saves2 in the settings file.

Text and menus

  • The game's own menus, subtitles, prompts and credits keep their original lettering exactly as the disc draws them.
  • Text the port adds (Settings, Extras, hints, popups) is now set in the game's own menu lettering, cut from the disc's fonts on first run, so the whole game reads as one typeface; it is drawn at your output resolution.
  • Controller names on the remap screen are translated and use the game's words (L1, R1, Select, Start); "Uncapped" and "fps" are translated.
  • Changing the video mode (50/60 Hz) is only offered from the title screen, since it changes timing mid-game.

Other

  • The settings file is written on the first run with every option at its default, so you can edit it by hand.
  • Reflections in puddles and pools are rendered at your display aspect, so 16:9 no longer shows stretched edges at the sides.
  • Achievements: watching the whole opening now counts every part of it, and a fresh-run challenge survives quitting and continuing from a save.
  • Starts are faster after the first one: compiled shaders are kept between runs.

Fixed

  • Music player: nearly every piece used to stop a fraction of a second early; the battle theme would not play at all; one unused stream on the disc is blank after 12 seconds and is now shown with its real length.
  • Menu text: the highlighted row's glow no longer draws a sharp ghost copy of the letters; an accented character in one Settings note was being cut in half.
  • Subtitles, menu words and the staff roll always use their original pictures; the Enhanced preset no longer re-draws them.
  • Opening the Music or Models pages after a long session could corrupt the menu tables; fixed.
  • Photo captures with the CRT filter on no longer include the help text.
  • Movies: the 60 Hz and 576-line attract films play correctly; a film that changes size mid-stream is handled.
  • Choosing a development stage number in the settings no longer crashes; it boots normally instead.
  • Credits and the model viewer recover cleanly if the stage they need fails to load.
  • Various startup, config and save-path robustness fixes (long paths, read-only folders, interrupted writes).

Accuracy

Changes that bring the port closer to the PS2, each recorded in docs/port/DIVERGENCES.md:

  • Double-precision maths now matches the PS2's software float exactly (checked against the original library over 64 million cases), which affects frame-count scaling, camera and chain physics.
  • Sound: the reverb and mixer start-up values are read from your disc's own sound driver; a few mixer details were off.
  • Picture: edge anti-aliasing on lightning and ripples, correct alpha on 16- and 24-bit textures at their edges, exact motion-blur and shadow-blur maths, the dark-volume effect's mask extent, perspective-correct lightning textures, and mirror mode that is now pixel-symmetric.
  • Smoother interpolation: objects that appear or vanish between ticks fade instead of popping, particles no longer snap, and lighting no longer dims mid-turn.
  • Two places where the original game read uninitialised memory now behave as the PS2 did.

Performance

  • Far fewer GPU state changes per frame (one uniform set per layout, barriers only where needed, merged 2D draws). On the CPU renderer used for testing the per-frame bind cost fell from 7.9 ms to 0.4 ms.

Known limits

  • Not yet tested on real hardware in this release: the Direct3D 12 backend, the Steam Deck package, audio device switching, and how the CRT looks on a real display. Reports welcome.
  • .max and .cbs save archives are recognised but not imported.
  • The Queen's barrier is still rendered at 4:3 inside a 16:9 frame.

Full details are in the documents under docs/port/; the remaining work list is docs/TODO.md.

v0.1.0: first playable release

Choose a tag to compare

@nathanialf nathanialf released this 06 Oct 00:17

A native PC port of ICO (PAL, SCES-50760) for Windows and Linux, built from the decompilation (nathanialf/ico v1.1.0). It ships no game data: on the first run it asks for your own PAL disc image, verifies it and extracts it once.

What it does: the game runs at its original fixed tick with a native Vulkan or Direct3D 12 renderer, software SPU2 audio, controller, keyboard and mouse with remapping, saves in a PCSX2 folder-card layout, the films, and a Settings menu. The Original preset reproduces the PS2 picture at 4:3; the Enhanced preset adds resolution up to 4K, 16:9, filtering, full height, an uncapped framerate with interpolated rendering, mirror mode at a new game, and the boot screens skipped. Gameplay options (off by default): the stick fix and shadows that never take Yorda. Thirty built-in achievements with popups, and a developer mode that restores the debug menu. Divergences from the PS2 are recorded in docs/port/DIVERGENCES.md; what is not done is in docs/TODO.md.

Packages: ico-pc-v0.1.0-win.zip (Windows x64: ico_pc_x64.exe, SDL3.dll, ico-pc.ini, the map, the renderer tools) and ico-pc-v0.1.0-linux.tar.gz (Linux x86-64, Steam Deck). Double-click the exe; logs go to logs\ beside it. Test builds write a per-tick trace (trace=1 in ico-pc.ini) so a session can be replayed from its input recording.