Ren'Py Renpy high-FPS animations: webp image sequence or webm files?

Eros_Int

New Member
Sep 13, 2023
3
0
I've just started a hybrid RPG/VN game in Ren'Py, and it's going to involve a lot of animations (rendered out of Daz) that range from a few dozen frames to 150+ frames, all at 1920 x 1080 and looped indefinitely, and preferably at 30 FPS although I'm willing to compromise down to a lower framerate if necessary.

I want to follow whatever the best solution is -- static image sequences (presumably .webp or sprites) or videos (presumably .webm files) -- that balances image/animation quality, game size, and playback smoothness. Also, if it's the image sequence route, I'm fine with either one big composite image of characters and background, or characters layered on top of a static background -- assuming either is possible -- again chasing the best balance of visuals, performance, and game size.

Thoughts?
 

Eros_Int

New Member
Sep 13, 2023
3
0
webm, otherwise your game's size will skyrocket
Thanks -- I was leaning more toward webm clips, so I appreciate the confirmation.

But I'm still willing to be persuaded by the "image sequence camp" if somebody could explain the advantages of that over a series of looped video clips.
 

Winterfire

Forum Fanatic
Respected User
Game Developer
Sep 27, 2018
5,500
8,035
There used to be an advantage in the past (Ren'Py 7) if you wanted to build a web version of your game, and still keep animations. Back then, movies were not supported, so the only way to have animations was to have an image sequence.
 

MissFortune

I Was Once, Possibly, Maybe, Perhaps… A Harem King
Respected User
Game Developer
Aug 17, 2019
5,378
8,646
But I'm still willing to be persuaded by the "image sequence camp" if somebody could explain the advantages of that over a series of looped video clips.
If anything, it's objectively worse. Especially for low-end systems. Too many frames/images and it'll start bogging everything else down. As Winterfire said, there only time it was useful was for web versions (think Gamcore) of Ren'py games to play animations. But with Ren'py 8, it's really no longer an issue.
 
  • Like
Reactions: Winterfire

79flavors

Well-Known Member
Respected User
Jun 14, 2018
1,607
2,256
... I'm still willing to be persuaded by the "image sequence camp"

.webm is objectively better.

The exception would be the small subset of developers who know how to create an animation or pseudo animation in something like DAZ - but don't know how to then convert the output into a movie format. A sequence of images is pretty easy to stitch together in RenPy if all you have are those images. For some people, that would be the "simple solution". Doesn't sound like you'll have that problem.
Path of least resistant and all that... even up to a few years ago, animations were (and sometimes still are) very low FPS sequences of 2 or 3 frames.
 

PinkDaizy

Newbie
May 6, 2023
92
254
I've just started a hybrid RPG/VN game in Ren'Py, and it's going to involve a lot of animations (rendered out of Daz) that range from a few dozen frames to 150+ frames, all at 1920 x 1080 and looped indefinitely, and preferably at 30 FPS although I'm willing to compromise down to a lower framerate if necessary.

I want to follow whatever the best solution is -- static image sequences (presumably .webp or sprites) or videos (presumably .webm files) -- that balances image/animation quality, game size, and playback smoothness. Also, if it's the image sequence route, I'm fine with either one big composite image of characters and background, or characters layered on top of a static background -- assuming either is possible -- again chasing the best balance of visuals, performance, and game size.

Thoughts?
Even if you decide for image sequence, you should still pack them in a video file to avoid huge lag spikes when initiating the animation. You do that by creating an MJPEG video in an mkv container. (Ren'Py can play MKV video files.) MJPEG is a codec that uses raw jpeg images for each frame, thus preserving the full quality of each frame. MJPEG video files are easy to make with ffmpeg. It's also easier to add to your game compared to juggling with raw images that you have to show in sequence in ren'py.

But I think it's overkill since the file size will too large.

Edit: I think renpy support MJPEG. If I'm wrong, then never mind :p