← Tous les guides
Guide 5

Crée ton premier jeu où l’on vole et défend

Chaque joueur a une base. Attrape la gem au milieu, cours la rapporter chez toi pour marquer, et touche quiconque la porte.

Gratuit70 minutes · Débutant, dernier guide · Roblox Studio
1
Étape 1 / 8

Prépare le lieu

  1. Ouvre Roblox Studio, clique sur New Experience et choisis le modèle Baseplate.
  2. La gem sera au milieu de la carte. Quatre bases se dresseront autour, chacune à environ 60 studs du milieu.
  3. Ce jeu demande au moins deux joueurs, donc à la fin tu le testeras avec deux joueurs de test.

Plus de détails

  • Le modèle Baseplate se trouve dans la liste des modèles de l’écran d’accueil.
  • Le champ Position dans Properties montre où se trouve une pièce. Position 60, 0.5, 0 est à 60 studs du milieu de la carte.
  • Déplace la SpawnLocation, la plateforme où les joueurs apparaissent, près du milieu, pour que chaque joueur commence à la même distance de la gemme.
  • Sur un Mac, utilise la touche Cmd chaque fois que ce guide dit Ctrl.
Cette étape ne marche pas chez moi

Vérifie d’abord ces trois choses

  • Le nom de chaque pièce et de chaque script est exactement le même que dans le guide, avec les mêmes majuscules.
  • Le script se trouve dans le bon objet. Regarde l’étiquette au-dessus de la zone de code.
  • Ouvre la fenêtre Output depuis le menu Window. Le texte rouge montre le script et la ligne qui pose problème.

Toujours bloqué ? Écris-nous →

2
Étape 2 / 8

Construis les bases

  1. Dans Explorer, passe la souris sur Workspace, clique sur + et ajoute un Folder. Nomme-le Bases.
  2. Ajoute une Part. Mets Size à 16, 1, 16, active Anchored et mets-la en gris. Glisse-la dans Bases et nomme-la Base1.
  3. Duplique-la trois fois avec Ctrl+D. Nomme les copies Base2, Base3 et Base4 et place-en une de chaque côté de la carte.

Plus de détails

  • Pour mettre la pièce dans le dossier, tire son nom dans Explorer sur le nom Bases.
  • Les copies faites avec Ctrl+D sont déjà dans le dossier Bases. Renomme chacune avec F2.
  • Les noms doivent être exactement Base1, Base2, Base3 et Base4, sans espace avant le nombre.
  • Un serveur de plus de quatre joueurs a plus de joueurs que de bases. Plus tard, tu pourras régler la taille du serveur à 4 dans les paramètres du jeu sur Creator Hub.
Astuce. Garde les quatre bases à la même distance du milieu. Comme ça, le jeu est juste pour tout le monde.
Cette étape ne marche pas chez moi

Vérifie d’abord ces trois choses

  • Le nom de chaque pièce et de chaque script est exactement le même que dans le guide, avec les mêmes majuscules.
  • Le script se trouve dans le bon objet. Regarde l’étiquette au-dessus de la zone de code.
  • Ouvre la fenêtre Output depuis le menu Window. Le texte rouge montre le script et la ligne qui pose problème.

Toujours bloqué ? Écris-nous →

3
Étape 3 / 8

Crée la gem

  1. Ajoute une Part au milieu de la carte, à environ 4 studs au-dessus du sol. Mets Size à 2, 2, 2, choisis une couleur vive et mets Material sur Neon. Nomme-la Gem.
  2. Active Anchored et Massless, et désactive CanCollide.
  3. Passe la souris sur Gem, clique sur + et ajoute un ProximityPrompt. Mets ActionText sur Take et HoldDuration à 1.

Ce que fait chaque partie

  • Un ProximityPrompt montre un bouton quand un joueur se tient tout près. Le garder appuyé pendant 1 seconde le déclenche.
  • Massless activé et CanCollide désactivé empêchent la gem de ralentir ou de pousser le joueur qui la porte.

