Mega Bezel Reflection Shader! - Feedback and Updates

So I think this is because you are using a core which outputs vertical games sideways, then I think you have a core rotation happening, I think this setting should be in the core’s options.

What you want to do is let the core output sideways without rotating, then in the Mega Bezel use the rotation option to get it back vertical.

2 Likes

Interesting… The sounds right. I am using FBNeo for virtually everything. Thanks!

2 Likes

My cabinet isn’t finished, and I’m glad it wasn’t because whatever I would have done for a bezel would have paled in comparison to this! I can’t get over how nice this looks. Thanks to all involved!

(EDIT: I might have had the scanlines in the wrong direction in the pic, but still…)

5 Likes

Very cool!

I’m going to go with a vertical cabinet as well, and of course Black Tiger is one of my favorites too :grin:

4 Likes

Yeah, it is a great form factor because if you grab a 43" (this is a refurb 4K TCL that supports 4:4:4 chroma subsampling) you can basically simulate a full 25" CRT screen oriented either horizontally or vertically in a 2160x2160 viewport.

And you can make it very slim… mine is actually mounted on the wall.

3 Likes

I’m not sure if you’ve already seen it but there is a group of artists making great arcade graphics for the vertical format

https://forums.libretro.com/t/arsinvictus-papashine-thoggo-and-briball-4k-vertical-overlays

You can see a their work here too

4 Likes

Hey @emmak50, I’m one of the people making the vertical overlays @HyperspaceMadness mentioned. How did you build your vertical cab, did you go off existing plans or design your own? I’d love to see a full length photo too. Longer term we will be doing HSM based distributions for our work (right now we are just aiming for lowest common denominator, so standard MAME and RetroArch) now that @HyperspaceMadness has been creating new configuration tools in the RetroArch shader code that will simplify the distribution of these overlays.

3 Likes

Now it would be REALLY amazing would be if we could animate that reflection layer so the screens in the background would also be in motion :smiley:

I just saw @John.Merrit mentioned that in a prior post, so +1 on that feature request!

3 Likes

Yeah I agree this would be interesting. We’d have to figure out how to get the movies/image sequences into the retroarch shader system.

Right now the only way I think this is sort of possible is with a sprite sheet, but you can imagine that it would be a pretty low resolution image for each block in the sheet. :frowning:

If we had GIF support and a way to access the frames in the GIF from the shader system this might be the best way (Because a GIF is a much simpler file format than an MP4). But we’d need to add both of these to Retroarch. :thinking:

One thing to note is that it would need to load all the frames uncompressed into memory, no streaming/on demand load. This could take some memory, but since pc graphics cards have a lot of memory this might not be a big deal, it would depend on the resolution and number of frames.

2 Likes

Attract screens would posssibly only require a “loop” of 20 - 30 frames, roughly. Just need to get a nice quality looping gif, lots of work, but results could be a immense.
ArsInvictus, love those 4k screens. Haven’t made the jump to 4k yet, my PC is also my gaming PC and not quite upto 4k 144Hz, but 1440p 144Hz is awesome.

2 Likes

I don’t know about ALL the screens, might be a little ambitious. Maybe one screen. :grin:

If we are talking about even 10fps animation we are still talking about 200 - 300 frames. I think we need to lower our expectations a bit.

On a positive note. :innocent: If we are going to make the attempt I think that a numbered image sequence might be our best bet, from a graphics development perspective.

The reason I say this is because Photoshop can already load the right format of video as a multi-layer image. Once it’s loaded we can add them to a group and do manipulations and masking on the group, crop the final images as one, and output the layers as a new image sequence.

This, coupled with X and Y position adjustments in the shader, makes it easy to put that video on the screen of the little TV or arcade machine in the background. :wink:

(Maybe reusing the same layer in multiple passes would allow us to put the video on more than one screen?)

Using a GIF or even a sprite sheet would require special software that might be beyond reach for a lot of artist.

1 Like

