{"id":17039050,"url":"https://github.com/dcnick3/shin","last_synced_at":"2025-10-15T11:45:58.474Z","repository":{"id":64381340,"uuid":"553860593","full_name":"DCNick3/shin","owner":"DCNick3","description":"A reimplementation of VN engine primarily used by 07-th expansion releases on consoles (and some other entergram games)","archived":false,"fork":false,"pushed_at":"2025-07-11T13:54:14.000Z","size":4750,"stargazers_count":51,"open_issues_count":16,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-07-11T15:52:34.652Z","etag":null,"topics":["game","nintendo-switch","reverse-engineering","rust","umineko","visual-novel-engine"],"latest_commit_sha":null,"homepage":"https://dcnick3.github.io/shin/shin/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DCNick3.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-10-18T22:20:41.000Z","updated_at":"2025-07-11T13:54:19.000Z","dependencies_parsed_at":"2024-07-14T20:05:15.916Z","dependency_job_id":"07574335-1173-46f6-ba8d-717fb6d89c39","html_url":"https://github.com/DCNick3/shin","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/DCNick3/shin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DCNick3%2Fshin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DCNick3%2Fshin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DCNick3%2Fshin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DCNick3%2Fshin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DCNick3","download_url":"https://codeload.github.com/DCNick3/shin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DCNick3%2Fshin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279076993,"owners_count":26098233,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game","nintendo-switch","reverse-engineering","rust","umineko","visual-novel-engine"],"created_at":"2024-10-14T08:58:32.187Z","updated_at":"2025-10-15T11:45:58.439Z","avatar_url":"https://github.com/DCNick3.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is an attempt at an unofficial re-implementation of game engine used by\nsome [visual novels](https://en.wikipedia.org/wiki/Visual_novel) released by [Entergram](http://www.entergram.co.jp/) on\nNintendo Switch, PS4 and PS Vita.\n\nCurrently known games using the engine on Switch and PS Vita are listed\nin [this spreadsheet](https://docs.google.com/spreadsheets/d/1wGX9FOQq_iXcWMnY9qITCAV7hq1R7_gpWwjkT4_tKDI/edit?usp=sharing).\nPS4 was not researched yet.\n\nIf you know more - let me know! (`dcnick3` on Discord)\n\n## Status\n\nThe initial implementation is focused on running switch version of Umineko no Naku Koro ni Saku \\~Nekobako to Musou no\nKoukyoukyoku\\~ (title id `01006A300BA2C000`), with the intention to support other games in the future.\n\nAs of writing, most of the basic game functionality works:\n\n- Character sprites\n- Backgrounds\n- BGM \u0026 SFX\n- Text\n\nHowever, there are still a lot of missing advanced features. It's not fully playable yet.\n\nThe intent is to follow the engine as closely as possible, so that it can be used to run the original games.\n\n![screenshot.png](screenshot.png)\n\n## Try it\n\nYou can try out the engine by downloading a pre-built binary from\nthe [releases](https://github.com/dcnick3/shin/releases) page.\n\nSelect the latest release, and download the `shin` archive for your platform and extract it somewhere.\n\nThen you would need to have romfs of Umineko no Naku Koro ni Saku \\~Nekobako to Musou no Koukyoukyoku\\~ game (title id\n`01006A300BA2C000`).\n\nIt can be dumped from the switch using [nxdumptool](https://github.com/DarkMatterCore/nxdumptool).\n\nYou can use [hactoonet](https://github.com/Thealexbarney/LibHac) to dump the romfs from the game:\n\n```bash\nhactoolnet -t pfs0 \"Umineko no Naku Koro ni Saku ~Nekobako to Musou no Koukyoukyoku~ [01006A300BA2C000].nsp\" --romfs=assets\n```\n\nIn the `assets` directory you should find a `data.rom` file. It's sha256sum should be\n`6d90eb0bacacf769a7e4634407622b047acd711c47debb28136d7bab3fd0e591`.\n\nYou can put then put the `assets` directory next to the executable or another location\ndocumented [here](https://dcnick3.github.io/shin/shin/asset/locate/fn.locate_assets.html)\n\nThen you try running the game.\n\nControls are:\n\n- Mouse click, space, enter - advance text\n- Ctrl - fast-forward text\n- Escape, Q - quit\n- F3 - show overlay menu\n- F10 - resize to 1080p\n- F11 - toggle fullscreen\n\nIf you encounter any problems, please open an [issue on GitHub](https://github.com/DCNick3/shin/issues).\n\n## Docs\n\nWhile there is no comprehensive documentation of the engine, as I reverse engineer it, I try to document the findings\nmainly\nin [this spreadsheet](https://docs.google.com/spreadsheets/d/1BGGZ1Wjnx5FXgjDjhKgwhRxSAY_HYX_6U0q679IVUi8/edit?usp=share_link)\n\nThe autogenerated docs can be found [here](https://dcnick3.github.io/shin/shin/).\n\n## What else is in the box\n\nAside from the game engine, this repo also includes `shin-core` - a library for working with the game data.\n\nThere is also `sdu` - a CLI interface for the `shin-core` library. It can be used to extract game data, and to convert\nit to other more conventional formats.\n\nYou can download it from the [releases](https://github.com/dcnick3/shin/releases) page.\n\nFor now, we have support for extracting the following data:\n\n- `.rom` - Game data archive\n- `.bup` - Character sprites\n- `.pic` - Backgrounds \u0026 CGs\n- `.nxa` - Game audio\n- `.snr` - Limited support for game scenario (no decompilation, only tracing the execution)\n- `.fnt` - Font data\n- `.txa` - Texture archives (used mostly for UI)\n\nSupport for other formats used is planned.\n\nIf you encounter any errors/problems when using the CLI - please open\nan [issue on GitHub](https://github.com/DCNick3/shin/issues).\n\n## Building from source\n\nTo build from source you would need to have [Rust](https://www.rust-lang.org/) installed.\n\nThen you can build the engine with:\n\n```bash\ncargo build --release -p shin\n```\n\nAnd run it with:\n\n```bash\ncargo run --release -p shin\n```\n\n## Disclaimer\n\nThis project is not affiliated with Entergram or 07th Expansion. It is an unofficial fan project.\n\nIt does not contain copyrighted game data, so you can't play the game if you didn't buy it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcnick3%2Fshin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdcnick3%2Fshin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcnick3%2Fshin/lists"}