No description
Find a file
2024-10-06 16:00:12 +02:00
assets draw marble direction 2024-10-05 20:48:05 +02:00
levels initial level selection gui 2024-10-06 12:39:36 +02:00
src enter and exit solution editor 2024-10-06 16:00:12 +02:00
.gitignore init 2024-10-03 22:59:49 +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 enter and exit solution editor 2024-10-06 16:00:12 +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

solution saving & loading cleanup: unpowered texture names x_off -> x input/output display grow grid automatically while editing sim/speed control gui make marble movement not order-dependent (>ooo < does not behave symmetrically) blueprints

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|-"
}