Controlify

Controlify

609k Downloads

"Fake" split-screen

isXander opened this issue · 3 comments

commented

An intermediary step between full in-game split-screen could be achieved by simply smartly detecting other minecraft windows and utilising borderless windows to achieve a split-screen look.

Normal borderless fullscreen simply tells the OS to remove window borders, and sets the size and position to fill the screen. This could be adapted to manage both windows and position them in a split-screen view.

Problems to overcome

  • Currently, both instances will try to read the same config file, and have no way to communicate with
    eachother. This prevents changing any configs as it will behave funnily.

Issues with this implementation

  • Not ideal for system performance. Loading resources twice in RAM is very bad and there are a lot of systems
    in the game that only need to run once.
  • Running two instances of Minecraft will cause config issues with every mod, including vanilla options.txt
commented

You could do split screen even more simply. I do this with controllable. The only difference seems to be that controllable takes input from the assigned controller even when the window is not in the foreground.
Then windowing is handled externally from Minecraft within your OS. Minecraft multiplayer support handles the connection between games.
With a 5 year old PC hooked to a TV, I can do 4 minecraft instances running simultaneously. We use Controllable currently for the input (although it's running behind the current minecraft version). It's really fun. You can have 4 people playing locally at the same time.
More details on how it works:

  1. Use MultiMC to set up 4 separate instances of Minecraft. Or create 1 and make 3 copies.
  2. MultiMC makes each instance completely independent - different configs, mods, etc. Everything in .minecraft is separate. Each minecraft would run its own controllify.
  3. Connect multiple controllers to the PC
  4. Start the 4 minecraft instances and tile the windows
  5. Each minecraft detects all of the connected controllers, but the users use the keyboard to select a different input controller within that minecraft. Window1 picks controller1, Window2 picks controller2, etc.
  6. It would be nice if controllify remembered the selected controller so this is a one time task.
  7. One player starts a single player game and does Open to LAN.
  8. The other players do multiplayer games and connect to game 1.
  9. Done!
commented

You could do split screen even more simply. I do this with controllable. The only difference seems to be that controllable takes input from the assigned controller even when the window is not in the foreground. Then windowing is handled externally from Minecraft within your OS. Minecraft multiplayer support handles the connection between games. With a 5 year old PC hooked to a TV, I can do 4 minecraft instances running simultaneously. We use Controllable currently for the input (although it's running behind the current minecraft version). It's really fun. You can have 4 people playing locally at the same time. More details on how it works:

1. Use MultiMC to set up 4 separate instances of Minecraft. Or create 1 and make 3 copies.

2. MultiMC makes each instance completely independent - different configs, mods, etc. Everything in .minecraft is separate. Each minecraft would run its own controllify.

3. Connect multiple controllers to the PC

4. Start the 4 minecraft instances and tile the windows

5. Each minecraft detects all of the connected controllers, but the users use the keyboard to select a different input controller within that minecraft. Window1 picks controller1, Window2 picks controller2, etc.

6. It would be nice if controllify remembered the selected controller so this is a one time task.

7. One player starts a single player game and does Open to LAN.

8. The other players do multiplayer games and connect to game 1.

9. Done!

I do the same thing, for 2-player splitscreen with gdlauncher and midnightcontrols on windows, and it works pretty well (we also use the splitscreen support mode for arranging the windows easily, and removing the borders). I would prefer to use controlify for this, since it seems to be the friendliest, most robust controller mod, with the best default acceleration curves, from the ones I've tried. The only blocker for this working with controlify are 233 and 216, although, I think they're the same issue.

commented

Hey I am working on this in the background slowly in https://github.com/isXander/Controlify/tree/feature/splitscreen-sockets