Struggles with an FMV idea

  • #1, z XerilonFriday, 10. June 2016, 20:12 hodinky 9 years ago
    I am making an FMV title with prerendered 3d, but it seems the full screen animation sets are a pain to load in Visionaire. Is it possible to use compressed video files instead of individual frames, as I imagine they are faster to load?

    Also what is the best way to split scenes? Is it okay to have all the (hundreds) of animations to turn on and off in the same scene for the whole game?

    Bažant

    37 Posts


  • #2, z afrlmeFriday, 10. June 2016, 20:26 hodinky 9 years ago
    Yes you can use videos, but only for interaction animations / scene transitions as you can't display videos inside of a scene or interact with videos other than pausing / resuming them with spacebar or skipping them with the ESC key.

    The idea with animations in 2D is to make them as small as possible. Having them at the same size as your game default resolution just to make them easier to position is a waste of resources & it increases the loading times of the animations due to the larger file-sizes. Same probably goes for VRAM due to the surface area size of the images unless VS just processes them based on the alpha channel (not sure).

    General idea for optimization is to convert png files to webp format (lossy quality 100 is hardly distinguisable from a lossless png, yet the file-size is drastically lower for the webp version). Also try not to use tons of frames & remove all duplicate frames (animation frames that are the same as another animation frame - it's pointless having multiple image files of the same thing, when you can simply insert a frame & link it to whichever image you need to display.

    Other things you can do... create non-important animations such as background animations, effects & environmental animations at about 25% of intended scale & then use Lua in-game to scale them up to the intended scale size.

    All of these things can help you optimize your game & reduce the loading times for animations.

    Traditionally FMV games tend to be quite static for the most part during playable sections. Videos are often used for interactions & scene transitions. See Gabriel Knight 2, Phantasmorgia or Tex Murphy series (fmv ones).

    P.S: can you not export individual assets/objects out from your 3D program. I know that Chris (Stasis) did that for his game, but I can't recall which 3D design program he uses off the top of my head.

    Imperátor

    7285 Posts

  • #3, z XerilonFriday, 10. June 2016, 20:40 hodinky 9 years ago
    Thank you, yes I know.

    I have to keep animated area layers (such as the waving curtain or flickering candle) at original size or they will be blurry on top of the sharp background, but they will be small anyways smile

    Good tips on optimizing images though!

    I plan on separating animated stuff from backgrounds on most scenes, and I try to keep 15 fps, going for the Phantasmagoria/Gk2 style.

    Plan now:
    -Optimize images files
    -Have cut scenes as video
    -Keep character on separate layer and animate only "turn and start walking" before changing scene

    I'll try your suggestions and see how it goes wink

    Bažant

    37 Posts

  • #4, z afrlmeFriday, 10. June 2016, 20:57 hodinky 9 years ago
    There's some optimization tips available in the manual section of the wiki that I wrote last year sometime.

    https://wiki.visionaire-tracker.net/wiki/Image_Encoding
    https://wiki.visionaire-tracker.net/wiki/Game_Optimization

    P.S: I think it's pointless thinking of an adventure game in frames per second, whether it's 15, 24, 30 or 60fps. As long as it looks nice & smooth it's irrelevant. The only thing I will tell you is that duplicated frames for the sake of FPS is a useless waste of resources when you can use a single frame instead of 4 or whatever frames of the same image in a row, as there is a feature that let's you specify the pause / delay value for individual frames besides the default global delay value. Think about it this way... by doing that I've reduced the file-size of the animation, thus I've reduced the amount of time needed to load & the amount of VRAM being used (because we aren't using pointless duplicated image files).

    Another thing... let's say you wanted to play an animation pendulum style (forwards & backwards in a loop), well, you would only need to create the forwards animation as it's possible to trigger an action after an animation ends, so we could call an action that plays the animation backwards, then again to play it forwards, or you could even add a little bit of Lua script directly into the first & last frame to make it play forwards or backwards as needed.

    Imperátor

    7285 Posts