marble-machinations/README.md

71 lines
No EOL
1.3 KiB
Markdown

# marble machinations
(working title)
logic mostly like https://git.crispypin.cc/CrispyPin/marble
## todo
cleanup: unpowered texture names x_off -> x
scroll output
properly center view
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`
```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`
```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`
```json
{
"name": "fast printer",
"board": "oo\nP*\n|-"
}
```