Congratulazioni! Hai appena creato una battaglia multiplayer! Su questa serie, hai:
- Script creati modulari che gestiscono varie funzioni di gioco come il teletrasporto dei giocatori.
- Imparato a codificare eventi personalizzati per l'avvio e la fine delle partite
- Liste usate per gestire i giocatori mentre si uniscono, vincono o lasciano i giochi.
Ma, il tuo gioco è quasi pronto per altri giocatori da Giocare. Attrae i giocatori nella tua arena facendo in modo che la loro attenzione sia catturata dalla tua miniatura Miniatura.
Miglioramenti opzionali
Ecco alcuni modi per migliorare la tua esperienza.
Migliora le visualizzazioni della mappa
Avere una mappa visualmente interessante imposta una prima impressione forte per il tuo Gioco, incoraggiando le persone a iniziare a giocare. Prendi del tempo per convertire il tuo livello di scatola grigia in una mappa reale.
Ricordi di scrivere una descrizione della impostazione per il tuo gioco all'inizio di questa serie? Mentre compilare, assicurati che la tua mappa abbia una Configurazionechiara. Per ispirazione, qui sono alcuni esempi di mappe costruite dai creatori di Roblox.
Puoi costruire in Studio, o usare risorse preimpostata. Di seguito sono alcune risorse raccomandate caricate da Roblox che possono essere utilizzate per costruire un Ambiente. Ogni pacchetto include modelli di alta qualità, completamente textureati.
Cambiare il campo di forza
Durante una Gioco, potresti aver notato un campo di forza quando i giocatori respawn. Cambia la durata del campo di forza nelle proprietà SpawnLocation.
- Fai clic sulla posizione di spawn pertinente.
- In Proprietà > Forcefield, cambia il valore Durata .
Playtest e conferma delle variabili
I giochi su Roblox vengono testati frequentemente per assicurare che il gameplay sia divertente e giusto.
Prova il tuo gioco con i pari e verifica se segue le Seguendoregole:
- La durata di una partita sembra giusta? Le partite finiscono troppo velocemente senza un Giocatorevincitore, o prendono troppo tempo?
- La dimensione della mappa sembra giusta? Ci sono aree che sembrano troppo vuote? Ci vuole molto tempo per entrare in un altro Giocatore?
Prova, valuta e modifica le variabili per migliorare il Partita. Alcuni esempi:
- Cambia GameSettings.matchDuration per allungare le partite più lunghe in una mappa più grande.
- Rendi la durata dell'interruzione più lunga se i giocatori la sentono troppo improvvisata.
Rendi il Lobby Social
I giochi popolari in Roblox spesso aggiungono mini giochi per incoraggiare i giocatori a divertirsi e essere social mentre aspettano un intervallo. Ciò può includere mettere parti di sfera con fisica in modo che i giocatori possano Giocare, o anche mini corsi di ostacoli.
Sfide opzionali
Molte esperienze Roblox continuano ad ottenere aggiornamenti anche dopo la loro rilascio. Di seguito sono alcune sfide opzionali che possono aggiungere nuove funzionalità al tuo progetto.
Trappole
Rendi le mappe più impegnative aggiungendo trappole o ostacoli che danneggiano i giocatori. Scopri di più in Crea trappole .
Punteggio di tracciamento
Crea una classifica che traccia quante volte qualcuno vince un round. Codice uno usando questo articolo su Leaderboards .
Potenziamenti
Crea parti scriptate che fanno cambiamenti come modificare la velocità di un Giocatoreo il potere di attacco di uno strumento. Ricorda, dopo la fine di una Corrisponde, usa il resetMatch() per ricreare il set di potenziamenti. Per ulteriori informazioni, fai clic su Potenziamenti nel Tutoriale.
Aggiungi più arene
Costruisci più arene con diverse impostazioni e codice una selezione di mappa casuale. Ogni volta che i giocatori iniziano una Corrisponde, uno script del modulo chiamato MapManager sceglierà una mappa casuale e poi assegnerà ai giocatori queste posizioni di spawn come necessario. Controlla la casella di codice sottostante se hai suggerimenti o per vedere un'implementazione.
--[[
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
-- memorizza tutte le mappe che possono essere rotate tra
local availableMaps = mapsFolder:GetChildren()
-- Salva la mappa attuale in Giocare
local activeMap
-- Utilizzato per ottenere mappe casuali.
local randomGenerator = Random.new()
-- Ottiene una mappa casuale dalla tabella delle mappe disponibili
function MapManager.pickNewMap()
local whichMapKey = randomGenerator:NextInteger(1, #availableMaps)
activeMap = availableMaps[whichMapKey]
print("New map: " .. activeMap.Name)
end
-- restituisce una tabella con i punti di spawn correnti
function MapManager.getSpawnLocations()
local spawnPoints = activeMap:FindFirstChild("SpawnLocations")
local availableSpawnPoints = spawnPoints:GetChildren()
return availableSpawnPoints
end
return MapManager