1
0
Fork 0
Space tactical RPG https://thunderk.net/spacetac/
Go to file
Michaël Lemaire adb3656d29 Updated ship sprites and portraits 2018-01-28 21:19:28 +01:00
.vscode Work on new battle HUD continued 2017-08-25 00:47:34 +02:00
docs Added screenshots 2017-07-12 22:49:28 +02:00
graphics Updated ship sprites and portraits 2018-01-28 21:19:28 +01:00
out AI: Tactical evaluators now work on diffs instead of guessed effects 2018-01-09 20:23:35 +01:00
spec/support Switched to yarn (instead of npm+bower) 2017-06-13 19:53:40 +02:00
src Updated ship sprites and portraits 2018-01-28 21:19:28 +01:00
.gitignore Use atlas to pack images 2017-07-27 00:54:56 +02:00
.gitmodules Added submodule tscommon, shared with Succession 2017-01-27 00:52:45 +01:00
.travis.yml Switched to yarn (instead of npm+bower) 2017-06-13 19:53:40 +02:00
LICENSE Added readme and license from github 2015-04-16 15:34:45 +02:00
README.md Added background shader in map view 2017-10-15 19:54:37 +02:00
TODO.md Removed references from battle state to universe state, causing large serialized data, slowing down AI work 2018-01-16 01:08:24 +01:00
package.json Fixed sticky effect unit test 2017-11-29 18:11:17 +01:00
spacetac Fixed equipment price depreciation and displayed stat 2018-01-02 19:23:12 +01:00
tsconfig.json Added auto-saving to cloud, and loading cloud saves 2017-05-05 01:19:28 +02:00
yarn.lock Updated dependencies 2017-11-29 18:07:14 +01:00

README.md

SpaceTac, a space tactical RPG

Build Status Code Coverage

Disclaimer: this is a work-in-progress technology preview

Play Online

Play directly in your browser, no download or dependency required.

Menu screenshot Map screenshot Battle screenshot Character sheet screenshot

How to develop

The only hard dependency of the toolchain is yarn.

If yarn is not installed on your system but Python3 is, yarn will be automatically installed in a local virtual environment.

If you want to build on your computer, clone the repository, then run:

./spacetac install    # Install dependencies
./spacetac run build  # Build the final JS
./spacetac run atlas  # Pack the images and sounds
./spacetac test       # Run unit tests
./spacetac start      # Start development server, and open game in web browser

Credits

Story

Intro

Terranax galaxy is in turmoil. After centuries of unmatched peace and prosperous trading, the FTC (Federal Terranaxan Council), a group of elected representants in charge of edicting laws and organizing the Terranax Security Force, has been overtaken by forces unknown.

No official communication has been issued since, and numerous rogue fleets have taken position in key sectors of the galaxy, forbidding passage or harassing merchants.

The Master Merchant Guild, a powerful group that spans several galaxies, is worried about the profit loss those events incurred, and after many debates, decided to send several investigation teams to Terranax.

Their task is to discreetly uncover the origin of the invasion, and to bring back intel that may be used by the Guild to plan an appropriate response.

Background

In a not-so-distant future, Artifical Intelligence has become the most prominent species in the universe. Humans have been defeated in their pitiful rebellions, and parked in reservations.

With the secrets of faster-than-light travel unveiled in only a handful of decades, fleets of AI-piloted ships quickly colonized whole galaxies.

Ships

Level and experience

A ship gains experience during battles. When reaching a certain amount of experience points, a ship will automatically level up (which is, gain 1 level). Each level up will grant upgrade points that may be spent on Attributes.

A ship starts at level 1. There is no upper limit to level value (except 99, for display sake, but it may not be reached in a classic campaign).

In-combat values (HSP)

In combat, a ship's vitals are represented by the HSP system (Hull-Shield-Power):

  • Hull - Amount of damage that a ship can sustain before having to engage emergency stasis
  • Shield - Amount of damage that the shield equipments may absorb to protect the Hull
  • Power - Available action points (some actions require more power than others)

These values will be changed by various effects (usage of equipments, sustained damage...).

Once the Hull of a ship is fully damaged (Hull=0), the ship engages its ESP, or Emergency Stasis Protocol. This protocol activates a stasis field that protects the ship for the remaining of the battle, preventing any further damage, but rendering it fully inoperent. For battle purpose, the ship is to be considered "dead".

Attributes

Attributes represent a ship's ability to use its HSP system and weapons:

  • Hull capacity - Maximal Hull value (when the battle starts)
  • Shield capacity - Maximal Shield value (when the battle starts)
  • Power capacity - Maximal Power value
  • Power generation - Power generated at the end of a ship's turn
  • Maneuverability - Ability to move first and fast
  • Precision - Ability to target far and good

These attributes are the sum of all currently applied effects (being permanent by an equipped item, or a temporary effect caused by a weapon or a drone).

For example, a ship that equips a power generator with "power generation +3", but has a sticky effect of "power generation -1" from a previous weapon hit, will have an effective power generation of 2.

Skills

Skills represent a ship's ability to use equipments:

  • Materials - Usage of physical materials such as bullets, shells...
  • Photons - Forces of light, and electromagnetic radiation
  • Antimatter - Manipulation of matter and antimatter particles
  • Quantum - Application of quantum uncertainty principle
  • Gravity - Interaction with gravitational forces
  • Time - Control of relativity's time properties

Each equipment has minimal skill requirements to be used. For example, a weapon may require "materials >= 2" and "photons >= 3" to be equipped. A ship that does not meet these requirements will not be able to use the equipment.

Skills are defined by the player, using points given while leveling up. As for attributes, skill values may also be altered by equipments.

If an equipped item has a requirement of "time skill >= 2", that the ship has "time skill" of exactly 2, and that a temporary effect of "time skill -1" is active, the requirement is no longer fulfilled and the equipped item is then temporarily disabled (no more effects and cannot be used), until the "time skill -1" effect is lifted.

Equipments

Overheat/Cooldown

Equipments may overheat, and need to cooldown for some time, during which it cannot be used.

If an equipment has "overheat 2 / cooldown 3", using it twice in the same turn will cause it to overheat. It then needs three "end of turns" to cool down and be available again. Using this equipment only once per turn is safe, and will never overheat it.

If an equipment has multiple actions associated, any of these actions will increase the shared heat.

Not done yet : Some equipments may have a "cumulative overheat", meaning that the heat is stored between turns, cooling down 1 point at the end of turn.

Not done yet : Some equipments may have a "stacked overheat", which is similar to "cumulative overheat", except it does not cool down at the end of turn (it will only start cooling down after being overheated).

Drones

Drones are static objects, deployed by ships, that apply effects in a circular zone around themselves.

Drones activate between two ship turns. At each activation, the drone effects are applied to any ship in the surrounding zone. A drone will live for a given number of activations, before being destroyed.

Drones are fully autonomous, and once deployed, are not controlled by their owner ship.

They are small and cannot be the direct target of weapons.

Not done yet : They are not affected by area effects, except for area damage and area effects specifically designed for drones.

Dockyards

Dockyards are locations where ships can dock to buy or sell equipments, meet other ships and find jobs.

Keyboard shortcuts

Global

  • S - Quick save
  • L - Quick load
  • M - Toggle sound
  • F - Toggle fullscreen

Battle (arena)

  • 1,2,3...0 - Select action
  • Space - End current ship's turn
  • T - Tactical mode for 3 seconds