AstroBlast is a four-page static site served from
astroblast.andrewnorman.org. Every page is reachable from every other page.
/ Play - the game itself (default root object)
|
+-- /about.html About - what it is, dependencies, simulation model,
| scoring, privacy, hosting architecture
|
+-- /api.html Data & API - HTTP routes, response headers,
| localStorage schema, debug handle
|
+-- /sitemap.html Sitemap - this page
|
+-- /sitemap.xml Machine-readable sitemap for crawlers
+-- /robots.txt Crawler directives
| Path | Title | Purpose | Linked from |
|---|---|---|---|
| / | AstroBlast | The game. Title screen, play, pause, game over. | All pages (nav + brand) |
| /about.html | About | Project overview, dependency inventory, privacy statement, AWS hosting design. | All pages, game overlays |
| /api.html | Data & API | Route table, security headers, client storage schema. | All pages, game overlays |
| /sitemap.html | Sitemap | This structural index. | All pages, game overlays |
The game page is a single document; these are overlay states rather than routes, and they do not change the URL.
| State | Shown when | Exit |
|---|---|---|
| Title | First load | Enter / Space / click / tap |
| Playing | After launch | Death or pause |
| Dead | Ship destroyed, lives remain | Auto-respawn once the spawn zone is clear |
| Paused | P, Escape, tab blur, or the pause button | P / Escape / Resume |
| Game Over | Last life lost | Enter / Space / click / tap to restart |