Matematik, oyun oluşturmada merkezi bir rol oynar. İki veya üç boyutlu bir alanda objeleri konumlandırmak, bir karakterin diğerine bakıp bakmadığını veya ışığın belirli bir yüzeyden nasıl yansıması gerektiğini belirlemek gibi konular söz konusu olduğunda matematik, modern oyunlarda birçok mekaniğin temelini oluşturur. Oyunlarda kullanılan birçok matematiksel kavram gelişmiş ve göz korkutucu gibi görünebilecek olsa da bunlardan bazıları daha kullanıcı dostu bir öğrenme sürecine olanak tanır.
Başlangıç Kavramları
Objelerin üç boyutlu bir dünya alanı içindeki iki boyutlu bir ızgara üzerine yerleştirilmesi, çoğu sıra tabanlı strateji ve taktik oyununda kullanılan merkezi bir mekaniktir. Burada kullanılan matematik kavramları, diğer bazı matematik temelli video oyunu mekaniklerinden daha basittir, ancak üretilen en popüler oyunların çoğunun oluşturulmasında önemli bir rol oynar.
Rastgelelik, bir oyun tasarımcısının araç kutusunda bulunması gereken önemli bir araçtır. Rastgelelik, çok sayıda belirlenimci (determinist) deneyimi önceden tanımlamak ve bunların hepsini aynı anda takip etmek zorunda kalmadan çeşitli oynanış deneyimleri oluşturmaya yönelik bir mekanizma sağlar. Rastgeleliğin önemli unsurlarından biri de makul miktarda çeşitlilik sağlarken aynı zamanda olayların kaotik hale gelmemesi için yeterli sayıda faktörü kontrol etmektir. Bunun için olayların ne kadar rastgele veya düzenli hale gelebileceğine dair sınırları belirlemek gerekir.
Deneyim Yoluyla Öğrenmek
Bu eğitimde UEFN’de Verse ile sıra tabanlı bir kutu oyununun temel mekaniklerini nasıl uygulayacağını öğreneceksin. Bu oyun, 6259-2097-7759 ada koduyla Koordinat Savaşı! adlı bir Fortnite adası olarak yayınlanmıştır.
Oynanışa Genel Bakış
Oyun iki oyunculu, sıra tabanlı bir kutu oyunudur. Her oyuncunun tahtası, rastgele bir şekilde yerleştirilmiş ve gizlenmiş beş piyondan oluşan 5 x 5 boyutunda bir ızgaradır. Oyuncu, gizli piyonlar içeren rakip tahtasını doğrudan görürken kendi tahtasının daha küçük bir görünümü de oyuncunun ekranının sol üst köşesinde yer almaktadır.
Oyuncular sırayla birbirlerinin tahtasında bir koordinat seçerler.
Bir oyuncu bir koordinat seçtikten sonra iki seçeneği vardır:
Seçilen konumun belirli bir yarıçapı içindeki rakip piyonlarını açığa çıkarmak veya
Bir konuma saldırmak ve potansiyel olarak rakibin gizli piyonlarını yok etmek.
Rakibin beş piyonunun tamamını ilk yok eden oyuncu oyunu kazanır.
Burada ilave bir bilgi de UnrealEngine.com modülü XYZ koordinat sisteminde veya Verse.com modülü LUF koordinat sisteminde çalışmayı seçebilecek olmandır.
Bu eğitim, oynanış mekaniklerinin altında yatan matematiksel kavramları oluşturma konusunda sana rehberlik eder. Bu mekanikler aşağıdakileri içerir:
Üç boyutlu dünya alanındaki konumlar, iki boyutlu bir ızgara oyun tahtası ve ekranının köşesinde yer alan, oyuncunun oyun tahtasının mini tahtası arasında eşleştirme
Piyonları oyun tahtasına rastgele bir şekilde yerleştirme
Matematik şunları yapmak için kullanılır:
Bir mini tahtayı, bir kameranın konumuna ve dönüşüne göre çalışma zamanında dinamik olarak yerleştirmek
Oyun tahtasına piyonlar yerleştirmek
Mini tahta üzerine işaretleyiciler yerleştirmek
Bir kareden itibaren belirli bir mesafe içindeki piyonları açığa çıkarmak
Piyonları tahta üzerine rastgele bir şekilde yerleştirmek
Mekanikleri Oluştur
Koordinat Savaşı’nın oyun mekaniklerini oluşturma konusunda daha fazla bilgi edinmek için aşağıdaki eğitim sayfalarını incele:
1. Koordinat Alanlarına Genel Bakış
Koordinat Savaşı oynanışı tanımlamak için birden fazla koordinat alanı kullanır.
2. Oyun Tahtasını Tanımla
Oyun tahtası alanını kareler olarak temsil et ve dönüşümü yönet.
3. Piyonları Ayarla ve Kaldır
Tahtaya piyonlar ekle ve gerektiğinde bunları kaldır.
4. Tahtayı Oluştur
Piyonlar oluştur ve bunları tahta üzerine rastgele bir şekilde yerleştir.
5. Mini Tahtayı Tanımla
Mini tahtayı oluştur ve dünyaya yerleştir.
6. Mini Tahta İşaretleyicilerini Ayarla
Oyun tahtası durumunu mini tahtaya yansıt.
7. Oyunu Oluştur
Oyun döngüsü mantığını oluştur.
8. Koordinat Savaşı İçin Tam Kod Dosyaları
Bu eğitimdeki tüm Verse kodları tek bir yerde bir arada!