Xin chúc mừng! Bạn vừa tạo ra một trận chiến trực tuyến nhiều người chơi! Trong loạt bài này, bạn có:
- Tạo các tập lệnh modular xử lý các chức năng trò chơi khác nhau, chẳng hạn như dịch chuyển người chơi.
- Đã học cách lập trình sự kiện tùy chỉnh cho khởi đầu và kết thúc của trận đấu
- Các ma trận được sử dụng để quản lý người chơi khi họ tham gia, thắng hoặc rời khỏi trò chơi.
Nhưng, trò chơi của bạn gần như sẵn sàng cho người chơi khác để chơi. Thu hút người chơi vào trò chơi của bạn bằng cách làm cho sân của bạn độc đáo và tạo ra một bức trượt tuyệt vời.
Cải tiến tùy chọn
Dưới đây là một vài cách để cải thiện trải nghiệm của bạn.
Cải thiện tầm nhìn bản đồ
Có một bản đồ thú vị visually cho phép bạn tạo ra một ấn tượng mạnh cho trò chơi của bạn, khuyến khích người chơi bắt đầu chơi. Mất một vài thời gian để chuyển mức hộp xám của bạn thành một bản đồ thực.
Nhớ lên viết một mô tả của cài đặt cho trò chơi của bạn ở đầu loạt bài này? Khi bạn xây dựng, hãy đảm bảo map của bạn có cài đặt rõ ràng. Để cảm hứng, dưới đây là một số map ví dụ đã được xây dựng bởi những nhà phát triển Roblox.
Bạn có thể xây dựng trong Studio, hoặc sử dụng các tài nguyên được gợi ý dưới đây của Roblox để xây dựng một môi trường. Mỗi gói bao gồm các mô hình chất lượng cao, hoàn toàn bằng vật liệu.
Thay đổi trường lực
Trong một trò chơi, bạn có thể đã nhận thấy một trường lực khi người chơi respawn. Thay đổi thời gian trường lực trong các thuộc tính SpawnLocation.
- Nhấp vào vị trí phát triển liên quan.
- Trong Properties > Forcefield, thay đổi giá trị Duration.
Thử nghiệm và xác nhận biến
Các trò chơi thành công trên Roblox được thử nghiệm thường xuyên để đảm bảo trò chơi là vui vẻ và công bằng.
Chơi test game của bạn với các đồng nghiệp và kiểm tra các điều theo dõi:
- Liệu thời lượng của một trận đấu có cảm thấy đúng không? Các trận đấu kết thúc quá nhanh mà không có người chơi chiến thắng, hoặc mất quá lâu?
- Có phải kích thước bản đồ cảm thấy đúng không? Có bất kỳ khu vực nào cảm thấy quá trống rỗng? Sẽ mất rất nhiều thời gian để chạy vào một người chơi khác?
Thử nghiệm, đánh giá và thay đổi biến đổi để cải thiện trải trải nghiệm trò chơi. Một số ví dụ:
- Thay GameSettings.matchDuration để kéo dài trận đấu lâu hơn trên bản đồ lớn hơn.
- Làm cho thời gian nhiệm vụ dài hơn nếu người chơi cảm thấy nó quá bất ngờ.
Làm cho Lobby Social
Các trò chơi phổ biến trên Roblox thường thêm các trò chơi nhỏ để khuyến khích người chơi có vui và làm cho mọi người mạo hiểm trong khi họ đang chờ đợi một giải lao. Điều này có thể bao gồm đặt các bộ phận hình họa với vật lý để người chơi có thể chơi, hoặc thậm chí các khóa học mini
Thử thách Ops
Nhiều trải nghiệm Roblox tiếp tục nhận cập nhật ngay cả sau khi phát hành. Dưới đây là một số thử thách tùy chọn mà bạn có thể thêm các tính năng mới cho dự án của bạn.
Bẫy
Làm các bản đồ khó khăn hơn bằng cách thêm các bẫy hoặc vật cản làm hại người chơi. Học thêm ở Tạo các bẫy .
Điểm Theo Dõi
Tạo một bảng xếp hạng theo cách mà người ta thắng một trò chơi bao nhiêu lần. Sử dụng mã này trên Bảng xếp hạng .
Tăng sức mạnh
Tạo các bộ phận được lập trình để thực hiện các thay đổi như điều chỉnh tốc độ của một người chơi hoặc quyền tấn công của công cụ. Nhớ, sau khi kết thúc một trận tương thích, hãy sử dụng resetMatch() để tái tạo bộ nguyên tắc. Đối v
Thêm Thêm Đấu Trường
Xây dựng thêm các đấu trường với các cài đặt và mã khác nhau. Mỗi khi người chơi bắt đầu một tương thích, một script modul tên là MapManager sẽ chọn một bản đồ ngẫu nhiên, sau đó giao người chơi đến các vị trí xuất huận như cần thiết. Kiểm tra hộp mã bên dưới nếu bạ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
-- Lưu tất cả các bản đồ có thể quay vòng
local availableMaps = mapsFolder:GetChildren()
-- Lưu bản đồ hiện tại đang chơi
local activeMap
-- Được sử dụng để lấy bản đồ ngẫu nhiên.
local randomGenerator = Random.new()
-- Lấy một bản đồ ngẫu nhiên từ bảng đồ có sẵn
function MapManager.pickNewMap()
local whichMapKey = randomGenerator:NextInteger(1, #availableMaps)
activeMap = availableMaps[whichMapKey]
print("New map: " .. activeMap.Name)
end
-- trả về một bảng với các điểm phát triển hiện tại
function MapManager.getSpawnLocations()
local spawnPoints = activeMap:FindFirstChild("SpawnLocations")
local availableSpawnPoints = spawnPoints:GetChildren()
return availableSpawnPoints
end
return MapManager