Find, Fix, & Finish is a 2-player “Micro wargame” in which players wrestle with important information as they hunt for the opposing fleets. The game aims to familiarize players with the tense back and forth as each fleet simultaneously tries to find their targets while concealing their own fleets. Each of the ISR capabilities within the game broadly represents different means to find the enemy. “Focus ISR” represents imagery intelligence such as unmanned aerial systems. “Directional ISR” represents techniques like combat directional finding. “Area ISR” represents signals intelligence that covers a large area.
Although immensely simplified, the game aims to highlight how different capabilities have comparative advantages, represented by a tradeoff between probability of success and area of coverage. The map and game are specifically designed so that no singular method is guaranteed or supreme. Each mechanic has its specific value and contextual application. Similarly, the simple combat mechanic aims to highlight key factors- such as distance and terrain - in maritime combat. In the spirit of Wayne Hugh’s Fleet Tactics, each player must strive to find the enemy first and strike decisively. If unsuccessful, the enemy fleet may surmise your own position or detect your position from our attack and respond with a counterattack of their own.
The endstate of this project is publicize a completely digitized version of Find Fix & Finish.
- Responsive UI based on screen size
- Multi-player authoratative room-based game server
- Map randomization
- Single-player reinforcement learning agent
The following instructions install npm and svelte with TLS bypass. This is necessary for hosts behind a proxy network.
Simply install all required tools by running . setup.sh or source setup.sh
Or, mannually install singular requirements:
-
First, create a new folder at the directory
~/.local/bin -
Install n, the Node.js package manager
curl -fsSL -o ~/.local/bin/n https://raw.githubusercontent.com/tj/n/master/bin/n -
Change permissions:
chmod 0755 ~/.local/bin/n -
Setup environmental variables:
export N_PREFIX="$HOME/.local"export PATH="$N_PREFIX/bin:$PATH" -
Install npm:
n install lts -
Bypass TLS certification check:
export NODE_TLS_REJECT_UNAUTHORIZED=0npm config set strict-ssl false -
Install Svelte:
npm install svelte vite @sveltejs/vite-plugin-svelte -
Install honeycomb.js:
npm i honeycomb-grid
Run npm run dev -- --host. Copy and paste the output link in the browser to visualize app.
If the target port is already in use, run npm run dev -- --host --port <port number> to specify a specific port.
The full Find Fix & Finish game can be found here on the official CNA site.