A way to do invert and something else
notpushkin opened this issue · 8 comments
For example, you want to invert an image and do the slice animation at the same time. Right now, you'd emulate this with a pattern like that: ..............................Is
(so many .
's is because you want to do it really fast, so you have set track length to 4096 beats). This is ugly, though.
A related issue: during inversion, blackouts are in fact white, but it might make sense to have black blackouts with dark pictures. (It's solvable using the hack above, too: ..............i+
.)
I've been thinking about how best to approach this. There are two options - the first is to just introduce a lot more beat characters for things like "Invert and slice" but it feels really messy. The other way is to have many beatmaps running at once - so in one beatmap you'd do the invert, the other would do the slice, and they'd play back and happen at the same time. But I'm not sure how to make that look nice in the UI and editor. Any ideas?
For your related issue, the whiteout char ("¤") has been added to 'Info' in b4d9a10 .
The easiest IMO would be to add a "chars per beat" option to the song settings. And maybe differentiate beats in editor for convenience, with alternating backgrounds or something?
I like this idea and will start fiddling with stuff to see how it works. A little busy so don't expect anything quickly - comment in a month if I've been silent.
Some more thoughts...
I think "Multi-beatmap" is the way to go. 2 options in the editor - option 1 has 2 (or more) characters per beat, with alternating light/dark backgrounds so you can see. option 2 has 1 beat per character, but you can swap between beatmaps like tabs ina browser.
What remains is, what do you do about the display? Since there's only 1 row of characters coming in. Do you make it run twice as fast and do 2 per beat? Do you overlay all the chars on top of each other? Split the line in 2 and have 2 lines of chars going to the center?
Thoughts? Not sure of the nicest way to display that your beatmap has many tracks.
I guess there will always be a main track amongst a few support tracks, so we can just display it alone (i. e. the first one), and the others would just do their job behind the scenes.
One alternative way (again, given there is only one main track) is to display beats from the supportive track(s) below the main track's current beat window (only when there is a beat), i. e.:
.o.x.o.x.o.x.o.(x).o.x.o.x.o.x.o.
+
And again, this all depends on a chosen UI. (By the way, it would be nice to be able to make custom UI classes and pass them into the constructor, but that's another story.)
I like that idea, I think it will work well. I'll poke some things...
If you've actually got a use case for the on-the-fly UI classes, I can add it. You can currently hack around it by modifying the UI array directly and calling core.changeUI
.
With the release of v5.0, this is now possible - by adding a separate bank, you can have multiple effects landing at the same time.
~5 and a half years is better thn never, right?
So happy to know that you're still experimenting with 0x40! I'm putting it on a projector at parties sometimes, really pretty (and cozy for some reason – probably that's called “nostalgia”) c: