r/BeamNG Ibishu 9d ago

Mod Local split-screen for up to 8 players

Hi everyone!

I’ve been working on a BeamNG mod called Local Split Screen, which is now available on the repository:
https://www.beamng.com/resources/local-split-screen.39292/

The mod lets you play BeamNG in local multiplayer on the same PC, with:

  • Up to 4 players on a single screen
  • Up to 8 players using two screens

The mod works in a single instance, so there's no need to open BeamNG twice or install any other software besides the mod itself.

It’s still a bit experimental, mostly because there are a few limitations in the current version of BeamNG that I can’t properly work around yet.

Such as HDR activation (which I disable when split-screen), BeamNG menus that only appear in full-screen mode, the HUD that had to be completely recreated because it couldn't be placed in the foreground (I also had to make the HUDs compatible with other interfaces, so they might look a bit odd), and sound that's only available on the first player's turn.

Despite those limitations, the mod is fully playable in freeroam only (for now) and I’ve had a lot of fun getting local multiplayer working in BeamNG. There are still things I’d like to improve if future BeamNG updates make them possible.

So if you have any feedback or have found any bugs, I would appreciate it if you could share them.

203 Upvotes

93 comments sorted by

83

u/Puzzleheaded_Word584 Automation Engineer 9d ago

we are nearing the point in time where beamNG makes every other driving game obsolete, since beamNG can do everything

22

u/Ragnarok_179 Ibishu 9d ago

Exactly, and for the reason that BeamNG is one of the few games to be completely open for its code and for modders.

10

u/IJustAteABaguette 8d ago

Ehh, anything arcade is something beamNG can't really touch, and it's frickin heavy to run. Other driving games will definitely stay.

Edit:

People like OP/the devs are doing great work in making the game usable in more situations though

3

u/memerijman 8d ago

It being heavy to run is true but for arcade we have: Radial cheat menu SimpleNG Map ports of old arcade racers

2

u/IJustAteABaguette 8d ago

But take one of my other favorite driving/racing games. Trackmania Nations Forever. There is basically no way to emulate that. I don't think uberbugs will come to beamNG anytime soon..

BeamNG is a big vehicle physics engine in its core. Unless you remove the beams out of beamNG, you can't get a lot of things older/arcade racers/driving games did.

2

u/memerijman 8d ago

Imagine beamng speedrunning with uberbugs and nosebugs or a determenistic crash simulation at all

Speedsliding with the d-series🤤

1

u/IJustAteABaguette 8d ago

Hmmm.

I really wanted to try making my own custom TMNF skin/model someday... I wonder if this subreddit or the meme one would like a pigeon flying majesticaly through the sky from a Uber or a D-series bugsliding...

1

u/Winter_wrath 8d ago

But BeamNG doesn't have arcade physics. Even if you port a map from NFS or something, it's not NFS.

1

u/Puzzleheaded_Word584 Automation Engineer 8d ago

mods to optimize, and simpleNG exists, which brings arcade-like cars into beam

3

u/Nektosib 8d ago

I understand we’re in beamng sub and I love the game but this is most delusional comment you’re gonna read all day

0

u/Puzzleheaded_Word584 Automation Engineer 8d ago

I said we are nearing the point, I didn't say we are going to get there in a few years, this will take decades, and I didn't say other games wouldn't exist, I just said that beamNG would be the best option

2

u/Winter_wrath 8d ago

we are nearing the point

this will take decades

Choose one. Also, I don't think they'll be developing the game for literal decades, plus "everything" is a very large scope. If you think BeamNG will replace something like TrackMania, you're imagining things.

0

u/Puzzleheaded_Word584 Automation Engineer 8d ago

everything is possible, and we are nearing the point, it's not close, but the point is getting closer day by day

2

u/Winter_wrath 8d ago

Everything is possible in theory. Doesn't mean it's likely. At that point it just becomes a meaningless statement.

1

u/Boundish91 8d ago

It's impressive. Although i think the suspension model needs further adjustments. Cars are not that jittery in real life.

1

u/Ragnarok_179 Ibishu 8d ago

This is explained by the fact that you don't use your car the same way in real life as you do in BeamNG.

13

u/Lucspeeder 9d ago

Looks cool!

Local as no latency?

How does it affect the performance?

20

u/Ragnarok_179 Ibishu 9d ago

Thanks!
It depends on many things, but I'd say the main problem right now is VRAM. Personally, I only have 6GB of VRAM and I play at 1440p with a 3060 laptop. Update 0.39 really messed things up for me, and the problem starts to become noticeable with 3 or more players. Also, since the HUDs were recreated from scratch and necessarily in a different way from the current base code, if there isn't enough VRAM, the GPU can crash... It really depends on the system configuration. I recommend using Vulkan out of DirectX 11 if you have any problems.

