bevyjam/README.md

73 lines
2.3 KiB
Markdown
Raw Normal View History

2022-08-27 16:56:54 +00:00
# Lux synthesĕ
2022-08-21 17:53:08 +00:00
2022-08-27 22:10:41 +00:00
[Play in browser](https://txmn.tk/projects/lux-synthese/)
2022-08-23 10:02:58 +00:00
## Controls
* **Move**: arrows
* **Switch character**: Tab
* **Level up**: Enter (when character is white)
2022-08-25 09:31:12 +00:00
* **Reset**: R
2022-08-27 22:10:41 +00:00
* **Fullscreen**: F11
* **Exit**: Escape
2022-08-23 10:02:58 +00:00
2022-08-21 17:53:08 +00:00
## TODO
2022-08-24 21:11:59 +00:00
* more filters
* despawn black characters
* despawn character when too far
2022-08-26 14:43:10 +00:00
* more levels
2022-08-21 17:53:08 +00:00
* (?) multiplayer
2022-08-23 15:02:13 +00:00
* more audio
2022-08-27 07:08:14 +00:00
* bug: in level2, move the blue character to win, then reset. The characters are lighter than expected. (also level 4)
* redshift warning
2022-08-21 17:17:55 +00:00
## Build
```bash
cargo build --release
```
### 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
```
2022-08-23 15:02:13 +00:00
## Audio
This game used [HexoDSP](https://github.com/WeirdConstructor/HexoDSP) for audio synthesis.
2022-08-23 15:02:13 +00:00
The synthetizer matrix can be edited using [HexoSynth](https://github.com/WeirdConstructor/HexoSynth) visual editor.
However we could not get this working in WASM, hence we used simple playback audio instead for the jam. The concept of procedural audio is not abandonned but it will be for another time.
2022-08-25 22:33:44 +00:00
## Develop
Skip to level `N: u32` with the command `bevyjam <N>`.
Edit the level `N: u32` with the command `bevyjam <N> e`.
2022-08-26 08:16:40 +00:00
### Editor controls
2022-08-26 12:57:53 +00:00
* **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
2022-08-26 13:57:32 +00:00
* **Delete selection**: delete
2022-08-26 21:54:49 +00:00
* **Add objects**: P=platform, C=character, A=absorbing filter, R=rotating filter, M=melty platform
2022-08-26 08:16:40 +00:00
* **Move camera**: CTRL+arrows
2022-08-26 12:57:53 +00:00
* **Save**: CTRL+S
2022-08-26 08:16:40 +00:00
2022-08-21 17:17:55 +00:00
## License
2022-08-24 13:17:09 +00:00
GNU AGPL v3, CopyLeft 2022 Pascal Engélibert, Nixon Cheng
2022-08-21 17:17:55 +00:00
2022-08-27 16:56:54 +00:00
_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/.