Herzlichen Glückwunsch! Du hast gerade ein Multiplayer-Battle Royale erstellt! Über diese Serie hast du:
- Erstellte modulare Skripte, die verschiedene Spielfunktionen wie das Teleportieren von Spielern behandeln.
- Gelernt, wie man benutzerdefinierte Ereignisse für den Start und das Ende von Matches erstellt
- Verwendete Arrays, um Spieler beim Beitreten, Gewinnen oder Verlassen von Spielen zu verwalten.
Aber dein Spiel ist fast bereit für andere zu spielen. Ziehe Spieler in dein Spiel, indem du deine Arena einzigartig macht und ein einprägsames Miniaturansichterstellst.
Optionale Verbesserungen
Hier sind einige Möglichkeiten, dein Erlebnis zu verbessern.
Verbessere Kartenvisualisierungen
Habe eine visuell interessante Karte setzt einen starken ersten Eindruck für dein Spiel, animierend Menschen, um anzufangen. Nehmen Sie sich etwas Zeit, um Ihre Graybox-Stufe in eine reale Karte zu verwandeln.
Erinnerst du dich, eine Beschreibung der Einstellung für dein Spiel am Beginn dieser Serie zu schreiben? Während du Build, stelle sicher, dass deine Karte eine klare Einstellung hat. Für Inspiration sind unten einige Beispielkarten von Roblox-Entwicklern aufgeführt.
Du kannst entweder in Studio bauen, oder fertige Assets verwenden. Hier sind einige vorgeschlagene Assets, die von Roblox hochgeladen wurden, die verwendet werden können, um eine Umgebung zu erstellen. Jedes Paket enthält hochwertige, vollständig texturierte Modelle.
Die Kraftfeld ändern
Während eines Spiels haben Sie vielleicht ein Kraftfeld bemerkt, wenn Spieler respawnen. Ändern Sie, wie lange das Kraftfeld in den SpawnLocation-Eigenschaften dauert.
- Klicken Sie auf den entsprechenden Spawn-Ort.
- In Eigenschaften > Kraftfeld ändern Sie den Wert Dauer.
Playtest und Variable bestätigen
Erfolgreiche Spiele auf Roblox werden häufig getestet, um sicherzustellen, dass das Spiel spaßvoll und fair ist.
Spiele dein Spiel mit Gleichaltrigen und prüfe auf gefolgte Profile:
- Fühlt die Dauer eines Matches richtig an? Enden Matches zu schnell ohne einen gewinnenden Spieler:inoder dauern zu lange?
- Fühlt sich die Größe der Karte richtig an? Gibt es Bereiche, die zu leer fühlen? Wird es lange dauern, bis sich in einen anderen Spieler:ingerät?
Testen, bewerten und modifizieren Sie Variablen, um das Gameplayzu verbessern. Einige Beispiele:
- Ändere GameSettings.matchDuration, um die Matchs länger auf einer größeren Karte zu machen.
- Stelle die Pause länger, wenn Spieler es zu plötzlich finden.
Machen Sie die Lobby Social
Beliebte Spiele in Roblox fügen den Spielern oft Minispiele hinzu, um sie zu ermutigen, während sie auf eine Pause warten, Spaß zu haben und sozial zu sein. Dies kann beinhalten, Kugenteile mit Physik hinzuzufügen, damit die Spieler spielen können, oder sogar Mini-Obstacle-Kurse.
Optionale Herausforderungen
Viele Roblox-Erlebnisse erhalten immer noch Updates, auch nachdem sie veröffentlicht wurden. Hier sind einige optionale Herausforderungen, die neue Funktionen für Ihr Projekt hinzufügen können.
Fallen
Erweitere Karten, indem du Fallen oder Hindernisse hinzufügst, die Spielern Schaden zufügen. Lerne mehr in Fallen erstellen .
Verfolgungsergebnis
Erstellen Sie eine Rangliste, die verfolgt, wie viele Male jemand eine Runde gewinnt. Code einen mit diesem Artikel auf Leaderboards .
Power-Ups
Erstellen Sie skriptgestützte Teile, die Änderungen wie Ändern der Geschwindigkeit eines Spieler:inoder der Angriffsstärke eines Toolvornehmen. Denken Sie daran, nach dem Ende eines übereinstimmenden resetMatch() zu verwenden, um die Reihe der Power-Ups wiederherzustellen. Weitere Informationen finden Sie im Power-Ups-Tutorial.
Füge mehr Arenen hinzu
Bauen Sie mehr Arenen mit verschiedenen Einstellungen und Code einer zufälligen Map-Auswahl. Wenn Spieler ein übereinstimmenstarten, wird ein Modul-Skript namens MapManager ein zufälliges Map auswählen, und dann Spieler an diesen Spawn-Orten zuordnen, wenn nötig. Überprüfen Sie die Code-Box unten, wenn Sie Hinweise brauchen oder eine Umsetzung sehen möchten.
--[[
Setup Notes:
1. In Workspace, create a folder named Maps. Store all parts of a map in individual folders.
2. For each individual map, include a folder named SpawnLocations
3. When starting a match, use pickNewMap() to get a random map. When assigning player spawn points, use
GetSpawnLocations() to get a table with all locations.
]]
local MapManager = {}
local mapsFolder = workspace.Maps
-- Speichert alle Karten, die zwischen gedreht werden können
local availableMaps = mapsFolder:GetChildren()
-- Speichert die aktuelle Karte im spielen
local activeMap
-- Wird verwendet, um zufällige Karten zu erhalten.
local randomGenerator = Random.new()
-- Erzeugt eine zufällige Karte aus der verfügbaren Karten-Tabelle
function MapManager.pickNewMap()
local whichMapKey = randomGenerator:NextInteger(1, #availableMaps)
activeMap = availableMaps[whichMapKey]
print("New map: " .. activeMap.Name)
end
-- gibt eine tabelle mit den aktuellen spawn-punkten zurück
function MapManager.getSpawnLocations()
local spawnPoints = activeMap:FindFirstChild("SpawnLocations")
local availableSpawnPoints = spawnPoints:GetChildren()
return availableSpawnPoints
end
return MapManager