Skip to main content

Edits and updates Islands of Insight save game files to make your offline experience more fun.

Project description

Islands of Insight Helper

Read an Unreal Engine .sav (GVAS) and serialize to a JSON output file. Prints out some game statistics even if no modifications are requested.

How To

pip install ioihelper

# installs jsonpath_ng, pygvas and pydantic as requirements
# Close the game, use this utility as described below, then restart.
> ioihelper -h
usage: ioihelper [-h] 
        [--backup_old_and_use_new] 
        [--input_file INPUT_FILE] 
        [--hints_file HINTS_FILE] 
        [--set_sparks_balance SET_SPARKS_BALANCE]
        [--show_completed_visuals SHOW_COMPLETED_VISUALS] 
        [--save_json] 
        [--complete_all_dailies]

Modify an Islands of Insight .sav file (OfflineSavegame.sav) as requested. Will 
prints out some gameplay statistics if no modifications are requested.

options:
  -h, --help            
        Show this help message and exit
  --backup_old_and_use_new
        Without this flag your edits will not go into effect. This backs up the 
        original file by giving it a timestamp and renames the modified file so 
        it will be loaded by Islands of Insight.
  --input_file INPUT_FILE
        Path to the Islands of Insight save file. If not present, looks for 
        your save file installation.
  --hints_file HINTS_FILE
        Path to optional deserialization hints (JSON) file. AFAIK, Islands 
        doesn't need one. See the pygvas documentation for more information.
  --set_sparks_balance SET_SPARKS_BALANCE
        Sets the Sparks (currency) in your account for purchasing cosmetics. 
        The ones you don't get through mainline and zone progression.
  --show_completed_visuals SHOW_COMPLETED_VISUALS
        Permanently enable/disable visuals cues for puzzle completion.
        Persists beyond the current play session.
  --save_json
        Save JSON save game files for both before and after modifications. 
        These will land next to the indicated save game source file.
  --complete_all_dailies
        Mark ALL dailies completed. This will grant all the progression 
        cosmetics, but the game will be less fun to play. It does NOT affect
        the meta puzzles or enclaves.

Dependencies

Caveats

  • If your game save file is not in the standard location then you'll have to find it and add its path to the command line.
  • This utility tries very hard to not bork your file, but back it up anyhow. Because things happen(tm).

Background

When the awsome puzzle game Islands of Insight went offline, the team converted the game for offline play. That conversion required storing game progress locally. The team likely also wanted to improve re-playability, so they changed some things to focus on that experience.

One change I didn't prefer was that completed puzzles were no longer persistently visually marked for completion. Restarting the game would reset those visual markers, making it difficult to remember which puzzles would count toward zone-by-zone or puzzle-type progress. You can still earn Sparks, but progression didn't increment when re-completing the same puzzle.

I decided to take matters into my own hands and figured out how to do the edits described in the command line directions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ioihelper-0.6.0.tar.gz (55.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ioihelper-0.6.0-py3-none-any.whl (97.7 kB view details)

Uploaded Python 3

File details

Details for the file ioihelper-0.6.0.tar.gz.

File metadata

  • Download URL: ioihelper-0.6.0.tar.gz
  • Upload date:
  • Size: 55.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for ioihelper-0.6.0.tar.gz
Algorithm Hash digest
SHA256 c715c93f8f3960f1411aa51e6cce7ae3bad6cde16b370c29b386509a213500fd
MD5 ee4419ed152fe776cb18cf6a6bfd78f9
BLAKE2b-256 8a203c1b7ef15a30d294b4215caa64eb7022a307e1249003d21fb615a8d5fac9

See more details on using hashes here.

File details

Details for the file ioihelper-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: ioihelper-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 97.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for ioihelper-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c3a5ac6e36e87569c5edb0dd0297918744518821a09a746c0a5b4aa37f5692d7
MD5 3774e98a125d3389aff882a190d38398
BLAKE2b-256 57c0a4e6038fad7ce362f49a8cbed3bad99759c5b0a58b04cc6739c28ac0c361

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page