Skip to content
diegoamiPublic

About

An original island-conquest game inspired by Isle Wars Pro, in TypeScript

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

malpaco

An original turn-based island-conquest game, inspired by Soleau Software's Isle Wars Pro, built in TypeScript: a pure rules core, an SVG map, and a DOM and CSS UI. Its design comes from the reviewed findings of isle-wars-archaeology. It restarts from the TypeScript spike of malpaco-godot-poc, the archived Godot proof of concept.

How work is done here: CLAUDE.md and docs/process.md. Tasks: docs/tasks/. Task status lives in GitHub issue labels.

Play Malpaco (web)

Play on GitHub Pages · Netlify, or download the latest published playable archive. The illustrated player manual explains every phase, cards, events, controls and settings. Open Full player manual with screenshots in Help during play, or run npm run manual:refresh for a portable copy. The maintenance guide keeps it and inline Help current; 0.5.5 release notes, publication receipt and provenance describe that published release.

0.5.5 was published from reviewed source 009e827, after independent MiniMax-M3 thinking AGREE and explicit owner approval. It adds Windows x64 installer and portable downloads, repository/Releases links in Help and the manual, and a fully reachable Help close control in fullscreen. Milestone #465 retains the review, byte verification and publication receipts; Windows instructions explain WebView2, unsigned delivery and per-user saves.

Release contracts and the acceptance protocol define its boundaries. Previous 0.5.4 publication records and all older tags/assets remain preserved.

The launcher adapts to portrait/landscape windows and offers Start or Resume. Button labels support Text, Icons, or Text 2 turns, then Icons (default), counting your personal turns. Choose Slow/Normal/Fast/Very fast computer turns; both display preferences apply immediately and persist on this browser. Widget −/+ and Hide/Show controls preserve map zoom and keep Resume reachable. Ambiguous taps select the region with the most area under the contact and zoom in slightly. Choose 1–3 Normal opponents, starting-army range, events and map size for the next game; retained games keep their original rules and replay identity.

Place armies, then use ATTACK beside a selected country. Capture and friendly-move panels have Min/Max, +/− and manual entry; only Confirm moves troops. The colour tracker shows turn order and phase guidance while executed computer actions play at a readable pace. Cards use army amounts/effects; draw notices close after three unpaused seconds, while input choices still require an explicit decision.

New game asks before giving up; Settings holds the scoreboard, and ? opens Help. Games and scores stay in this browser. The archive runs offline with Node 22+. This release publishes the web game; Android production persistence and delivery remain separate work. There is no account or cross-device synchronization.

For development, run npm ci and npm run dev. ?seed=1994 fixes geography, deal and dice and keeps its own game. ?setup opens the development setup and file controls; ?view=reference-game opens the fixed Nine Isles board. Legacy generated views are available in the source development build and retired in the published archive.

Development watching

npm run dev uses the committed Vite configuration to exclude this checkout’s .cache directory, which can otherwise consume large numbers of filesystem watches. The exclusion is anchored to this checkout, so source, data, public assets and tests still update when the checkout itself lives under another .cache directory. Vitest watch mode retains test reruns.

Shareable build

Run npm run package:playable to rebuild and package the game as release/malpaco-playable.tar.gz. The play instructions explain how to run the extracted build without the source checkout or npm dependencies.

GitHub Pages

The Pages workflow builds the production game with VITE_MALPACO_RELEASE=1 and --base=/malpaco/, then publishes only dist/. In Settings → Pages, choose GitHub Actions. Pushes to main deploy automatically; manual runs are supported. This is a separate web mirror, with browser-local saves and preferences separate from Netlify. Existing release tags, archives and the Netlify publication are unchanged. Help opens the illustrated guide inside the hosting path, and the guide’s Play link returns to the same game.

About

An original island-conquest game inspired by Isle Wars Pro, in TypeScript

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages