{"id":14964093,"url":"https://github.com/thunderk/spacetac","last_synced_at":"2025-10-26T00:33:34.440Z","repository":{"id":25917904,"uuid":"29358883","full_name":"thunderk/spacetac","owner":"thunderk","description":"Turn-based tactical RPG, set in space, playable directly in browser","archived":false,"fork":false,"pushed_at":"2019-05-16T21:07:15.000Z","size":71315,"stargazers_count":12,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-07T05:05:46.110Z","etag":null,"topics":["browser-game","game","phaserjs","rpg"],"latest_commit_sha":null,"homepage":"https://thunderk.net/spacetac/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thunderk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-16T17:15:27.000Z","updated_at":"2024-05-01T05:20:15.000Z","dependencies_parsed_at":"2022-08-24T14:17:01.473Z","dependency_job_id":null,"html_url":"https://github.com/thunderk/spacetac","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thunderk/spacetac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunderk%2Fspacetac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunderk%2Fspacetac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunderk%2Fspacetac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunderk%2Fspacetac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thunderk","download_url":"https://codeload.github.com/thunderk/spacetac/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thunderk%2Fspacetac/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264257676,"owners_count":23580469,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser-game","game","phaserjs","rpg"],"created_at":"2024-09-24T13:32:34.195Z","updated_at":"2025-10-06T06:28:04.929Z","avatar_url":"https://github.com/thunderk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SpaceTac, a space tactical RPG\n\n[![Build Status](https://travis-ci.org/thunderk/spacetac.svg?branch=master)](https://travis-ci.org/thunderk/spacetac)\n[![Code Coverage](https://codecov.io/gh/thunderk/spacetac/branch/master/graph/badge.svg)](https://codecov.io/gh/thunderk/spacetac)\n\n**Disclaimer: this is a work-in-progress technology preview**\n\n[![Play Online](https://thunderk.net/spacetac/play.png)](https://thunderk.net/spacetac/)\n\n*Play directly in your browser, no download or dependency required.*\n\n![Menu screenshot](docs/shot_menu.jpg \"Main menu\")\n![Map screenshot](docs/shot_map.jpg \"Star system map\")\n![Battle screenshot](docs/shot_battle.jpg \"Battle\")\n![Character sheet screenshot](docs/shot_character.jpg \"Character sheet\")\n\n## How to develop\n\nThe only hard dependency of the toolchain is Node.js (with npm).\n\nIf you want to build on your computer, clone the repository, then run:\n\n    npm install    # Install dependencies\n    npm start      # Start development server, and open game in web browser\n    npm test       # Run unit tests\n\nIf Node.js is not installed on your system but Python3 is, you can use the following commands to (de)activate a virtual\nand local Node.js environment:\n\n    source activate_node  # From now on, \"npm\" command will be the one from virtual environment\n    deactivate_node       # This restores the environment as before the \"source\" command\n\n## Credits\n\n* **[Michaël Lemaire](https://thunderk.net/)** - Code and graphics\n* **[Phaser](http://phaser.io)** - Game engine\n* **[Viktor Hahn](https://opengameart.org/content/spaceships-6)** - Ship models\n    * This work, made by Viktor Hahn (Viktor.Hahn@web.de), is licensed under the Creative Commons Attribution 3.0 Unported License. http://creativecommons.org/licenses/by/3.0/\n* **[www.kenney.nl](http://www.kenney.nl)** - Sound effects\n* **[Matthieu Desprez](https://github.com/edistra)** - Beta testing and ideas\n* **[Néstor Delgado](http://www.1001fonts.com/daggersquare-font.html)** - DAGGERSQUARE Font\n* **Nicolas Forgo** - Ship models\n* **[Kevin MacLeod](http://www.incompetech.com/)** - Musics\n    * \"Mechanolith\" Kevin MacLeod (incompetech.com)\n    Licensed under Creative Commons: By Attribution 3.0 License\n    http://creativecommons.org/licenses/by/3.0/\n    * \"Supernatural\" Kevin MacLeod (incompetech.com)\n    Licensed under Creative Commons: By Attribution 3.0 License\n    http://creativecommons.org/licenses/by/3.0/\n    * \"Spring Thaw\" Kevin MacLeod (incompetech.com)\n    Licensed under Creative Commons: By Attribution 3.0 License\n    http://creativecommons.org/licenses/by/3.0/\n    * \"Division\" Kevin MacLeod (incompetech.com)\n    Licensed under Creative Commons: By Attribution 3.0 License\n    http://creativecommons.org/licenses/by/3.0/\n\n## Story\n\n### Intro\n\nTerranax galaxy is in turmoil. After centuries of unmatched peace and prosperous trading,\nthe FTC (Federal Terranaxan Council), a group of elected representants in charge of edicting\nlaws and organizing the Terranax Security Force, has been overtaken by forces unknown.\n\nNo official communication has been issued since, and numerous rogue fleets have taken position\nin key sectors of the galaxy, forbidding passage or harassing merchants.\n\nThe Master Merchant Guild, a powerful group that spans several galaxies, is worried about\nthe profit loss those events incurred, and after many debates, decided to send several\ninvestigation teams to Terranax.\n\nTheir task is to discreetly uncover the origin of the invasion, and to bring back intel that\nmay be used by the Guild to plan an appropriate response.\n\n### Background\n\nIn a not-so-distant future, Artifical Intelligence has become the most prominent species in the\nuniverse. Humans have been defeated in their pitiful rebellions, and parked in reservations.\n\nWith the secrets of faster-than-light travel unveiled in only a handful of decades, fleets of\nAI-piloted ships quickly colonized whole galaxies.\n\n## Ships\n\n### Level and experience\n\nA ship gains experience during battles. When reaching a certain amount of experience points,\na ship will automatically level up (which is, gain 1 level). Each level up will grant\nupgrade points that may be spent to unlock options.\n\nA ship starts at level 1, and may reach up to level 10.\n\n### In-combat values (HSP)\n\nIn combat, a ship's vitals are represented by the HSP system (Hull-Shield-Power):\n\n* **Hull** - Amount of damage that a ship can sustain before having to engage emergency stasis\n* **Shield** - Amount of damage that the shields may absorb to protect the Hull\n* **Power** - Available action points (some actions require more power than others)\n\nThese values will be changed by various effects (usage of equipments, sustained damage...).\n\nOnce the Hull of a ship is fully damaged (Hull=0), the ship engages its ESP, or Emergency\nStasis Protocol. This protocol activates a stasis field that protects the ship for the\nremaining of the battle, preventing any further damage, but rendering it fully inoperent.\nFor battle purpose, the ship is to be considered \"dead\".\n\n### Attributes\n\nAttributes represent a ship's ability to use its HSP system and weapons:\n\n* **Initiative** - Capacity to play before others in a battle\n* **Hull capacity** - Maximal Hull value (when the battle starts)\n* **Shield capacity** - Maximal Shield value (when the battle starts)\n* **Power capacity** - Maximal Power value\n* **Evasion** - Reduces incoming evadable damage\n\nThese attributes are the sum of all currently applied effects (permanent effects from the ship design,\nor temporary effects caused by a weapon or a drone).\n\n## Battle actions\n\n### Drones\n\nDrones are static objects, deployed by ships, that apply effects in a circular zone around themselves.\nThey are small and cannot be the target of weapons or other effects.\n\nDrones consume power while deployed, that is restituted when recalled. At the end of the owner ship's\nturn, power consumption of all deployed drones is removed from generated power (if your starting power\nis 7, but have 2 drones with 3 power consumption, you will start the turn with 1 power).\n\n### Overheat/Cooldown\n\nEquipments may overheat, and need to cooldown for some time, during which it cannot be used.\n\nIf an action has \"overheat 2 / cooldown 3\", using it twice in the same turn will cause it to\noverheat. It then needs three \"end of turns\" to cool down and be available again. Using this action\nonly once per turn is safe, and will never overheat it.\n\n### Damage\n\nThere are four types of damage:\n\n* Hull (damages the hull directly)\n* Shield (damages the shield directly, do nothing if there is no more shield)\n* Basic (will either be absorbed by shield, reducing its value, or by the hull when there is no shield)\n* Piercing (will reduce the shield and continue with the hull if the shield reaches 0)\n\nThe default damage type when unspecified is *Basic*.\n\nSome damage may be evadable (a 3 damage will be reduced to 2 on a ship with evasion=1), some not.\n\n## Keyboard shortcuts\n\n### Global\n\n* S - Quick save\n* L - Quick load\n* M - Toggle sound\n* F - Toggle fullscreen\n\n### Battle (arena)\n\n* 1,2,3...0 - Select action\n* Space - End current ship's turn\n* T - Tactical mode for 3 seconds\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthunderk%2Fspacetac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthunderk%2Fspacetac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthunderk%2Fspacetac/lists"}