How do I make a timelapse?

0 favourites
  • 10 posts
  • I want to generate a timelapse video of players' gameplay. Game Recorder plugin can record in low FPS, but I don't think there is a way to change video's playback speed?

    A possible solution I found is creating a Family with hundreds of separate duplicated object types like Frame1, Frame2, ... Then take a screenshot every X seconds and load each screenshot onto separate object. When the game is over - show these objects in a sequence, creating an illusion of a video which can now be recorded with Game Recorded.

    So here are a few questions:

    1) Is there a better way to do all of this, which, maybe, doesn't involve hundreds of dublicated object types (I don't think it can be done with just one object type, since all instances of the same object will always display the same screenshot)

    2) If I do this - will this work on Android and iOS? Will users be able to share the generated video?

    3) I hope these screenshots won't be saved on user's device (album) as long as I don't invoke the download?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • You can load multiple snapshots into one sprite, you just need to create lots of empty frames in this sprite, and change the frame before loading a new image. This will allow you to easily replay the whole animation.

    This will use a ton of memory thought and may be quite slow on mobile..

  • Thanks for the tip! I think it should be doable with some image quality compromises. Anyway, when game takes a snapshot on mobile - it is not automatically saved to the album as screenshot, is it?

  • game takes a snapshot on mobile - it is not automatically saved to the album as screenshot

    No, when you use "Take snapshot" action, the image is not saved in the album.

  • Okay, thanks!

  • I noticed that snapshot file size is very dependant on the window size. So on phones with high resolution it will be a problem. At the same time, changing JPEG quality doesn't help with file size as much as resizing the window. Plus, the quality of a small window snapshot at 100 quality is much better than big window at 20 quality.

    Is there a way to maybe resize the snapshot?

  • When you load snapshots into the sprite, you can resize them to sprite size. Say, if you set all frames size in the sprite to 240x320, the image will be resized to this resolution.

  • Right, if I use Load image from CanvasSnapshot - there is Size: Keep current size parameter. But in memory the image is still stored in original resolution. In Taking Screenshots C3 example, it does resize the image to ScreenshotSprite size, but if I download it - it's still in the original resolution.

  • I guess you were right, and it's not really a viable option for mobile. Maybe instead of snapshots I'll try saving each object's position to the array and then "load" it in a sequence.

  • If you don't need to record the entire screen, only a portion of it, you can use Drawing Canvas - paste objects on it, save image, load it into a sprite. But, of course, it will also work faster with small image size.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)