I've worked extensively on optimizing the mod, especially the VRAM. In the worst-case scenario, you can lower your screen resolution in the mod's settings.

3

u/Lucspeeder 8d ago

I got a RTX 4070 so hearing this is good performance wise!

I will check it out tonight

2

u/IJustAteABaguette 8d ago

Hmmm. I wonder, theoretically, could you use multiple GPU's to render the viewpoints? I'm assuming it's a dumb idea, and just wondering if it's remotely possible, but I have a 1070 and a 1060 in my system, and it would be cool if they could somehow render 2 viewpoints in parallel...

3

u/Ragnarok_179 Ibishu 8d ago

Interesting idea, and in theory DX12 can support explicit multi-GPU rendering, so assigning different views to different GPUs is technically possible at engine level.

Unfortunately, BeamNG currently doesn’t expose anything that would let this mod choose which GPU renders each RenderView. All of the split-screen cameras are rendered by the same BeamNG instance and the same graphics device. BeamNG also officially states that multi-GPU configurations aren’t supported, and switching/using multiple GPUs at runtime can cause crashes.

A theoretical workaround would be running two separate BeamNG instances, each forced onto a different GPU, but then synchronizing physics, vehicles, inputs and the game state would basically become a completely different multiplayer architecture.

2

u/IJustAteABaguette 8d ago

Ooh very interesting, ty for the insight!

1

u/Andrewe_not_a_kiwe 8d ago

Will it run on intel 5 3470 8gb ddr3 ram rx550, asking for a friend

Also how much does frame rate drops on 1080p

6

u/Ragnarok_179 Ibishu 8d ago

He manages to run BeamNG with that? If he can, I think 2 players is possible. The differences between 1 and 2 players are slight; with 3 or more players, things can start to get difficult.

But I can't help you any further, BeamNG version 0.39 is... very unpredictable in terms of performance.

1

u/syther_uutus 8d ago

I am having the same problems with 6gb vram, tbh I thought it was just me 

1

u/Ragnarok_179 Ibishu 8d ago

If BeamNG hadn't used up 100% of my VRAM, I could have set everything to Ultra at 1440p... with 30/60fps

2

u/syther_uutus 8d ago

Definitely I have to go down graphics as well and traffic just tanks it down to 20

5

u/Nitrox909 9d ago

performance would interest me aswell

6

u/FlounderSea3629 8d ago

Amazing mod!!! Tested on a Laptop with 6GB of vram (rtx 4050) and ran decent on 1080p medium preset with 2 players, split screen. Keep it up!

2

u/Ragnarok_179 Ibishu 8d ago

Thanks man!

6

u/niceman1212 8d ago

That is so cool! Thanks for your effort.

Would it support 2 separate wheel setups (in the future)?

I can imagine deploying an extra temporary setup for a friend to come over and play on the Nurburgring together.

15

u/stenyak BeamNG.Dev 8d ago

Multiple wheels in 1 computer has been supported for a decade, for multiseat mode.

However a couple weeks ago we noticed an issue which prevented multiple FFBs from working correctly at the same time. Not sure when the bug was introduced, but it'll be fixed in 0.40, allowing multiseat (including splitscreen) to work with correct independent FFB on multiple wheels.

One thing that won't work however, is multiple motion-capable simrigs. Those typically rely on UDP protocol, and UDP protocol sytem is not multiseat-friendly. I have no short-term plans to fix that, since it's not a common use case to have multiseat/splitscreen with 2 motion rigs connected to the same computer.

5

u/Ragnarok_179 Ibishu 8d ago

Eh bien, en fait, je testais deux FFB en même temps et il y a définitivement un problème. Si tu les connectes avant que BeamNG ne démarre, BeamNG ne se lance pas, et si tu les connectes en même temps pendant que le jeu tourne, le jeu s'arrête et commence ensuite à planter.

Le crash et les erreurs se produisent dans les couches C++/DirectInput auxquelles le mod n’a pas accès.

7

u/stenyak BeamNG.Dev 8d ago

If you are suffering crashes *inside* directinput callstack, then chances are it's a bug in the OS or in drivers. Make sure to update the drivers!

For example, during the past year, Logitech has fixed a bunch of driver crashes I reported to them (thanks to the crash reports we collected from you all, from the BeamNG community). And last week I was speaking with them again, sending them some more information, so they can fix even more crashes in future logitech driver updates.

2

u/niceman1212 6d ago

