/spirit-island-randomiser

A setup randomisation utility for Spirit Island.

Primary LanguageC#MIT LicenseMIT

Live site hosted on GitHub Pages If you use this and want to show your support, feel free to buy me a pizza

About

This is a small web app written using c# and Blazor. It allows you to easily generate random set-ups for the board game Spirit Island within specific parameters.

The design was heavily inspired by the excellent Spirit Islander.

The purpose of this app is to experiment with Blazor in a 'real world' scenario and implement features that are missing from Spirit Islander, such as aspects and supporting adversaries.

Todo

  • Refactor to use 'IsValid' logic on GameSetup for thematic map as well. This will remove a lot of code and remove need to try and calculate number of board combinations.
  • Add support for custom adversaries.
  • Move tooltip text to a more suitable location (code-wise).
  • Add tests and ensure invalid edge cases are handled correctly (e.g. 'no adversary' is not selected, but secondary adversary is 'blocked')
  • Bug - Select all expansions. Select lightning - all aspects are selected. Deselect 'Base'. Deselect 'Promo 2' and 'Jagged Earth' then reselect them. Lightning is still selected, but none of it's aspects are.
  • https://github.com/SteveBallantine/spirit-island-randomiser/issues

Developing

To run locally, navigate to BlazorApp directory and execute

dotnet run

Then, open browser to indicated url (default is http://localhost:5000)