marble-machinations/README.md

68 lines
1.2 KiB
Markdown
Raw Normal View History

2024-10-06 00:57:24 +02:00
# marble machinations
(working title)
logic mostly like https://git.crispypin.cc/CrispyPin/marble
2024-10-06 12:39:36 +02:00
## todo
make marble movement not order-dependent (`>ooo <` does not behave symmetrically)
blueprints
scroll level list
2024-10-06 12:39:36 +02:00
decide on marble data size (u32 or byte?)
blueprint rotation
## file hierarchy
2024-10-06 00:57:24 +02:00
```
- 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`
```json
{
2024-10-06 12:39:36 +02:00
"id": "00_zeroes",
"name": "Zeroes",
"description": "learn how to output data",
"init_board": null,
"inputs": [],
"outputs": [0, 0, 0, 0, 0, 0, 0, 0]
2024-10-06 00:57:24 +02:00
}
```
`00_zeroes/solution_0.json`
```json
{
2024-10-06 12:39:36 +02:00
"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,
}
2024-10-06 00:57:24 +02:00
}
```
`blueprints/blueprint_0.json`
```json
{
2024-10-06 12:39:36 +02:00
"name": "fast printer",
"board": "oo\nP*\n|-"
2024-10-06 00:57:24 +02:00
}
```