Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/burnysc2/sc2-planner
https://github.com/burnysc2/sc2-planner
build-order hacktoberfest sc2 starcraft-ii starcraft2
Last synced: 16 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/burnysc2/sc2-planner
- Owner: BurnySc2
- License: mit
- Created: 2020-04-11T04:17:53.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-03-28T14:46:52.000Z (8 months ago)
- Last Synced: 2024-10-14T22:15:50.811Z (29 days ago)
- Topics: build-order, hacktoberfest, sc2, starcraft-ii, starcraft2
- Language: TypeScript
- Homepage:
- Size: 26.6 MB
- Stars: 50
- Watchers: 7
- Forks: 13
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SC2 Planner
This is a (hopefully better) remake of the [original (but deprecated) sc2planner](http://web.archive.org/web/20130815065430/http://www.sc2planner.com/?v=hots#P) from scratch, written in [React](https://reactjs.org/) and [Typescript](https://www.typescriptlang.org/).
You can create build orders for [StarCraft 2 Legacy of the Void](https://starcraft2.com/en-us/), and this web-application will simulate/calculate the time at which those actions can be executed.
# Live Demo
You can [find a live version here](https://burnysc2.github.io/sc2-planner)
## Examples
### Terran
[Reaper expand into reactored hellions and banshee](https://burnysc2.github.io/sc2-planner/?&race=terran&bo=uDritmrisSJEritSf2HtL2NtZU2HsMN2PtkuBtgV2KritnfibViriuFsExagsJRxaJtjkilTkli2Mx3ixaasKzaDyUZsKIyx9yxTxZJtR3QtZfe07ksLx1KzLT1cKtleZkx2KsQx1bsPzMzyrKzLTywKzLN1UbzJKySTx3asIx3bsL08cyXayxb1zYsJLxbK0ItzocsJOyyZzPZyuasPxzYsLxaKzKSsNLxdJtleZkxYhsJR1U1zjZxzasJxaKx0p0XwzEbxyKzEPsKIyPKtgXiRU1MKsNySKyqGtNuF)
[A version of the 211 16 marine drop](https://burnysc2.github.io/sc2-planner/?&race=terran&bo=uDritmrisSJEritSf2HtL2NtZU2HsMN2PtkuBtgV2KritnfibViriuFsExagsJRxaJtjkilTkli2Mx3ixaasKzaDyUZsKIyx1sKxZJtR2ztZfezn9sJLySKzLT1cKtleZkx2KsQx1bsJx1KxdSsP0GysKJyTbsLzQcsKI0lc16zxabzOK12NxYZyNZsL1vK0bTxcJtR2ZtZfexZKx2csJLx4K1VT0E90EMzKKzkPyOyzb9zbmsJxzKtlgXiRU1fjypZsJRxaJtjkil3ttliySLx3ZsKysKx3TsIxdc1t9zKM02902sz59z592QsPxZJtR41tZfe0v9xdhzlKyxPsJMzOZ1p90BMsNynKxyNxYYylysP0OZxzZ0owsKKxYJtjkil3qtli2MxdlzKzxyZsJRysbxdWtNuF)
### Protoss
[Gateway expand into 1 gas 7 gate chargelot allin](https://burnysc2.github.io/sc2-planner/?&race=protoss&bo=uDritmrisSJEritSf2HtL2NtZU2HsQM2PtkuBtgV2KritnfibViriuFsExagsOIxaJtjkilTkli2Mx3ixaasKzaDxaHtR3RtZfeyuKsKyu1sOyUKzo9zoKznYxzasNRzKbsP0h207bsIyU1sK11K0ipxaLtlgXiRUysKsONzM9zM3yR9xa7sO1UZsIzIYxZysOKxaJtjkil2dtliyrKxd60gax39zu11IKxdSsKO1lYxa9xa9xai0cdxd9xdasPLxdJtleZkxY9xY9xY9xYSsKxYKtR57tZfexa9zc9xY9xY9xY9xYltNuF)
### Zerg
[17 Hatch, 17 pool, 16 gas](https://burnysc2.github.io/sc2-planner/?&race=zerg&bo=uDritmrisSJEritSf2HtL2NtZUxODsIM2QtkuBtgV2LritnfibViriuFsExbIsOxbJtleZkxZLx0bxb9xbSsQzKKtjkilTkli2Mx4ksRx4bsQQyY2xb2sKxZJtR3ttZfeySm1EKtleZkxZKsKxZxsINxZotNuF)
## Hotkeys
With the arrow keys (left and right) you can navigate through the build order. Holding `shift` will jump by 5, and holding `ctrl` will jump to the start with left arrow or to the end with right arrow.
# Development - Building it yourself
## Requirements
[Node 14 or newer](https://nodejs.org/en/download/) is required to create this static website.
[Python 3.8 or newer](https://www.python.org/downloads/) is required to run pre-commit hooks.
## Setup
```
npm install
pip install poetry --user
poetry install
poetry run pre-commit install
```## Deploy
### Test
`npm run test`
### End-to-end test
`poetry run pytest test/test_e2e.py`
### Develop
To start dev server:`npm run start`
Then go to [localhost:3000](http://localhost:3000)
### Build and deploy
To deploy in `/build` directory:`npm run build`
### Pre-commit hooks
To run pre-commit hooks manually, run
```
poetry run pre-commit install
poetry run pre-commit run --all-files
```## Update
To update to the current patch, a freshly generated `data.json` from [SC2 Techtree](https://github.com/BurnySc2/sc2-techtree) is required and needs to be placed in `src/constants/data.json`. If a new unit, structure or upgrade was introduced, then its icon needs to be placed in the `src/icons/png` directory. Console asserts might be printed in the browser console if the number of units or upgrades changed in a patch.
# Copyright
Most image assets are owned by Blizzard and are used according to http://blizzard.com/company/about/legal-faq.html.
©Blizzard Entertainment, Inc. All rights reserved. Wings of Liberty, Heart of the Swarm, Legacy of the Void, StarCraft, Brood War, Battle.net, and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.
# Other
Prettify all .ts and .tsx files:
`npm run format`
# TODO
Tasks that still need to be done, also see the [issues page](https://github.com/BurnySc2/sc2-planner/issues):
- Improve GUI looks
- Add SALT encoding and decoding
- Grey out actions / icons that are currently not available (locked by techtree)
- Sort zerg townhalls by how much larva it has (build units from hatchery first which has the most free larva)
- Sort terran production structures by: `has reactor`, `has no addon`, `has techlab` when trying to queue new units that do not require a techlab.