Athena Crisis (PSP)
Athena Crisis
About the project
Athena Crisis es un videojuego de estrategia en 2024.
Official project information
Athena Crisis Pocket
Athena Crisis by Nakazawa Tech, ported to the PSP.
The rules and the AI are a Rust port of the Athena Crisis source code (MIT, vendor/athena-crisis,
pinned), checked against the original action by action. The interface is a PocketJS app; the board
is drawn by the PSP's GE.
The Athena Crisis name and art are Nakazawa Tech's and are not covered by the MIT license; see
Credits. The art is fetched from art.athenacrisis.com at build time
(tools/athena-art.ts) and is not committed here.
Play it in a browser or download the PSP package at https://studio.pocket.nexus/games/athena.
Layout
| Path | What it holds |
|---|---|
crates/tactics-core | The rules and the AI in Rust (no_std), a port of Athena Crisis |
crates/tactics-game | The flow every device shares: screens, the cursor, a unit's turn, the AI's turn, what plays out on screen |
psp/ | The PSP host: the board through the GE, the interface over it |
ui/ | The interface, one PocketJS app |
rules/ | The rules' numbers as TypeScript, run by the interface's QuickJS when the game starts |
maps/ | The maps, drawn as text |
demo/ | The title's Demo: a fixed script of presses over three scenes (pocket3d-demo's format), for filming a console |
engine/ | Athena Crisis's TypeScript rules and AI behind plain data, the desktop reference |
tools/ | Bun tools (see each file's header) |
Setup and checks
git submodule update --init
bun run setup
bun tools/trace.ts && bun tools/load.ts # Athena's AI plays itself; the core is checked against it
cargo test --release
PSP
bun tools/psp.ts serve # once: usbhostfs_pc on the share
bun tools/psp.ts build # art, interface, EBOOT
bun tools/psp.ts run # start it under PSPLINK
bun tools/psp.ts install # onto the Memory Stick, ms0:/PSP/GAME/AthenaCrisisPocket
To film the console, pick Demo on the title: it plays the same match every time, with the
interface and the sound, and goes back to the title after about a minute. Any button ends it.
bun tools/psp.ts film <out.mp4> --frames 3800 --demo films it frame by frame over PSPLINK.
After a change to the rules or the maps, make the Twin Isles board again
(cargo run --release -p tactics-game --example demo_board -- isles 15 1 demo/isles-day15.json)
and run cargo test --release --test demo.
Credits
- Athena Crisis is a game by Nakazawa Tech, created by Christoph Nakazawa.
Its source code is open at nkzw-tech/athena-crisis
under the MIT license, pinned here as
vendor/athena-crisis. - The rules and the AI (
crates/tactics-core,engine/,rules/) are ported from that source: the rules, the units' numbers and the AI that plays the other side are Athena Crisis's, andbun tools/trace.tschecks the port against the original action by action. That code keeps Nakazawa Tech's copyright notice (seeLICENSE). - The name and the art are Nakazawa Tech's and are not under the MIT license. This port uses them at the author's invitation, with a formal license to follow. They are fetched from art.athenacrisis.com when the game is built and are not part of this repository. To use them in your own work, contact Nakazawa Tech at license@nakazawa.dev.
- The maps (
maps/) are this port's own designs. No campaign text or character from Athena Crisis is used. - The sound effects and the music (
crates/tactics-sound) are synthesized for this port as stand-ins for the original recordings, which are not public; each effect carries the name of the Athena Crisis sound it stands for. - PocketJS and Pocket3D (
vendor/pocketjs, by Pocket Nexus) draw the interface, start the game on the PSP and in the browser, and provide the title card, the icon and the Demo row's script player. They are under their own licenses, including the Pocket3D License forengine/pocket3d.
License
The code in this repository is MIT (LICENSE): the port's own code is © Yifeng "Evan" Wang, and
the code ported from Athena Crisis is also © Nakazawa Tech KK. The MIT license does not cover the
Athena Crisis name, art or sound.
