top | item 38850480

(no title)

mr_briggs | 2 years ago

The warping in the tech demo is definitely more distracting than a simple dividing line, but it's exciting to see the potential for genuinely seamless transitions between single and split screen gameplay!

In what might be a bit of a cursed, uninformed thought - but I'd like to see what happens if each player's perspective could be altered individually. Would it be possible for players to have unique camera perspectives when split, and then reorient to the same perspective when within a given distance to transition to single screen?

From memory (as I have been unable to find a demo video), the LEGO series had some interesting approaches to dealing with this. IIRC LEGO Marvel Super Heroes gave players control of their camera when in the open world, so in Dynamic Splitscreen mode there was a little fade transition when recombining cameras to single screen. Pretty sure there was a little delay too so it wouldn't recombine unnecessarily, and it was typically a more annoying point of the splitscreen as the dividing line would pivot more dramatically - something the raytraced approach would definitely improve!

discuss

order

lloeki|2 years ago

>> The 2011 co-op twin-stick shooting action game Renegade Ops was the first time I encountered a system which varies the screen layout in multiplayer based on the relative position on the players in world space.

> the LEGO series had some interesting approaches to dealing with this

Indeed, LEGO Indiana Jones (2008) for sure had it on 360, but IIRC LEGO Star Wars I (2005) and II (2006) did not.

Here it is on The Force Awakens https://www.youtube.com/watch?v=T04B2coSN0Y

In some ways, it was awesome, in others, it was terrible!

- When the viewpoints are very close but still split, things from both views are only slightly offset which gave some weird effect like stereoscopic stuff. Visible at 0:07, 0:11, 2:05 in the SW video above.

- FOV is more or less fixed, so on a 16:9 screen with a fixed FOV you get either fixed wide FOV for a vertical-ish split (nice) but also for horizontal-ish (everything is super small), at the cost of a fisheyesque warp; OR you get fixed narrow FOV and you can't see much left-right on vertical-ish split nor up-down on horizontal-ish.

Overall the combination of both made the games extremely headache inducing for me.

> IIRC LEGO Marvel Super Heroes gave players control of their camera when in the open world

Here one can see the open world sections with the POV control, non-dynamic split screen:

https://www.youtube.com/watch?v=KLRDzNy0t2g

chmod775|2 years ago

> Would it be possible for players to have unique camera perspectives when split, and then reorient to the same perspective when within a given distance to transition to single screen?

Technically, yes. There's not any major technical hurdle here. You'll probably have to render a bit more than required for each screen, so your shaders don't create seams near merge (because they may behave differently at the edge of whatever they're sampling). Also you'll have to decide what you want to do about on-screen effects (hit notifications etc) on merge. You may get something that looks like seams to our brain's pattern recognition anyways as you get close to merge (a "triangle" looking shape on floor/walls when perspectives only slightly diverge). I suspect the latter is why the game you mentioned had a transition - besides providing a visual to each player that they can now also look at the other half of the screen.

djtango|2 years ago

I've always wondered why games didn't implement that but now that I think about it, I can't imagine a neat solution (in 30 seconds)

Imagine a 3rd person action game. A and B split up and have two perspectives. They end up facing in opposite directions, how do you reconcile the camera views?

Maybe you can have some heuristic that only does it if their perspectives are "close enough" but what value does it bring?

For some kind of topdown/isometric type game I could see how that might work.

EDIT: actually read the article after getting curious. All of this is covered, extremely cool article. Don't quite understand ray tracing enough to understanding exactly why it is faster. Is it because rasterisation starts from the camera but ray tracing starts from the light source? so you can amortise more calculations if you start from a light source rather than individual perspectives?

JamesLeonis|2 years ago

> Don't quite understand ray tracing enough to understanding exactly why it is faster. Is it because rasterisation starts from the camera but ray tracing starts from the light source? so you can amortise more calculations if you start from a light source rather than individual perspectives?

The problem is Rasterization is a bastard Raytrace. A camera view, represented as a trapezoidal prism, is transformed into a cubic prism and flattened. Every pixel is a parallel "raytrace" along the flattened cube. To get multiple viewports Rasterization creates an entirely new rendering scene, complete with the boilerplate code and API calls, as if it were its own game with its own screen. A four way split was akin to brute-forcing four bastardized raytraces.

Raytracing simplifies this by admitting this is terrible, and thus giving every pixel its own official transform (Raytrace) rather than the ugly pile of hacks above. I think of it as a "Camera Shader", sitting with pixel and vertex shaders as a way to dynamically change a given pixel.

oz_1123|2 years ago

I found this part not well covered in the article too. But to your question, ray tracing starts fromt the camera. Typically you define the direction of a ray for each pixel, and that ray will bounce around to calculate a final color, and that color will be rendered as the color for that pixel.

My assumption is that the shared scene and shaders might play a role here, although the direction of the rays will still vary.

robertlagrant|2 years ago

You're right about the Lego games. I'm playing the Lego Batman series with my son and Lego Batman 1 was a shared screen; very annoying at times. 2 and 3 have a shared screen that dynamically splits into two screens when necessary, with a clever comic book panel effect to demarcate the screens.

furyofantares|2 years ago

The split screen in the LEGO games I've played doesn't work for me at all. I can't take it when it splits and instead of playing the game I feel I need to stick to the other player like glue to prevent it from ever splitting unless it's absolutely necessary for a puzzle.

herpdyderp|2 years ago

My takeaway from those games was that a game should either stay split screen or stay shared screen. (Personally I far preferred the older LEGO games that stayed shared screen.)