0 votes

So I'm absolutory new to game developing and I'm currently learning Godot, I'm trying to create a project where there will be a time in the game when a player is given a task, for example avoiding monsters similar to this tutorial https://www.youtube.com/watch?v=WEt2JHEe-do
However only one player will solve the task and the rest of the players will be just watching, the thing is the placement and movement of the monsters are generated randomly (through path2d ,pathFollow2d and a timer), I want to show exactly what's happening to the other players and let just one of them take control.
- -
How can I show other players "the screen" of that player?

Ps: the game is WiFi Lan multiplayer game, using GDScript .

in Engine by (14 points)

1 Answer

+2 votes

You can attach cameras to other players and use make_current() method when you need to show their screen. After that use make_current() on the main camera

by (654 points)

Thanks for answering , but can you explain more ,in my current situation i have camera2d as a child to the game node , this camera follows the network master player, the task i was talking about will be added as a child to the game node when a button is clicked ,so currently only the network master (how clicked the button) will see the task and solve it let's call him player X, the rest of players don't get the same task added to their tree .I want the rest of players to be able to view the task that has been added to the player X and they should be able to see how X is reacting .
Like literarily I want to load X screen on all players during that task.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.