This is a Shogi GUI app. You can play Shogi with AI and manage records.
You can use this app with any Shogi engine (AI) based on the USI Protocol, just like 将棋所.
Excellent shogi software such as 将棋所 and ShogiGUI already exist. However, the source code of most of these programs are not public. Authoritative Shogi AI developers have advocated the importance of source code sharing. ShogiHome publishes its source code fully. You can use or modify it under only a few restrictions.
ShogiHome is developed using Electron which is a web-based GUI framework. We make use of modern web technologies since we want this project to see widespread usage in the future. You can even run this on your web browser although only a portion of features are supported. As an Electron-based app, this is bundled with Chromium, so it is easy to guarantee the same operability and quality across different OSs.
These days, 2-in-1 laptops are becoming popular. It is now possible to play shogi on PCs with a touch screen. However, legacy desktop Shogi apps have very small UI components. These are not good for compatibility with a touch display. We designed this app to have operability for touch devices.
https://sunfish-shogi.github.io/shogihome/
You can try the web version from the website.
https://github.com/sunfish-shogi/shogihome/wiki
You can download any version from Releases.
If you have a GitHub account, please create an Issue or a Pull Request. If you want to make large changes, please create an Issue before development.
If not, please send messages through the Web Form.
You can see the development progress at Project Board.
- Node.js
git clone https://github.com/sunfish-shogi/shogihome.git
cd shogihome
npm install
# Electron App
npm run electron:serve
# Web App
npm run serve
# Electron App (Installer)
npm run electron:build
# Electron App (Portable)
npm run electron:portable
# Web App
npm run build
# test only
npm test
# coverage report
npm run coverage
npm run lint
- usi-csa-bridge - Communication bridge for USI and CSA protocol.
This app uses Material Icons saved in /public/icon. These assets are provided under Apache License 2.0.
See THIRD PARTY LICENSES for libraries used from renderer process.
electron-builder bundles license files of Electron and Chromium into artifacts.