marble-machinations/README.md

66 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

2024-12-24 22:47:55 +01:00
# Marble Machinations
2024-10-06 00:57:24 +02:00
(working title)
logic mostly like https://git.crispypin.cc/CrispyPin/marble
2024-10-06 12:39:36 +02:00
## todo
- comments
2024-12-17 15:40:27 +01:00
- accessibility
- ui scaling
2024-12-17 15:40:27 +01:00
- background colour setting
2024-12-24 22:47:55 +01:00
- configurable hotkeys
- hotkeys for everything (no mouse needed to play)
- font selection (possibly a lot of work)
- more levels
2024-12-18 21:59:47 +01:00
- scroll output bytes
2024-12-14 17:30:37 +01:00
- make direct power (comparator -> machine) work, (needs storing power direction in machine tiles)
- cut selections, copy to system clipboard
- timestamps in solutions and blueprints
- lock tile types for early levels to make it less overwhelming
- display tool variant more clearly (it's not obvious there are more states)
- option to use 8-bit marbles?
- blueprint rotation?
2024-10-06 12:39:36 +02:00
## file hierarchy
2024-10-06 00:57:24 +02:00
```
- assets/
- levels/
2024-12-22 18:03:52 +01:00
- chapter_01.json
- chapter_02.json
2024-10-13 17:00:59 +02:00
- sandbox.json
- user/
2024-10-06 00:57:24 +02:00
- solutions/
2024-10-13 17:00:59 +02:00
- output/
2024-10-06 00:57:24 +02:00
- solution_0.json
- solution_1.json
2024-10-13 17:00:59 +02:00
- copy_input/
2024-10-06 00:57:24 +02:00
- solution_0.json
- solution_3.json
2024-10-06 00:57:24 +02:00
- blueprints
- blueprint_0.json
```
2024-12-22 18:03:52 +01:00
## levels
### intro, basic mechanics
2024-12-24 22:43:21 +01:00
- output a zero (marble, output)
- output multiple numbers in sequence (digits)
2024-12-24 22:43:21 +01:00
- output zeroes forever (looping/arrows, button, silo output)
- copy the input (input)
2024-12-24 22:43:21 +01:00
- increment every number (math tiles)
- copy only odd input numbers (comparator, flipper)
### 0-terminated list processing
- copy the second list
- calculate list length (math, silo input)
- count instances of 5 in a list
- reverse a list (bouncing)
2024-12-24 22:43:21 +01:00
### text
- convert text to lowercase
- convert a number to decimal ascii
- parse an ascii number
### advanced list processing
- index a list
2024-12-24 22:43:21 +01:00
- reverse and return the first n elements of a list, with n given first
- add two lists element-wise
2024-12-24 22:43:21 +01:00
- sort a list