72 lines
2.1 KiB
Markdown
72 lines
2.1 KiB
Markdown
# Lux synthesĕ
|
|
|
|
[Play in browser](https://txmn.tk/projects/lux-synthese/)
|
|
|
|
## Controls
|
|
|
|
* **Move**: arrows
|
|
* **Switch character**: Tab
|
|
* **Level up**: Enter (when character is white)
|
|
* **Reset**: R
|
|
* **Fullscreen**: F11
|
|
* **Exit**: Escape
|
|
|
|
## TODO
|
|
|
|
* more filters
|
|
* despawn black characters
|
|
* despawn character when too far
|
|
* more levels
|
|
* (?) multiplayer
|
|
* more audio
|
|
* bug: in level2, move the blue character to win, then reset. The characters are lighter than expected. (also level 4)
|
|
* redshift warning
|
|
|
|
## Build
|
|
|
|
```bash
|
|
cargo build --release
|
|
```
|
|
|
|
### WASM
|
|
|
|
**Audio does not work in WASM!**
|
|
|
|
```bash
|
|
rustup target add wasm32-unknown-unknown
|
|
cargo install wasm-bindgen-cli
|
|
|
|
sh build-wasm.sh
|
|
|
|
# Serve on 127.0.0.1:8000
|
|
python3 -m http.server
|
|
```
|
|
|
|
## Audio
|
|
|
|
This game uses [HexoDSP](https://github.com/WeirdConstructor/HexoDSP) for audio synthesis.
|
|
|
|
The synthetizer matrix can be edited using [HexoSynth](https://github.com/WeirdConstructor/HexoSynth) visual editor.
|
|
|
|
## Develop
|
|
|
|
Skip to level `N: u32` with the command `bevyjam <N>`.
|
|
|
|
Edit the level `N: u32` with the command `bevyjam <N> e`.
|
|
|
|
### Editor controls
|
|
|
|
* **Select**: left click to select, click in void to deselect, CTRL+click to select many, CTRL+A to select all
|
|
* **Move selection**: arrows to move one step, Shift+arrows to move continuously
|
|
* **Delete selection**: delete
|
|
* **Add objects**: P=platform, C=character, A=absorbing filter, R=rotating filter, M=melty platform
|
|
* **Move camera**: CTRL+arrows
|
|
* **Save**: CTRL+S
|
|
|
|
## License
|
|
|
|
GNU AGPL v3, CopyLeft 2022 Pascal Engélibert, Nixon Cheng
|
|
|
|
_Lux synthesĕ_ is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.
|
|
_Lux synthesĕ_ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
|
You should have received a copy of the GNU Affero General Public License along with _Lux synthesĕ_. If not, see https://www.gnu.org/licenses/.
|