Thanks @John.Merrit, I’m glad you like what we’re doing. Good to see you active on here, it was your overlays that got me interested in making these!

3 Likes

I had a rough sketch of an idea but honestly my (lack of) carpentry skills necessitated a lot of “hacks” that fortunately worked out.

Here are a couple pics to give you a better idea. The control panel and box are a separate piece that can be removed. The panel can be lifted up, but the entire box can be removed from the rest of the cabinet. This enabled me to make the control panel wider than the cabinet, and I suppose in the future I could make a second control panel with a trackball or spinners or whatever.

I could probably have shortened the height of the cabinet slightly, but I was afraid once I got everything crammed inside I would run out of room. It’s 5ft tall. It is 25 1/2" wide, which means between the 3/4" MDF panels that form the sides it is exactly 24"… this was convenient and provides ample room for a vertical 43" display.

The cabinet extends about 13" from the wall for the marquee, and at the bottom only 12" from the wall (plus the control panel box is another 11" so 23" total. It hangs from French cleats and although I was terrified when I hung it on the wall it turns out it is very sturdy.

Is there a separate thread on this topic? If there is I will jump over there, maybe help avoid pitfalls I encountered, or get some ideas from others who want to build something like this.

4 Likes

Thanks @emmak50, that’s pretty good if your carpentry skills are anywhere as bad as mine. For my own setup I purchased the RecRoomMasters 40" vertical arcade cabinet, which unfortunately they don’t offer anymore. But a lot of people use the vCabinet plans, you can find links to some options on our verticalarcade.com site here: https://www.verticalarcade.com/resources. We have more than 130 overlays posted to our site now with more coming every week.

You can download all of our vertical overlays there but we also post frequently to this thread on libretro and people occasionally post about their vertical arcade cabinet setups there too: 4K Vertical Overlays thread.

I’m glad to see more people building vertical cabs like this. One of the reasons I started to make these overlays was to popularize this format, I personally feel it’s the best way to recreate the arcade experience in the home.

4 Likes

I agree. I had a massive 4 player cabinet with a real CRT but I only moved it out of the garage on a couple occasions. It was too much for me. This is more efficient, and vertical allows for raster horizontal and vertical and VECTOR horizontal and vertical.

Other things I recommend…

  • use LAG REDUCTION. It makes subtle but huge difference (if that makes sense). That’s why I rely on FBNeo so heavily.
  • I sprung for UltraStik 360s because I wanted an analog “leaf” switch feel for everything. My last cab was very “clicky” and it kind of took me out of the mood. (If you buy these, just be aware there are other issues, like it is not straightforward to map multiple controls to a single player like you might need for Robotron.)
3 Likes

Hi, @emmak50! Is this LAG REDUCTION that you are talking about the same thing as run-ahead or a different one?

Increasing Frame delay is also a nice lag reduction feature. Set the number as high as you can before you start hearing crackling audio.

1 Like

Yes, run-ahead latency reduction.

I think this is the missing factor when we re-visit games we used to like and decide they aren’t as good as we remembered. Part of the problem is that some of these games were super responsive in the arcade (or on a console) but when emulated there can be some input lag.

Just remember you have to set it for each game (so it can be tedious), and not all games can handle running it with a second-instance.

1 Like

Interesting about frame delay, I never played with it.

Yes, for me the perfect setup is : set run ahead by using the Pause and Advance frame options (or whatever it is called), for example : push “P” (the default Pause key) and then push the jump button on your controller ; then, push “K” (the default “Advance frame by frame” key) several times until your character starts his jumping animation ; if he starts jumping after, let’s say 3 pushes on the “K” key, you should set run ahead to 2 frames, so that your character will start his jump on the immediate next frame. Don’t set it too high or you’ll miss the first frames of the jumping animation, and you don’t want that.

Then, use frame delay and set it as high as possible before the game stutters or sound crackles ; now you’ve got the lowest latency you can get. It can even be better than the real hardware.

5 Likes