Plus de détails

  • Anchored, Massless et CanCollide sont des cases à cocher dans Properties.
  • Quand tu cliques sur +, écris ProximityPrompt pour le trouver. Clique dessus, puis change ActionText et HoldDuration dans Properties.
  • Dans le jeu, un petit bouton avec la lettre E et le mot Take apparaît quand tu es près de la gemme.
  • Sur un téléphone, les joueurs gardent le doigt appuyé sur ce bouton.
Cette étape ne marche pas chez moi

Vérifie d’abord ces trois choses

  • Le nom de chaque pièce et de chaque script est exactement le même que dans le guide, avec les mêmes majuscules.
  • Le script se trouve dans le bon objet. Regarde l’étiquette au-dessus de la zone de code.
  • Ouvre la fenêtre Output depuis le menu Window. Le texte rouge montre le script et la ligne qui pose problème.

Toujours bloqué ? Écris-nous →

4
Étape 4 / 8

Donne une base et un score à chaque joueur

  1. Passe la souris sur ServerScriptService, clique sur + et ajoute un Script. Nomme-le Game.
  2. Supprime la ligne qui est déjà là et colle ce code. C’est la première des trois parties.
  3. Appuie sur Play. Une base devient verte. Celle-là est la tienne.
ServerScriptService > Game (1 / 3)
local Players = game:GetService("Players")

local bases = workspace:WaitForChild("Bases")
local gem = workspace:WaitForChild("Gem")
local home = gem.CFrame
local carrier = nil

Players.PlayerAdded:Connect(function(player)
	local stats = Instance.new("Folder")
	stats.Name = "leaderstats"
	stats.Parent = player

	local score = Instance.new("IntValue")
	score.Name = "Score"
	score.Parent = stats

	for _, base in ipairs(bases:GetChildren()) do
		if base:GetAttribute("Owner") == nil then
			base:SetAttribute("Owner", player.UserId)
			base.Color = Color3.fromRGB(60, 220, 120)
			break
		end
	end
end)

Players.PlayerRemoving:Connect(function(player)
	for _, base in ipairs(bases:GetChildren()) do
		if base:GetAttribute("Owner") == player.UserId then
			base:SetAttribute("Owner", nil)
			base.Color = Color3.fromRGB(160, 160, 160)
		end
	end
end)

Ce que fait chaque partie

  • Les premières lignes trouvent les bases et la gem et retiennent l’endroit où la gem a commencé.
  • SetAttribute écrit le UserId du propriétaire sur la première base libre.
  • PlayerRemoving libère à nouveau la base quand son propriétaire part.

Plus de détails

  • Le script s’ouvre dans un nouvel onglet. Clique dans le code, appuie sur Ctrl+A puis sur Ctrl+V pour tout remplacer.
  • La base qui devient verte dépend de l’ordre des bases dans le dossier. Promène-toi pour trouver la tienne.
  • La liste des joueurs en haut à droite affiche Score 0.
  • Rien ne se passe encore quand tu marches jusqu’à la gemme et que tu maintiens E. Cela vient à l’étape suivante.
Cette étape ne marche pas chez moi

Vérifie d’abord ces trois choses

  • Le nom de chaque pièce et de chaque script est exactement le même que dans le guide, avec les mêmes majuscules.
  • Le script se trouve dans le bon objet. Regarde l’étiquette au-dessus de la zone de code.
  • Ouvre la fenêtre Output depuis le menu Window. Le texte rouge montre le script et la ligne qui pose problème.

Toujours bloqué ? Écris-nous →

5
Étape 5 / 8

Laisse les joueurs prendre la gem

  1. Ouvre de nouveau le script Game.
  2. Colle ce code sous le code de l’étape précédente.
  3. Appuie sur Play, va jusqu’à la gem et garde E appuyé. La gem saute au-dessus de ta tête et te suit.
ServerScriptService > Game (2 / 3)
local function resetGem()
	carrier = nil

	local weld = gem:FindFirstChild("CarryWeld")
	if weld then
		weld:Destroy()
	end

	gem.Anchored = true
	gem.CFrame = home
	gem.ProximityPrompt.Enabled = true
