I see it a lot in visual novels, older PC games and PC ports of older non-PC games. It sounds so trivial on paper, like… just play the video? But I know it’s not. Why though? Can we ever expect the problem to be fully solved? Right now it kinda seems like an uphill struggle, like by fixing cutscene playback in one game doesn’t really seem to automatically fix it for other games, so it’s not a situation where a convenient one size fits all solution works.

And I don’t really get it, because if it’s related to video codecs, there are only so many codecs out there, right? And then you also expect that there’s probably just a few popular ones out there that’ll be used for 99% of all cases, with a few odd outliers here and there perhaps.

  • Krik@feddit.de
    link
    fedilink
    arrow-up
    12
    ·
    edit-2
    1 year ago

    In older times when in-game scenes weren’t invented yet game studios often played Bink videos.

    You need a licence for the codec meaning someone has to pay to play.

    • Lojcs@lemm.ee
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      1 year ago

      Wouldn’t that someone be the game company, when they first made the game? I can’t imagine games rely on some system library to decode bink, it must be embedded in engine. Besides, pretty sure bink can be played on vlc, so lack of free/open source decoders isn’t the issue.

      • SomeoneSomewhere@lemmy.nz
        link
        fedilink
        arrow-up
        13
        ·
        1 year ago

        It’s not just a FOSS issue; it’s a software patent issue.

        VLC doesn’t attract a huge amount of attention because they don’t really make any money and would just get forked if someone did try to destroy them.

        However, larger distros with commercial backing (OpenSUSE springs to mind) often won’t directly include potentially patent-infringing packages, so you have to get them from a quasi-third-party repo like Packman.

      • Krik@feddit.de
        link
        fedilink
        arrow-up
        5
        arrow-down
        2
        ·
        1 year ago

        The codec is embedded in the game. You are not allowed to crack a game to make it play a video or reroute it to some other software. That’s illegal.

        • Lojcs@lemm.ee
          link
          fedilink
          arrow-up
          4
          ·
          1 year ago

          ?

          Op is saying the cutscenes don’t work in-game. Nobody said anything about cracking. And I’m saying if the problem was the lack of a system decoder that could easily be solved since there are free decoders available.

          • Krik@feddit.de
            link
            fedilink
            arrow-up
            2
            arrow-down
            1
            ·
            1 year ago

            As I wrote the codecs were usually included in the game. No sane developer assumed that they are already installed in the system.

            Now how do you get a game to not use the codec it’s shipped with? By cracking.

            • Lojcs@lemm.ee
              link
              fedilink
              arrow-up
              8
              ·
              edit-2
              1 year ago

              If the codec was included in the game you wouldn’t need to pay to use it. It was already paid by the developers.

              Edit: not to mention modding games is legal in most cases

            • Cirk2@programming.dev
              link
              fedilink
              arrow-up
              4
              ·
              1 year ago

              Having the runtime of the codec installed in a wine prefix is not the same as having it work. Just like wine has to work on the codec to get the data to it and output back to the game, in a way that the game, the codec and wines d3d implementation can deal with it. This is made mode difficult by some codecs doing output themselves and some handing buffers back to the game for display.

              This is hard and gruesome work. With painstaking observing and duplicating behavior, since a lot is not documented and for a clean room implementation the person implementing it can not look at disassembled binaries or (hypothetical) code-leaks.

              Now how do you get a game to not use the codec it’s shipped with? By cracking.

              That is just wrong. “Cracking” is the circumvention of Copy-Protection. Before Denuvo afaik no Copy-Protection had data-integrty checks, so modification of game Behavior (aka Modding) did not require tampering with the Copy Protection. Best Example SKSE for Skyrim, a tool adding a lot of additional functions to the internal scripting language while still keeping copy protection in tact.

  • Haijo@snac.haijo.eu
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    A lot of games rely on Windows Media Player to play videos. So that needs to be accurately reverse engineered for videos to work properly through Wine and Proton.
    Support is slowly improving.

    And the Unity game engine supports very few video formats on Linux. So lazy native ports with MP4 videos won’t work, they would probably just crash the game. Unity doesn’t support MP4 on Linux.

      • Haijo@snac.haijo.eu
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        No idea, honestly. I’m guessing winetricks downloads the actual WMP, which would explain why it’s not included by default. Not sure though

        • HoukaiAmplifier99@lemmy.fmhy.mlOP
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          That’d make it even stranger, like wouldn’t that reliably always fix the issue, since that’s the actual dependency? It looks a bit like it’s not entirely completely somehow though.

    • HoukaiAmplifier99@lemmy.fmhy.mlOP
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Most recent example I can think of is the Mega Man ZX games in the Mega Man Zero/ZX Legacy Collection, which are PC ports of old NDS games. The cutscenes just show a white screen. Did manage to fix that thanks to someone’s help on reddit (was related to mfplat and another component iirc), but there are also instances where that won’t work (I tried to help someone fix a cutscene issue on an obscure visual novel, but I couldn’t get that to work if my life depended on it).

      Modern games do seem fairly safe though, like you said.

      • @HoukaiAmplifier99 I might have made this up, but I think I recall reading that Valve routinely licences old and weird codecs so that they can build support in Proton for some of these fringe cases.

        The only time I can remember seeing it recently was in an old game off GOG called Conquest: Frontier Wars. Like others, it just showed a coloured pattern, but with that game it couldn’t recover from not being able to play and would crash after.

          • @HoukaiAmplifier99 I don’t remember my source, and I can’t find anything searching around. I either made it up or it was an unsubstantiated reddit comment that stuck in my brain :)

            For real instances of this problem though, look at Glorious Eggroll if you haven’t already. Contains a number of additional video codecs Valve can’t yet support directly.

            • HoukaiAmplifier99@lemmy.fmhy.mlOP
              link
              fedilink
              arrow-up
              3
              ·
              1 year ago

              Oh yeah Proton-GE is definitely my go-to usually, has fixed some stuff before, but there are still cases where it doesn’t help. Idk what it does under the hood though.

            • Lojcs@lemm.ee
              link
              fedilink
              arrow-up
              1
              arrow-down
              1
              ·
              1 year ago

              Contains a number of additional video codecs Valve can’t yet support directly.

              Why would valve need to support the codecs? I don’t think Microsoft goes out of its way to support proprietary codecs in windows for a games to be able to decode them. What makes that necessary when running the game in proton?

              • @Lojcs Microsoft does exactly that. They licence a number of proprietary codecs for inclusion in Windows for the convenience of users.

                Running under Wine, some alternative decoders can be used, but many proprietary codecs don’t have freely-available decoders available. Under Proton, many free decoders can be used like Wine, but some prohibit commercial use or otherwise can’t be implemented in Proton via Valve. GE-Proton manages the best of both worlds.

                • Lojcs@lemm.ee
                  link
                  fedilink
                  arrow-up
                  4
                  ·
                  1 year ago

                  Considering that windows doesn’t even have a free h.265 software decoder to use in its video app, it’s hard to believe that it might support codecs obscure enough to not have open source decoders even in GE proton. Thanks for the reply tho

  • warmaster@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    Is there anything VLC can’t play ? Why not use the same libraries ? Would it be illegal for Valve to use that?

    • provomeister@lemmy.ca
      link
      fedilink
      arrow-up
      11
      ·
      1 year ago

      VideoLAN (organization behind VLC) is in France, which is outside US juridiction. The methods used by VLC are authorized/legal. Software is also not patentable there. That’s why it’s still up after all these years. You can learn more on their site: https://www.videolan.org/legal.html

      Valve, however, must obliged to US juridiction meaning they can’t do the same as VLC. Software can also be patented when meeting certain technical requirements.

    • christophski@feddit.uk
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      It seems to struggle with screen recordings made by gnome. Last time I did that it played the video squashed into the left half of the screen