marble-machinations/README.md

70 lines
No EOL
1.3 KiB
Markdown

# marble machinations
(working title)
logic mostly like https://git.crispypin.cc/CrispyPin/marble
## todo
(more levels)
story/lore
blueprints
scroll level list
should the output tile consume marbles like the bag instead of needing power? then input and output could be merged to one tile type
make marble movement more consistent (`>o o<` depends on internal marble order)
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|-"
}
```