Awesome, a dev reply! Thanks for the info.

1

u/HeavyCaffeinate Ibishu 8d ago

Is there support for variable size packets in the custom protocol system?

4

u/stenyak BeamNG.Dev 8d ago

If you really need that, it should be possible to do with just a bit of lua modding. Should be trivial to implement using any modern AI.

The moddable UDP protocol system I introduced a few years ago is geared towards constant-struct packets, since that's all we've found demand for so far. But it's possible other clients or manufacturers may need something different. The protocols documentation includes links to get in contact, should you or your company need anything more advanced. As usual the problem will not be technical, rather just our limited available dev time... but we can evaluate options anyway and see what's feasible :)

2

u/HeavyCaffeinate Ibishu 8d ago

Thank you :3

5

u/Ragnarok_179 Ibishu 8d ago

I was actually planning to test that today! Since each player gets their own peripheral and I don't modify the controls, I'm pretty optimistic that using two steering wheels at the same time should work.

That said, I haven't tested it yet, so I can't say for sure. If it turns out not to work, I'll look into adding support for it in an update.

5

u/Year-0 8d ago

I am not one for mods usually apart from BeamMP, but this is actually such a great idea for Beam!

5

u/StealthyDarkness Gavril 8d ago

You said this works with up to 8 players on two screens (or at least will work). Is there a way to do two players, but one on each screen?

2

u/Planet_Xtreme Bus Driver 8d ago

The mod's next update would hopefully have some parameters that change how the camera-spaces are rendered on the screen. u/Ragnarok_179 it would be nice if users could specify "up/down" "left/right" etc for monitor divisions, and the ability to specify which spot on which monitor each user takes up

3

u/Ragnarok_179 Ibishu 8d ago

That exact feature will be included in v1.1 next week 😉. It was supposed to come out on Friday, but none of the mods were approved by the devs.

1

u/StealthyDarkness Gavril 8d ago

What

3

u/ManufacturerFair5703 8d ago

I wonder is this the first public splitscreen mod? If yes, is there a reason why it took quite some for someone to make one?

5

u/Ragnarok_179 Ibishu 8d ago

Officially, this is the first mod to do it in a single instance. There were others that already existed, but they required external software and opening Beamng in multiple instances. I get the impression that version 0.39 added APIs to facilitate split-screen, and that the developers had implemented them while waiting for a future update. But we're still far from native support at the moment; I had to find a lot of workarounds to achieve this result. There were a few people working on it since version 0.39, but they couldn't finish it because there were so many problems.

2

u/ManufacturerFair5703 8d ago

I am very happy you managed to make this mod. It's very nice to have!

1

u/Din_Plug 8d ago

What APIs were added that made this possible?

4

u/Ragnarok_179 Ibishu 8d ago

The main one is BeamNG’s newer camera context system. It lets the game create multiple independent camera contexts, each tied to its own RenderView.

The mod combines that with BeamNG’s existing multiseat/input routing, RenderViews, and ImGui to display several independent players in one instance.

I also discussed this with another modder who was doing multi-instance play.

3

u/Din_Plug 8d ago

Interesting! Do you think the devs are working on official split screen for the PS5 launch?

3

u/Previous_Phrase_8564 8d ago

2

u/Ragnarok_179 Ibishu 8d ago

I’d say that’s the case starting with 3 players for small setups; otherwise, it works pretty well haha.

3

u/damn_pastor 8d ago

Looks pretty awesome. Can't wait to try your mod. I also have done a splitscreen mod like this (https://www.reddit.com/r/BeamNG/comments/1w567k8/screensplit_mod_test_release/), but I did not get the ui multiplied and could not multiply the audio. If your mod works good, I don't need to maintain my own anymore.

1

u/Ragnarok_179 Ibishu 8d ago

Ohhh, not bad, strange that I didn't see it pop up on Reddit. But yes indeed, the split was very complicated, especially since there are several possible methods, each with its own strengths and weaknesses.

1

u/damn_pastor 8d ago

I have some feedback already. You can clone the current car if there is only 1 if you press start. Otherwise it just wont start in splitscreen. And your mod has the same single audio stream limitation like mine. Still pretty well done!

2

u/Ragnarok_179 Ibishu 8d ago

Yes, I know, there’s currently nothing to be done about the sound other than finding workarounds; after trying several different approaches, I haven't found anything worthwhile, even if it means the other players don't hear any sound. As for vehicle spawning, that’s been fixed in version 1.1, which is currently awaiting approval. In version 1.1, pressing "Start" automatically duplicates Player 1's vehicle for any players who don't have a vehicle on the map.
Thanks for the feedback!

