¡Felicidades! ¡Acabas de crear una batalla royale multijugador! A lo largo de esta serie, tienes:
- Creó scripts modulares que manejan diferentes funciones del juego, como teletransportar jugadores.
- Aprendiste código para eventos personalizados para el comienzo y final de partidas
- Arreglos usados para administrar a los jugadores mientras se unen, ganan o salen del juego.
Pero, tu juego está casi listo para que otros lo jugar. Atrae a los jugadores a tu juego haciendo que tu arena sea única y creando una vista previa de miniatura.
Mejoras Opcionales
A continuación, hay algunas formas de mejorar su experiencia.
Mejora las vistas del mapa
Tener un mapa visualmente atractivo establece una primera impresión fuerte para tu juego, que alienta a las personas a comenzar a jugar. Toma un poco de tiempo para convertir tu nivel de caja gris en un mapa real.
¿Recuerdas escribir una descripción de la configuración para tu juego al comienzo de esta serie? A medida que compilación, asegúrese de que su mapa tenga una configuración clara. Para inspiración, a continuación se muestran algunos ejemplos de mapas construidos por los desarrolladores de Roblox.
Puede construir en Studio, o usar modelos prefabricados de Roblox que se pueden usar para construir un entorno, ambiente. Cada paquete incluye modelos de alta calidad y totalmente texturizados.
Cambiar el Campo de Fuerza
Durante un juego, puede haber notado un campo de fuerza cuando los jugadores reaparecen. Cambia la duración del campo de fuerza en las propiedades SpawnLocation.
- Haga clic en la ubicación de generación relevante.
- En Propiedades > Campo de fuerza, cambia el valor de Duración.
Probar y confirmar variables
Los juegos exitosos en Roblox se prueban con frecuencia para asegurar que el juego es divertido y justo.
Pruebe su juego con pares y verifique lo siguiendo:
- ¿Se siente la duración de una partida bien? ¿Terminan las partidas demasiado rápido sin un jugador ganador, o toma demasiado tiempo?
- ¿Se siente el tamaño del mapa correcto? ¿Hay áreas que se sienten demasiado vacías? ¿Tomará mucho tiempo salir con otro jugador?
Prueba, valora y modifica las variables para mejorar el rendimiento del juego. Algunos ejemplos:
- Cambia GameSettings.matchDuration para hacer que los partidos sean más largos en un mapa más grande.
- Haz que la duración de la interrupción sea más larga si los jugadores sienten que es demasiado inesperado.
Haz que la sala social
Los juegos populares en Roblox a menudo agregan minijuegos para que los jugadores se diviertan y sean sociales mientras esperan una interrupción. Esto puede incluir poner partes de esfera con física para que los jugadores puedan jugar, o incluso minicarreras de obstáculos.
Desafíos opcionales
Muchas las experiencias de Roblox continúan obteniendo actualizaciones incluso después de su lanzamiento. A continuación, hay algunos desafíos opcionales que pueden agregar nuevas características para su proyecto.
Trampas
Haz que los mapas sean más desafiantes agregando trampas o obstáculos que dañan a los jugadores. Aprende más en Crear trampas .
Puntuación de seguimiento
Crea una tabla de clasificación que rastrea cuántas veces alguien gana una ronda. Código uno usando este artículo en Tablas de clasificación .
Potenciadores
Cree partes con script que hacen cambios como modificar la velocidad de un jugador o el poder de un ataque. Recuerda, después del final de un coincidir, usar el resetMatch() para recrear el conjunto de potenciadores. Para obtener más información, consulta el tutorial de Potenciadores.
Añadir más arenas
Construye más arenas con diferentes configuraciones y código una selección de mapa aleatorio. Cuando los jugadores comienzan una coincidir, un módulo de script llamado MapManager elegirá un mapa aleatorio y luego asignará jugadores a esas ubicaciones de generación como sea necesario. Comprueba la caja de código a continuación si necesitas sugerencias o para ver una implementación.
--]]
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
-- Almacena todos los mapas que se pueden rotar entre
local availableMaps = mapsFolder:GetChildren()
-- Almacena el mapa actual en jugar
local activeMap
-- Se usa para obtener mapas aleatorios.
local randomGenerator = Random.new()
-- Obtiene un mapa aleatorio de la tabla de mapas disponibles
function MapManager.pickNewMap()
local whichMapKey = randomGenerator:NextInteger(1, #availableMaps)
activeMap = availableMaps[whichMapKey]
print("New map: " .. activeMap.Name)
end
-- 返回一个包含当前生成点的表
function MapManager.getSpawnLocations()
local spawnPoints = activeMap:FindFirstChild("SpawnLocations")
local availableSpawnPoints = spawnPoints:GetChildren()
return availableSpawnPoints
end
return MapManager