bevyjam/README.md

2.3 KiB

Lux synthesĕ

Play in browser

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

cargo build --release

WASM

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 used HexoDSP for audio synthesis.

The synthetizer matrix can be edited using 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.

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/.