Fractal Collector by Tesseract

Goal
Get the white shape to match the red shape behind it and add the fractal to your collection.
Rules
The white picture is made out of parts (the partially transparent grey squares) which describe how to make the picture as transformed copies of whatever is in the square.
Controls
Mouse
- Click: Select part
- Drag blue circle: rotate part
- Drag handles (green circles around a selected part): resize part
- Drag (anywhere in part except the circles): move part
- Buttons to create and delete parts
- Button to reset a challenge
- Button to save a fractal
- Click on a fractal saved in collection to admire it again at full size.
- Button to see more hints / get the solution
- Flashing button to advance to the next challenge if you've completed it
Keyboard (optional)
- Tab or n: Cycle through parts
- Arrow Keys or wasd: Move selected part
- q/e: Rotate selected left/right
- Space: redraw with detail
- Delete: Remove selected part
Strategy
Try to work out how the red shape could be made out of copies of itself (e.g. a square can be made by putting 4 smaller squares together).
Create as many parts as you need copies (most challenges have the right number of parts to start with).
If the copies should be rotated relative to the original, then rotate the parts.
Position the parts so that the picture looks right.
Control Configuration
There are some checkboxes that affect the controls by putting restrictions how and where things move (e.g. making rotations snap to the nearest multiple of 15 degrees). Free movement is a bit more useful for getting the hang of things, but these make it much easier to neaten things up.
It should be possible to complete every challenge with any combination of checkboxes being checked.
Hints
See the strategy section above and read the in game hints. Don't be hesitant to click the "More hints" button, particularly on the early levels where you're supposed to get the hang of the controls and how the game works. The first levels don't need anything except movement, then rotation. The hints will tell you when a new kind of manipulation is needed.
Ratings
| Overall | 100th | 3.425⭐ | 22🧑⚖️ |
| Fun | 99th | 3.375⭐ | 22🧑⚖️ |
| Innovation | 1th | 4.643⭐ | 23🧑⚖️ |
| Theme | 174th | 3.119⭐ | 23🧑⚖️ |
| Graphics | 144th | 3.167⭐ | 23🧑⚖️ |
| Humor | 164th | 2.094⭐ | 18🧑⚖️ |
| Mood | 171th | 2.75⭐ | 18🧑⚖️ |
| Given | 24🗳️ | 8🗨️ |
Cant imagine the programming it took to make this, well done!
To draw the fractals, begin with a point in the middle, then repeatedly choose a random part (a grey square) and send the point into that part. Do 100000 iterations, plot all the points visited, and you've drawn the fractal. See https://en.wikipedia.org/wiki/Chaos_game
I had another idea for rendering things using filters and drawing copies of a square on top of itself, which would be deterministic and sometimes look nicer; but there wasn't time to try that out.
Sorry about the strange difficulty curve. I reordered the challenges very late based on which manipulations were needed - most don't involve resizing or creating/deleting parts, so I hoped to get some interesting puzzles in before everyone left after a long struggle to find the right button (for some reason, controls tend to be less obvious to people who haven't spent the last 48h working on the game).
I should probably have made a way to let players choose which challenge to try, with some challenges locked behind tutorial levels.
I agree that a bit more of a tutorial on how the square interact to guide the player would have been nice, the hints help a bit ( I brute force solved 6 by adding a bunch of parts..?)
I myself **[collect GitHub entries](https://github.com/stars/dhmmasson/lists/ludum-dare-58)**: So it's super nice to see you have used GitHub during the development process of the game : 15 commits but only one html file to rule them All!
I have also collected a few tricks to make the repos shinier across my Ludum Dare participations
---
# Repo name and Description
You can update the repository name (I always name my repo ldXX and I rename when I have found a name for my game) without breaking links (GitHub redirects old names to new ones), and add a description for inclusion in the list
(<https://github.com/dhmmasson/ld58> still redirect to my repository)
# Readme and Badges
Include the link to your ldjam entry in the Readme. I also have created badges that you can use to decorate your README:
```




```

# Topics
Consider using these **topics** on your github description to make your Ludum Dare entry more discoverable:
- `game`
- `game-development`
- `ludum-dare`
- `ludumdare`
- `ludumdare58`
- `ludum-dare-58`
- `ld58`
# Cover Art
You can also use your cover art for the ```Social preview``` image in the repository ```Settings```
# Stars
I have starred and added your repository to a list of ld58 compo: <https://github.com/stars/dhmmasson/lists/ludum-dare-58>
(Also, I am on a quest to **collect 10 stars**. If you play my game, consider [leaving a star on my repo](https://github.com/dhmmasson/tilesCollector) as well.)
Loved it btw! I played until I got bored, lol! I finished 8 levels. The 8th was my favorite, and I figured I'd end on a high note.

In your screenshot for the last level, it looks like there are some areas covered by white bits that don't have red behind them, which is why it won't accept your solution. Deleting the smallest part (in the middle) might fix it. I should probably have made the white bit slightly transparent.
Congratulations on getting so far!
I was able to complete all of them without hints except for the last two (I had to show solution).

I managed to solve all of them except for the last one, I got very close (0.11) but somehow not all the way there.
I wish the drawings were a bit crispier, they were not always easy to distinguish and become quite messy when dragging, but I know it may be quite computationally expensive.
Well done and thanks! ;)
If you want to see higher resolution fractals when the mouse is released, you can set `carefulDrawCount=200000` or higher using the browser console.
For the last fractal, any score less than 1 should count as complete and cause the red image behind to disappear - I ran out of time to make a proper end screen, so it keeps updating the score for the final level once you click "ok" on the last alert. The random nature of the rendering also means that you might never see a score of 0 even if you get all the parameters exactly equal to the target (having tested it, it scores about 0.0001, but that might require more accurate positioning than is possible to achieve manually).