diff --git a/client/autoloads/gamestate.gd b/client/autoloads/gamestate.gd
index 86ce2750b072132682c2fd52751073970f193e7c..d8f9910b4f85739687bbf9e79c8edf4a1e6ba441 100644
--- a/client/autoloads/gamestate.gd
+++ b/client/autoloads/gamestate.gd
@@ -59,4 +59,7 @@ puppet func startGame():
 		i+=1
 		
 	var playerArrow:Node = preload("res://entities/characters/playerArrow.tscn").instance()
-	get_node(GAMEPATH+str(get_tree().get_network_unique_id())).add_child(playerArrow)
\ No newline at end of file
+	var playerCamera:Node = preload("res://entities/characters/camera.tscn").instance()
+	
+	get_node(GAMEPATH+str(get_tree().get_network_unique_id())).add_child(playerArrow)
+	get_node(GAMEPATH+str(get_tree().get_network_unique_id())).add_child(playerCamera)
diff --git a/client/entities/characters/camera.tscn b/client/entities/characters/camera.tscn
new file mode 100644
index 0000000000000000000000000000000000000000..99973582c8a0308773eb2a59bd00b4fa111ea679
--- /dev/null
+++ b/client/entities/characters/camera.tscn
@@ -0,0 +1,5 @@
+[gd_scene format=2]
+
+[node name="Camera" type="Camera"]
+transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 25 )
+fov = 30.0
diff --git a/client/entities/characters/hp.gd b/client/entities/characters/hp.gd
index c6f07763273b928d6f95353679ad68bd19e491c7..2448e00005ad1e85bdba5e44814037ba728afda4 100644
--- a/client/entities/characters/hp.gd
+++ b/client/entities/characters/hp.gd
@@ -1,4 +1,5 @@
 extends Label
+
 const GAMEPATH = "/root/game/"
 
 var hp:int
@@ -16,7 +17,7 @@ func _ready():
 
 
 func _process(_delta):
-	var cam = get_tree().get_root().get_camera()
+	var cam = get_viewport().get_camera()
 	posPv.x = player.get_global_transform().origin.x - 0.2
 	posPv.y = player.get_global_transform().origin.y + 2
 	var labelIdpos = cam.unproject_position(posPv)
diff --git a/client/entities/characters/pseudo.gd b/client/entities/characters/pseudo.gd
index 8748498cc3bc10193528c3ec85254d4cb7f1bcff..d28557565d39cdc0b757f974f32f9cf78c5c9ad7 100644
--- a/client/entities/characters/pseudo.gd
+++ b/client/entities/characters/pseudo.gd
@@ -4,10 +4,8 @@ const GAMEPATH = "/root/game/"
 
 var posId
 var player
-var cam
 
 func _ready():
-	cam = get_tree().get_root().get_camera()
 	posId = Vector3(0,0,0)
 	player = get_node("../../")
 	var my_id = get_tree().get_network_unique_id()
@@ -17,6 +15,7 @@ func _ready():
 
 
 func _process(_delta):
+	var cam = get_viewport().get_camera()
 	posId.x = player.get_global_transform().origin.x - 0.75
 	posId.y = player.get_global_transform().origin.y + 2.5
 	var labelIdpos = cam.unproject_position(posId)
diff --git a/client/levels/test/game.tscn b/client/levels/test/game.tscn
index 2c2e41cf8431fe846cdaf7bd1bf7c4e5f5b1ff3c..6d5fc470207f8290ec2f7e88563af71bfca4fe43 100644
--- a/client/levels/test/game.tscn
+++ b/client/levels/test/game.tscn
@@ -7,10 +7,6 @@
 [node name="game" type="Spatial"]
 script = ExtResource( 1 )
 
-[node name="camera" type="Camera" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.08, 22.8061 )
-fov = 30.0
-
 [node name="structure" type="Spatial" parent="."]
 
 [node name="bloc" parent="structure" instance=ExtResource( 2 )]
diff --git a/server/autoloads/gamestate.gd b/server/autoloads/gamestate.gd
index 86335ac197a32f6d378329e86b9a4f6df192dc8b..12fa5c5cc13dadc16bd0e053b1a6ba26c7cd0509 100644
--- a/server/autoloads/gamestate.gd
+++ b/server/autoloads/gamestate.gd
@@ -3,7 +3,7 @@ extends Node
 const GAMEPATH = "/root/game/"
 
 const PORT = 10001
-const MAX_CLIENTS = 2
+const MAX_CLIENTS = 1
 
 var players = {}