end

gem.ProximityPrompt.Triggered:Connect(function(player)
	local character = player.Character
	local root = character and character:FindFirstChild("HumanoidRootPart")
	if carrier or not root then return end

	carrier = player
	gem.ProximityPrompt.Enabled = false
	gem.Anchored = false
	gem.CFrame = root.CFrame * CFrame.new(0, 4, 0)

	local weld = Instance.new("WeldConstraint")
	weld.Name = "CarryWeld"
	weld.Part0 = root
	weld.Part1 = gem
	weld.Parent = gem
end)

Ce que fait chaque partie

  • carrier retient qui tient la gem. Personne d’autre ne peut la prendre tant qu’elle est portée.
  • Un WeldConstraint colle la gem au joueur, donc elle bouge avec lui.
  • resetGem enlève la soudure et remet la gem au milieu.

Plus de détails

  • Pour rouvrir le script, fais un double-clic sur Game dans Explorer.
  • Clique après le tout dernier caractère du code et appuie deux fois sur Enter. Puis appuie sur Ctrl+V. N’appuie pas sur Ctrl+A cette fois, sinon tu remplaces la première partie.
  • La gemme flotte 4 studs au-dessus de ta tête pendant que tu la portes.
  • Pour tester : prends la gemme, puis vérifie que le bouton Take a disparu tant que tu la portes.
Cette étape ne marche pas chez moi

Vérifie d’abord ces trois choses

  • Le nom de chaque pièce et de chaque script est exactement le même que dans le guide, avec les mêmes majuscules.
  • Le script se trouve dans le bon objet. Regarde l’étiquette au-dessus de la zone de code.
  • Ouvre la fenêtre Output depuis le menu Window. Le texte rouge montre le script et la ligne qui pose problème.

Toujours bloqué ? Écris-nous →

6
Étape 6 / 8

Ajoute le score et le toucher

  1. Colle cette dernière partie tout à la fin du script Game.
  2. Appuie sur Play, prends la gem et cours sur ta base verte. Score augmente de 1 et la gem retourne au milieu.
ServerScriptService > Game (3 / 3)
for _, base in ipairs(bases:GetChildren()) do
	base.Touched:Connect(function(hit)
		local player = Players:GetPlayerFromCharacter(hit.Parent)
		if player and player == carrier and base:GetAttribute("Owner") == player.UserId then
			player.leaderstats.Score.Value += 1
			resetGem()
		end
	end)
end

while true do
	task.wait(0.2)

	if carrier then
		local weld = gem:FindFirstChild("CarryWeld")
		local root = weld and weld.Part0
		local character = root and root.Parent
		local humanoid = character and character:FindFirstChildOfClass("Humanoid")

		if not humanoid or humanoid.Health <= 0 or root.Position.Y < -20 then
			resetGem()
		else
			for _, other in ipairs(Players:GetPlayers()) do
				local otherRoot = other ~= carrier and other.Character and other.Character:FindFirstChild("HumanoidRootPart")
				if otherRoot and (otherRoot.Position - root.Position).Magnitude < 5 then
					resetGem()
					break
				end
			end
		end
	end
end

Ce que fait chaque partie

  • Chaque base vérifie trois choses : un joueur l’a touchée, ce joueur porte la gem, et la base lui appartient.
  • La boucle en bas se lance 5 fois par seconde. Si un autre joueur s’approche à moins de 5 studs de celui qui porte la gem, la gem retourne au milieu.
  • La boucle remet aussi la gem au milieu si celui qui la porte quitte le jeu ou tombe de la carte.

Plus de détails

  • Clique de nouveau après le tout dernier caractère du script, appuie deux fois sur Enter et colle.
  • Le script terminé a trois parties dans cet ordre : les bases et le score, prendre la gemme, marquer des points et toucher un joueur.
  • Une base grise qui n’appartient à personne ne donne aucun point. Seule ta propre base verte compte.
  • Tout seul, tu ne peux pas tester le fait de toucher un joueur. Tu le feras à deux joueurs à l’étape suivante.
