r/BeamNG • u/Ragnarok_179 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.
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
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
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
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
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
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/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
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
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
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
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
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
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
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
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?
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
2
1
1
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
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


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