Tebrikler! Çok oyunculu bir savaş royalei yarattınız! Bu seride, aşağıda bulunanlarınız var:
- Oyuncuların ışınlanması gibi farklı oyun işlevlerini işleyen modüler kaynaklar oluşturur.
- Maçların başlangıcı ve sonuna özel etkinlikler kodlamayı öğrendiniz
- Oyuncuların katılması, kazanması veya oyundan ayrılması için kullanılan matrisler.
Ancak, oyununuz diğerleri oynamak için neredeyse hazır. Arena'nızı benzersiz hale getirerek ve dikkat çekici bir küçük resimoluşturarak oyuncuları oyununuza çekin.
Opcional Geliştirmeler
Aşağıda deneyiminizi artırmak için birkaç yol var.
Harita Görüntülerini Geliştir
Görsel olarak ilginç bir harita oluşturur, insanları oynamaya başlatan güçlü bir ilk izlenim bırakır. Biraz zaman harcayarak grayskox'unuzu gerçek bir harita dönüştürün.
Başlangıç serisinin başında oyunun için bir ayar hakkında bir açıklama yazmayı unutmayın? Yapım aşamasında, haritanızın açık bir ayara sahip olduğundan emin olun. İlham için, aşağıda Roblox geliştiricileri tarafından oluşturulan bazı örnek haritaları vardır.
Stüdyo'da inşa etmek ya da önceden yapılmış kaynakları kullanmak için. Aşağıda Roblox tarafından önerilen bazı kaynaklar var, bir çevre oluşturmak için kullanılabilir. Her paket yüksek kaliteli, düzgün doku modelleri içerir.
Forcefield'i Değiştirme
Bir oyun sırasında, oyuncuların yeniden doğduğunda bir güç alanı fark etmiş olabilirsiniz. SpawnLocation özelliklerinde güç alanının ne kadar süreceğini değiştirin.
- İlgili Spawn Konumuna Tıklayın.
- Özellikler > Güç Alanı'nda, Süre değerini değiştirin.
Oynatma ve Onay Çeşitleri
Roblox'ta başarılı oyunlar sık sık oynanabilirlik ve adalet açısından test edilir.
Oyununuzu eşlerinizle oynayın ve takip edilenkontrol edin:
- Bir maçın süresi doğru mu hissediyor? Bir oyuncu kazanmadığında maçlar çok hızlı sona eriyor mu, yoksa çok uzun sürüyor mu?
- Haritanın büyüklüğü doğru mu hissediyor? Boş hisseden alanlar var mı? Başka bir oyuncuya çok fazla zaman alacak mı?
Oyun oynanışını geliştirmek için değişkenleri test edin, değerlendirin ve modifique edin. Birkaç örnek:
- Daha büyük bir haritada maçları daha uzun süreli hale getirmek için GameSettings.matchDuration değerini değiştirin.
- Oyuncular bunun çok ani hissettiğini hissediyorsa mola süresini daha uzun yapın.
Lobi Sosyal
Roblox'un popüler oyunları, oyuncuların eğlenmelerini ve sosyalleşmelerini sağlamak için mini oyunlar ekler. Bu, oyuncuların fiziksel olarak bir arada olmalarını sağlayarak eğlenmesini ve oynasağlayabilir, bunun gibi mini engel kursları da içerebilir.
Opcional Görevler
Birçok Roblox deneyimi, yayınlandıktan sonra bile güncellemeler almaya devam eder. Aşağıda, projeniz için yeni özellikler ekleyebileceğiniz bazı zorluklar var.
Tuzaklar
Oyunculara hasar veren tuzaklar veya engeller ekleyerek haritaları daha meşakkatçi hale getirin. Tuzakları Oluşturma bununla ilgili daha fazlasını öğrenin.
İzleme Skoru
Bir kişinin bir turu kazandığını kaç kez takip edeceğini gösteren bir lider tablosu oluşturun. Bu makaleyi Lider tablosunda kullanarak bir kod oluşturun.
Güçlendirmeler
oyuncuhızını veya silahının gücünü değiştirme gibi değişiklikler yapmak için kodlanmış parçalar oluşturun. Unutmayın, bir eşleşmesonunda, resetMatch() ı kullanarak güçlendirmenin setini yeniden oluşturun. İçin, öğretici şu Powerups ı öğreticinde öğretici şu Kaynaklar
Daha Fazla Arena Ekle
Farklı ayarlarda ve kodlarda daha fazla arenaya oluşturun ve oyuncuların bir rastgele harita seçimini kodlayın. Oyuncular bir eşleşmebaşlatırken, MapManager adlı bir modül kodu seçecek ve ardından oyuncuları bu yerleşim yerlerine göre gerekirse atayacaktır. Aşağıdaki kod kutusunu kontrol edin, eğer ipuçlarına ihtiyacınız varsa veya bir uygulama gösterisi
--[[
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
-- Döndürülebilen tüm haritaları depolar
local availableMaps = mapsFolder:GetChildren()
-- oynaiçindeki mevcut haritayı saklar
local activeMap
-- Rastgele haritalar almak için kullanılır.
local randomGenerator = Random.new()
-- Mevcut harita tablosundan rastgele bir harita alır
function MapManager.pickNewMap()
local whichMapKey = randomGenerator:NextInteger(1, #availableMaps)
activeMap = availableMaps[whichMapKey]
print("New map: " .. activeMap.Name)
end
-- mevcut harita noktalarıyla bir tablo döndürür
function MapManager.getSpawnLocations()
local spawnPoints = activeMap:FindFirstChild("SpawnLocations")
local availableSpawnPoints = spawnPoints:GetChildren()
return availableSpawnPoints
end
return MapManager