Convert Project to Animation?

I’m trying to make a transition animation for a game i’m working on, but rendering it in real time would be straight up idiotic(1600 sprites), so i’m doing it on a separate project.

So, i would like to know if there is any way to take a recording of this separate project (10-15 fps is enough) and put it in as an animation for the main project.

Does anybody know a way to do this? Thanks in Advance!

1 Like

Here’s some code that does this, but I recommend against doing it!

The reason why I wouldn’t use it is because each frame is roughly 10kb in size. You will certainly hit the limit on project size for share links pretty quickly!

3 Likes

What are you trying to do with 1600 sprites for a transitiion?!?! Most of the time, the screen can get filled up with like 100 sprites! If you want to make a certain screen transition from one screen to another, I may be able to help! I’ve been making a screen effects extension and I haven’t yet added transitions between images, but I do intend to and ideas would be appreciated! I already have a dither effect and I only need make blocks for that. If you could post your code here, I may be able to optimize it or just add it to my extension depending on what it is! (Also I may implement something like @richard 's code that saves the screen image (or maybe any image) to the console log!)

I tried applying it to the (animation)project, but it just gave me a bunch of stack overflow errors:

Stack overflow
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at renderAnimation (line 43)
at <main> (line 65)

Here’s the project:
It throws a bunch of stack overflow errors as soon as i start recording(here done automatically, although i first tried with the A button as in the project you sent)

Looks like there were a few typos in the link that was shared, imageToString wasn’t returning res & renderAnimation was calling itself instead of just logging out, here’s a quick fixed version:

and with yours https://makecode.com/_8tmHh61PF0CL

That said this one looks like it could be a fun particle effect to create as a screen effect (so that it can be in this block image) – I might take a stab at that later and throw it in an extension

1 Like

Did a quick pass at converting this to a particle effect (with a small bit of variety in images, you can see in snowball effect) – I’ll make an extension with this + a few other versions / holiday shapes (e.g. snowballs falling down from top of screen etc) but you can get a sneak preview of how it looks in case it looks like something you’d want to use instead of pre rendering (press A to launch snowballs) :slight_smile:

4 Likes

Can I use some of this code as an example project for particle effects? I’d like to add highly efficient screen transitions and particles to blocks, and I’m not familiar with Arcade’s particle system. I won’t copy your exact code, but I’d like to add particle factories/transitions to my screen effects extension. (I’ve already seen your fireworks demo and might use that too!) Also, are their docs on particles?

1 Like

Feel free! There aren’t really any docs beyond what I had as comments in that old fireworks code unfortunately :frowning: . If you write any particle effects you’ll end up copying me anyways, as I wrote all the existing ones / code around that hah. Ask me if anything is especially confusing / bad! I have a few more ones I’m adding in (rotating candy canes, cookies, etc) but I’ll post it after that is done which might be helpful ~

2 Likes

Yeah… I think I’ll end up copying your code but adding blocks for it… I’ll see what I can figure out!

Okay, got a start on an extension here~ the blocks need some work so I’ll play around with it more (it’s also hitting a layout bug or two in the big custom block) but I’ll see what I can do later / when it’s not friday. Here’s a quick sample:

extension is here: https://github.com/jwunderl/arcade-winter-effects

2 Likes

@richard You’re saying share links have size limitations??

1 Like

yup! it’s pretty big though

How big specifically… Assuming a project has no assets, how many lines of code could you fit?

I don’t remember the actual size off of the top of my head, but it’s large enough that it’s extremely hard to hit unless you’re doing something strange like using a TON of assets or some machine generated code.

I’ve probably written more arcade games than anyone and i’ve never hit it.

1 Like

WOW… THANK YOU! This is great! Idk if I would have ever figured out how to make blocks based on this particle system, but this EXT is amazing!!! Now I’d definitely love to take use some of this code in my extension, but without the holiday theming of course! I’ll probably also (if I figure it out) add some math code that determines different travel patterns too!

1 Like