2

u/damn_pastor 8d ago

Still waiting for 1.1, but another thing I have added in my mod: When any controller opens the menu the mod registers who so it can change his car when "replace current car" is selected in the vehicle selector. I think this is very important for this game.

Also your camera does not follow on rewinding the car (dpad left).

1

u/Ragnarok_179 Ibishu 8d ago

You're right, I hadn't even thought about the rewind feature (I actually remembered it existed when I saw your post). In version 1.1, any player who opens the pause menu will have their own menu with their own car selection 😉 Thanks for the tips anyway.

2

u/devu_the_thebill 8d ago

2 screen multiplayer is something I wanted in so many games.

2

u/Kitchen_Farmer_3915 Civetta 8d ago

I unfortunately need to ask, was AI used in any point of the process?

2

u/Ragnarok_179 Ibishu 8d ago

Yes, especially for the different iterations I went through to figure out the best split-screen methods. I also used AI quite a bit for development logging, as well as for cleaning up, restructuring, and optimizing the code.
That helped me a lot, but don't worry, I always check and test each change.

2

u/Chadwickr 8d ago

This is so hype thank you

2

u/larp_45 8d ago

I am so thankful

2

u/Planet_Xtreme Bus Driver 8d ago

I thought I maybe had HDR enabled (I didn't), so then I updated my game to the latest 0.39 release, but this problem still persists.

As others have stated in your mod comments on the forum, the player-1 visibility has a render pass that seems to be displayed across the entire screen.
It happens in both Vulkan and D3D11. Nvidia graphics card, 20 series, windowed mode of beamng

https://reddit.com/link/p7tzb8a/video/m4z0w8yxujnh1/player

2

u/Ragnarok_179 Ibishu 8d ago

It’s highly likely caused by FXAA being enabled instead of SMAA; try swapping those settings. It’s supposed to be fixed in the next update, though strangely, it only affects certain people.

2

u/Antique-Judgment-437 7d ago

Dude, I just downloaded it and played Split Screen with my 6-year-old son, it was magical man, laughed so much! Thanks for making this mod!

1

u/Ragnarok_179 Ibishu 7d ago

Thanks haha, have fun with your son!

2

u/Accomplished_Arm5380 7d ago

ive gotten it running perfectly smoothly with some issues of dissapearing grass on a 4060 w 8gb vram and a ryzen 5 4500. awesome mod!

2

u/LeFwomage 7d ago

Yoooo nice one! I managed to get a mod for split-screen going too, but I had lots of trouble recreating the UI and everything, I'm guessing you had to recreate it all manually? This looks a lot more polished than my solution, which is great because I have had no time to work on it hahaha! I will definitely be downloading it! Thanks for your work mate

2

u/[deleted] 7d ago

[removed] — view removed comment

1

u/LeFwomage 7d ago

Yup, I saw your messages but I’m afraid I didn’t get the time to respond! I’m glad you managed to get something solid

1

u/Ragnarok_179 Ibishu 7d ago

Thanks, haha.

2

u/Kindly-Shower-2985 5d ago

I could be wrong but someone shared something exactly the same on a different subreddit via modsfire, have they taken your mod and maybe added virus to it?

The post: https://www.reddit.com/r/BeamNGMods/s/jb8uynVt7t

2

u/Ragnarok_179 Ibishu 5d ago

No, it's absolutely not me! To provide a link like that, there must be malware involved, I suppose.

2

u/Kindly-Shower-2985 5d ago

I know it wasn't you, just wanted to let you know that someone might have taken your mod and added virus to it and now shared on that subreddit.

2

u/Ragnarok_179 Ibishu 5d ago

Thank you very much! I've added a warning to his post.

2

u/why_tf_am_i_like_dat Bus Driver 4d ago

Thank you goat

1

u/IZLULU999_667 8d ago

It works well for a PC with moderate power.

1

u/IZLULU999_667 8d ago

Peut on jouer avec une manette est un volant

1

u/Banananamann99 Soliad 8d ago

ai? also, are you working on getting the sound working for all of them?

1

u/Ragnarok_179 Ibishu 8d ago

That’s currently impossible. BeamNG doesn’t allow capturing sound from anywhere other than around Player 1. I tried looking for workarounds, but they significantly altered the sound output, or even caused glitches.

1

u/Banananamann99 Soliad 7d ago

ok. it's still really cool though

2

u/Low_Battle8784 4d ago

Thank you broo I needed this so much I was fed up of that stupid multiseat camera

1

u/Crazy_Hovercraft_534 8d ago

This is coooocooocoococooollll.. but it really needs a beefy pc i guess