Gratulacje! Właśnie stworzyłeś multiplayerową bitwę królewską! W tej serii masz:
- Utworzone modułowe skrypcje, które mogą zarządzać różnymi funkcjami gry, takimi jak teleportowanie graczy.
- Dowiedziałem się, jak kodować niestandardowe wydarzenia dla początku i końca meczów
- Używane arkusze kalkulacyjne do zarządzania graczami, gdy dołączają, wygrywają lub opuszczają gry.
Ale twój gracz jest prawie gotowy, aby inni mogli grać. Przyciągnij graczy do swojej gry, stawiając twój arenę unikalną i tworząc miniatura.
Opcjonalne Ulepszenia
Poniżej znajdują się kilka sposobów na poprawę swojego doświadczenia.
Popraw Mapy Wizualne
Posiadanie interesującej mapy wizualnie ustanawia silne wrażenie na gracza, zachęcając go do zaczęcia gry. Zajmij trochę czasu, aby przenieść swój poziom szarej kutki na prawdziwą mapę.
Pamiętasz pisanie opisu ustawienia dla swojej gry na początku tej serii? Po zbudowaniu upewnij się, że Twoja mapa ma wyraźne ustawienie. Dla inspiracji, poniżej znajdują się przykładowe mapy zbudowane przez deweloperów Roblox.
Możesz zbudować w Studio lub użyć gotowych zasobów. Poniżej znajdują się niektóre zalecane zasoby wysłane przez Roblox, które można użyć do budowania środowisko. Każdy pakiet zawiera wysokiej jakości, w pełni teksturowane modele.
Zmiany pola siłowego
Podczas gry możesz zauważyć pole siłowe, gdy gracze się odrodzić. Zmień czas trwania pola siłowego w właściwości SpawnLocation.
- Kliknij na odpowiednią lokalizację spawnu.
- W właściwościach > Forcefield zmień wartość Czasu trwania .
Testuj i potwierdzaj zmienne
Udane gry na Roblox są często testowane, aby upewnić się, że gra jest zabawa i sprawiedliwa.
Zagraj w swoją grę z rówieśnikami i sprawdź obserwuje:
- Czy czas trwania meczu czuje się prawidłowo? Czy mecze zakończą się zbyt szybko bez wygrywającego gracza, czy zbyt długo?
- Czy rozmiar mapy się dobrze czuje? Czy są obszary, które czują się zbyt puste? Czy to będzie długi czas do wtopienia się w kolejnego gracza?
Testuj, oceniaj i modyfikuj zmienne, aby poprawić rozgrywkaw tle. Niektóre przykłady:
- Zmień GameSettings.matchDuration , aby wydłużyć mecze na większej mapie.
- Dłuższy czas przerwy, jeśli gracze czują, że jest to zbyt niespodziewany.
Zrób Lobby Social
Popularne gry w Roblox często dodają mini-gry, aby zachęcić graczy do zabawy i bycia społecznością, gdy czekają na przerwę. To może obejmować umieszczanie części kuli z fizyką, aby gracze mogli grać, lub nawet mini-kursy przeszkód.
Opcjonalne wyzwania
Wiele doświadczeń Roblox nadal otrzymuje aktualizacje nawet po ich wydaniu. Poniżej znajdują się niektóre opcjonalne wyzwania, które mogą dodać nowe funkcje dla Twojego projektu.
Pułapki
Spraw, że mapy są bardziej wymagające, dodając pułapki lub przeszkody, które uszkadzają graczy. D dowiedz się więcej w tworzeniu pułapek .
Śledzenie wyników
Utwórz tabelę liderów, która śledzi, ile razy ktoś wygrywa rundę. Użyj kodu jednego z tych artykułów w Tabela liderów .
Ulepszenia
Twórz skryptowane części, które dokonują zmiany takie jak modyfikacja szybkości gracza lub mocy ataku narzędzia. Pamiętaj, po zakończeniu dopasowywać, użyj resetMatch() , aby odtworzyć zestaw ulepszeń. Dla referencji, dowiedz się więcej w tutorialu Ulepszenia.
Dodaj więcej aren
Zbuduj więcej aren z różnymi ustawieniami i kodem losowego wyboru mapy. Każdym razem, gdy gracze rozpoczynają dopasowywać, modułowy skrypt nazyające się MapManager wybierze losową mapę, a następnie przypisuje graczom te lokalizacje, jak wymagane. Sprawdź poniższą kartę kodu, jeśli potrzebujesz wskazówek lub zobaczyć jedną implementację.
--[[
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
-- Przechowuje wszystkie mapy, które można obrócić między
local availableMaps = mapsFolder:GetChildren()
-- Przechowuje bieżącą mapę w grać
local activeMap
-- Używany do uzyskiwania losowych map.
local randomGenerator = Random.new()
-- Zdobywa losową mapę z dostępnej tabeli map
function MapManager.pickNewMap()
local whichMapKey = randomGenerator:NextInteger(1, #availableMaps)
activeMap = availableMaps[whichMapKey]
print("New map: " .. activeMap.Name)
end
-- wraca tabelę z aktualnymi punktami pojawienia się
function MapManager.getSpawnLocations()
local spawnPoints = activeMap:FindFirstChild("SpawnLocations")
local availableSpawnPoints = spawnPoints:GetChildren()
return availableSpawnPoints
end
return MapManager