No description
Find a file
2024-10-07 21:21:37 +02:00
assets make selecting look nicer 2024-10-07 18:06:02 +02:00
levels fix marbles not working in negative quadrants 2024-10-07 17:57:07 +02:00
src properly center editor view and make zoom follow mouse position 2024-10-07 21:21:37 +02:00
.gitignore solution saving and loading 2024-10-06 16:29:45 +02:00
Cargo.lock initial level selection gui 2024-10-06 12:39:36 +02:00
Cargo.toml initial level selection gui 2024-10-06 12:39:36 +02:00
README.md properly center editor view and make zoom follow mouse position 2024-10-07 21:21:37 +02:00
rustfmt.toml init 2024-10-03 22:59:49 +02:00

marble machinations

(working title)

logic mostly like https://git.crispypin.cc/CrispyPin/marble

todo

make marble movement not order-dependent (>ooo < does not behave symmetrically) blueprints scroll level list

decide on marble data size (u32 or byte?) blueprint rotation

file hierarchy

- assets/
- storage/
  - levels/
    - 00_zeroes.json
    - 01_cat.json
    - 02_parse.json
    - 99_sandbox.json
  - solutions/
    - 00_zeroes/
      - solution_0.json
      - solution_1.json
    - factorial_194726/
      - solution_0.json
      - solution_1.json
  - blueprints
    - blueprint_0.json
  - custom_levels/
    - factorial_194726.json

00_zeroes.json

{
  "id": "00_zeroes",
  "name": "Zeroes",
  "description": "learn how to output data",
  "init_board": null,
  "inputs": [],
  "outputs": [0, 0, 0, 0, 0, 0, 0, 0]
}

00_zeroes/solution_0.json

{
  "level_id": "00_zeroes", //redundant, useful if sharing solution files?
  "solution_id": "solution_0",
  "name": "unnamed 1",
  "board": "oo\nP*\n|-",
  "score": {
    "cycles": 8,
    "tiles": 6,
    "area": 6,
  }
}

blueprints/blueprint_0.json

{
  "name": "fast printer",
  "board": "oo\nP*\n|-"
}