Preserve trails between project plays

I’d like to have an option to preserve trails i’ve drawn between plays of a project.

I’ve thought of two different approaches to this:

  • a project setting, where any trails drawn will save when exiting the project

    • pros:
    • easy to use, toggle a setting
    • cons:
    • could cause issues if project is left mid trail, desyncing images
  • an block to “bake” the trails, which saves the trails upon activation of the project, and a companion “load baked trail” which loads the saved trail back in on top of anything else drawn.

    • pros:
    • two blocks that don’t require any complex knowledge
    • allows for more complex saving and loading instead of just instantly loading the trails
    • would be a major boon for the art community and could increase the power of art pads without crazy complex saving techniques, which are undoubtedly cool however i feel this feature is far more beneficial.
    • cons:
    • more work on the developers end
    • most likely would be more difficult to implement
Would this feature improve your hopscotch experience?
  • Yes
  • No
  • Undecided/Accidental Vote

0 voters

16 Likes

Cool! Since this seems a little more advanced, here’s another idea: maybe baked trails could be rasterized, so that a proper undo could be possible? :eyes:

Basically, trails could be turned into image-like objects and then layered after they’re drawn (ie. after the Draw a Trail loop is done executed). They could be treated kinda like clones. Then they could be deleted like objects, too.

11 Likes

that would be sick! adding more flexibility in that sense would be amazing.

here’s a question: would you want to rasterize on a trail by trail basis or rasterize every currently drawn trail at once into an image?

9 Likes

There’s more flexibility with what you could do with clone-based rasters, but more lag at the same time. I still think the flexibility is worth it in the end!

However, it’s different when you make 500+ brush strokes for an art piece, though. (Optimizations to the clone engine would have to be made to reduce lag, on a clone-by-clone basis.) For that, a flat raster would be faster, so better in many situations. So it’s a little hard to tell.

It depends what you’re doing with trails, I guess. And since they can’t even be layered right now (ie. the last drawn trail is always on top), maybe it’s not worth thinking about making trails individual clones… but it would be cool! Imagine coding trail art, and then making it spin and twist with code.

9 Likes

whats bsked?
ive heard of baked lighting, but I’ve never knew what was the meaning of it

3 Likes

Oh yes! This would be very useful!

2 Likes

Uh, necropost, but… this has not aged very well…

Clone based rasters are a terrible idea with Hopscotch! 100 clones is enough to slow down old devices, let alone clones with behaviors. A modern computer game could handle it (for example a particle engine optimized for performance, eg. sparks in a game or bullet projectiles) because it’s got a better engine than what Hopscotch (or most other block coding languages) provide, anyways.

You’re basically storing a new object every frame, that’s (probably) checked every frame whether you like it or not, and if this is true then that’s why having so many clones lags projects so much.

If we want to draw trails and rasterize them (meaning, convert the trail to an object), we’d probably want to use an SVG-based option instead to do that! All of the objects in Hopscotch are represented in an SVG format (kind of like PNG images, but for vector art, which means you draw art with trails instead of pixelated images).

Better yet, trails can be represented with smooth SVG strokes! Imagine what this means for art pads: if we could get some sort of feature that allows for smooth SVG curve lines to be drawn, then it could be really cool for the art scene. This would have to be a new feature for Hopscotch, but it’s the best way to approach this on a technical level as far as I know.

Actually, who knows, maybe someone will reimplement curves in Hopscotch sometime. It’s probably possible to preserve the position and certain parameters of two given clones, and save their positions/values sequentially in stored online project data… @Petrichor @Awesome_E @CreationsOfaNoob cough cough

Anyways, SVG strokes are the way to go with drawing trails and then preserving them: and that would also mean that if you could save these strokes locally (or with global variables) on a given device, then it would be just super cool.

(Honestly, there’s probably a way to save draw history with regular trails as of 2022, it’s just really complicated and involves logging specific screen presses every frame… and that may or may not get really expensive in terms of data use but theoretically we don’t care about that lol. Also you’d have to make an object redraw the entire scene afterwards every time you want to load the project.)

5 Likes