Erreur fréquente. Coller cette partie au milieu du script. La boucle while ne finit jamais, donc tout code en dessous ne se lance jamais.
Cette étape ne marche pas chez moi

Vérifie d’abord ces trois choses

  • Le nom de chaque pièce et de chaque script est exactement le même que dans le guide, avec les mêmes majuscules.
  • Le script se trouve dans le bon objet. Regarde l’étiquette au-dessus de la zone de code.
  • Ouvre la fenêtre Output depuis le menu Window. Le texte rouge montre le script et la ligne qui pose problème.

Toujours bloqué ? Écris-nous →

7
Étape 7 / 8

Teste avec deux joueurs

  1. À côté du bouton Play, ouvre le petit menu et choisis Server & Clients. Mets le nombre de joueurs à 2 et appuie sur Play.
  2. Studio ouvre deux fenêtres de jeu. Chacune est un joueur différent avec une base différente.
  3. Prends la gem dans une fenêtre. Dans l’autre fenêtre, cours vers ce joueur. La gem retourne au milieu.
  4. Arrête le test avec le bouton rouge Stop dans la fenêtre principale de Studio, puis remets le menu sur Test.

Plus de détails

  • Le petit menu est la flèche juste à côté du bouton Play en haut de Studio.
  • Les deux fenêtres de jeu s’ouvrent l’une sur l’autre. Tire-en une sur le côté pour voir les deux.
  • Clique dans une fenêtre avant d’utiliser le clavier. Les touches vont à la fenêtre sur laquelle tu as cliqué en dernier.
  • Tester avec deux fenêtres demande un ordinateur avec assez de mémoire. Si c’est très lent, ferme d’abord les autres programmes.
Cette étape ne marche pas chez moi

Vérifie d’abord ces trois choses

  • Le nom de chaque pièce et de chaque script est exactement le même que dans le guide, avec les mêmes majuscules.
  • Le script se trouve dans le bon objet. Regarde l’étiquette au-dessus de la zone de code.
  • Ouvre la fenêtre Output depuis le menu Window. Le texte rouge montre le script et la ligne qui pose problème.

Toujours bloqué ? Écris-nous →

8
Étape 8 / 8

Publie-le

  1. Choisis File → Publish to Roblox. Donne un nom et une courte description au jeu.
  2. Sur le site Creator Hub, ouvre ton jeu et remplis le questionnaire Maturity.
  3. Mets le jeu en Public et envoie le lien à un ami.

Plus de détails

  • La première fois que tu publies, Studio te demande un nom et une description. Clique sur Create.
  • Creator Hub est le site create.roblox.com. Connecte-toi avec le même compte et clique sur ton jeu dans la liste.
  • Roblox peut demander autre chose avant qu’un jeu puisse être public, par exemple une vérification de l’âge sur le compte. La page t’indique ce qui manque.
  • Si tu as moins de 18 ans, fais cette étape avec un parent.
Astuce. Ce jeu n’est amusant qu’avec d’autres joueurs. Invite deux ou trois amis sur le même serveur pour la première partie.
Cette étape ne marche pas chez moi

Vérifie d’abord ces trois choses

  • Le nom de chaque pièce et de chaque script est exactement le même que dans le guide, avec les mêmes majuscules.
  • Le script se trouve dans le bon objet. Regarde l’étiquette au-dessus de la zone de code.
  • Ouvre la fenêtre Output depuis le menu Window. Le texte rouge montre le script et la ligne qui pose problème.

Toujours bloqué ? Écris-nous →

Maintenant, modifie-le toi-même

  • Termine la manche quand un joueur atteint 5 points et remets tous les scores à 0.
  • Ajoute une deuxième gem d’une autre couleur.
  • Rends celui qui porte la gem plus lent. Indice : mets Humanoid.WalkSpeed à 12 quand la gem est prise et remets 16 dans resetGem.