[Extension] arcade-split-screen

Hey folks!

Here’s a little extension that @Lucas_M asked @jwunderl and I to whip up on stream today:

riknoll/arcade-split-screen

This adds one block that lets you enable split screen for your multiplayer game.

splitscreen

7 Likes

@jwunderl I also added the tilemap camera boxing you mentioned and made it so that this renders at z-index 99

3 Likes

One thing to note when using this – flags / etc set based on the camera - in particular, stay in screen, autodestroy (projectiles), bounce on wall when there is no tilemap - will still be based off the ‘real’ screen, so if you e.g. spawn projectiles for ‘player 2’ they might just … disappear if you don’t turn off autodestroy.

(also @richard I think you need to guard existence of realCamera.sprite and tilemap – I’m getting a null pointer exception when pressing b to enter split screen mode here without both those being set: https://makecode.com/_FAKPeTEVj3H3)

1 Like

Cool!

this sounds great for 2-player games made in the future!

I mean to reply “YAAAAY” but Microsoft is telling me its unclear XD

Wow! This Is Just What I Need For My Splatoon Game!

@jwunderl fixed!

1 Like

Can i have the link of youre game in the gif

@Opistickz here you go!

It’s not particularly exciting, just a barebones platformer.

2 Likes

Thank you Very much i need it because i keep getting errors and i need this to plagiarize uhm um i meant to get idea from here

@Opistickz not plagiarism at all! Feel free to do whatever you want with that code

I’ve tried to make a 2 player race game with this and I got the block and looked at the gif coding but I cant seem to get it working

@SCREEE123 can you share a link to your code?

Right now I am making a small 2 player game with this

here it is

i added the 3D render extension looking for a 2 screen block and didn’t need it

@SCREEE123 this extension is not compatible with the raycasting extension. I’m not super sure why, but I’d have to peak at the raycasting extension to figure that out. @AqeeAqee what z-index do you render on?

In the meantime, here is your project without the raycasting extension:

Hi @richard !

To takeover sprites( and baseSprite including Renderable) and prevent them from drawing in 2d mode, I removed them from the currentScene, once they are created. So nothing will be drawing when calling game.currentScene().render() with realScreen and realCamera, and the same result with fakeScreen and fakeCamera. What we got is rendered by raycasting ext., and a black strip drawn by split screen ext.

BTW, I almost missed this post, if you didn’t mention me. Love this wonderful extension, pretty codes, so valuable for 2 players game. Thanks!

Hi @SCREEE123 !
This raycasting ext. is drawing directly to the screen, and not considered split screen when designing. So it is not compatible with split screen mode yet. And I am not think I will fix this, cause:

  • The 3D mode will not performance well if render twice for both players.
  • This would be not necessary if only working in 2D mode, so just remove it pls.

These are just my thingking by now, any suggestions are welcome!

1 Like

thanks, i got the raycasting thinking it would work but it didn’t seem to as you say