Projeyi Tamamlama

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

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.

Map by Luxeyes
Harita Janedel tarafından harita

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.

  1. İlgili Spawn Konumuna Tıklayın.
  2. Ö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