Bu eğitimde Unity'de multiplayer oyun sistemlerinin nasıl yapılandırıldığını öğreneceksiniz Multiplayer oyunların yapılandırma aşamaları hakkında bilgi edinerek, kendi oyunlarınızı da birden fazla oyuncu için uygun hale getirebilirsiniz Detayları keşfedin

Unity, birçok farklı türde oyunun geliştirilmesi için kullanılan etkileyici bir oyun motorudur. Son yıllarda, multiplayer oyunlarının popülaritesindeki artış, Unity platformunun multiplayer oyun geliştirme işini de çok daha önemli hale getirdi. Bu nedenle, platform Unity'de multiplayer oyun sistemleri ve yapısının kullanımı ve yapısının detaylı bir şekilde incelenmesi gerekiyor.
Bu makalede, en popüler Unity multiplayer sistemleri olan Photon Unity Networking ve UNet High-Level API incelenecek. Ayrıca, UNet LLAPI, NAT PunchThrough ve UNet Relay Server gibi farklı sistemleri de ele alınacaktır. Ayrıca, Unity oyun motoru için açık kaynak multiplayer network sistemi olan Mirror Networking de ayrıntılı bir şekilde incelenecektir.
Unity multiplayer oyunları için oyuncular arasında iletişim sağlamak ve oyun sürecini perdeler gibi görünmeyen arka planda yönetmek için iyi bir multiplayer sistemi gereklidir. Bu sistemin kurulumu Unity ile kolaydır. Her bir sistemi ve özelliklerini ayrı ayrı ele alarak, Unity platformunda multiplayer oyun sistemleri ve yapılandırma aşamaları hakkında tüm bilgiler sunulacaktır.
Photon Unity Networking (PUN)
Photon Unity Networking (PUN), Unity platformunda multiplayer oyun sistemleri arasında en çok kullanılanlardan biridir. PUN, Unity engine'inin yanı sıra, diğer oyun motorlarında da kullanılabilmektedir. PUN, hızlı ve pratik bir şekilde multiplayer oyunları geliştirilebilmesini sağlayan, açık kaynak kodlu bir sistemdir.
PUN, Unity Asset Store'da bulunabilir ve projeye tek bir tıklama ile eklenebilir. Bu özelliği sayesinde, kullanıcılar projelerini hızlı bir şekilde oluşturabilirler. Photon Unity Networking, zengin API dosyaları sağlayarak, programcıların multiplayer oyunların yapısını özelleştirmelerine olanak tanır. Kullanıcılar, mevcut kütüphaneleri kullanarak multiplayer oyunlarını daha hızlı bir şekilde geliştirebilirler.
PUN, Photon Cloud ile entegrasyon sağlayarak, oyun sunucusu hizmetini sunar. Bu da kullanıcıların sunucu barındırma hizmetleriyle uğraşmadan, hızlı bir şekilde çok sayıda kullanıcıya sahip multiplayer oyunlarını yayınlamalarını mümkün kılar. Ayrıca, Photon Unity Networking; zengin bir network özelleştirme paketi ile birlikte, akıllı telefonlar, tabletler, bilgisayarlar ve diğer platformlar arasında multiplayer oyunlarını mümkün kılar.
Photon Unity Networking, Unity platformunda çok sayıda örnekle birlikte gelir. Kullanıcılar, bu örnekleri kullanarak temel yapılara hızlı bir şekilde sahip olabilirler. Ayrıca, Photon Unity Networking, en son Unity sürümlerinde desteklenmekte ve güncellik sağlamaktadır. Bu sayede, sistemde meydana gelen hatalar ve sorunlar en kısa zamanda çözülebilmektedir.
UNet High-Level API
UNet High-Level API, Unity 5.1 ve sonrası sürümlerinde sunulan multiplayer oyunlar için kullanılan bir yükseltilmiş ağ arabirimi olarak adlandırılabilir. Bu sistemin en önemli özelliklerinden biri, Unity editorü üzerinden kolay ve çabuk bir şekilde kullanılabiliyor olmasıdır. UNet HLAPI, Unity'nin multiplayer oyunları için en uygun olan yüksek seviyeli API'lardan biridir.
Bu API'nin en önemli özelliklerinden biri, Unity'nin multiplayer oyunları için gerekli olan tüm yapılara hızlı ve kolay bir şekilde ulaşmayı sağlamasıdır. Ayrıca UNet HLAPI, Unity editorü üzerinden hızlı bir şekilde oyun sunucusu kurmak için kullanılan prefablar içermektedir. Bu prefabların kullanımı sayesinde kolayca oyun sunucusu oluşturabilir ve daha sonra bu sunucuları düzenleyebilirsiniz.
UNet HLAPI, Unity multiplayer oyunlarının kontrolünü elinde tutmak isteyen geliştiriciler için idealdir. Bu API, Unity'nin bütünleşik oyun mekanizmalarına kolayca erişebilmenizi sağlamaktadır. Ayrıca UNet HLAPI, Unity'nin mevcut multiplayer oyun motoru ile sorunsuz bir şekilde entegre edilir ve dolayısıyla Unity'nin multiplayer oyunlarının daha güçlü bir şekilde çalıştırılmasına yardımcı olur.
UNet LLAPI
Unity platformunda multiplayer oyunlarının kalbinde yer alan UNet Low-Level API, Unity multiplayer oyunları için daha fazla kontrol sağlayan bir seçenektir. Bu API, Unity'nin içsel API'si olan ve bir beyaz kutu API'si olarak adlandırılan HLAPI'den daha fazla özellik sunar. UNet Low-Level API, örneğin, birçok diğer oyun motorlarına ve sistemlere entegre olabilir.
Bununla birlikte, UNet LLAPI'nın kullanımı HLAPI'ya göre daha karmaşıktır ve programcıların belirli bir seviyede bilgi birikimi gerektirir. Ayrıca, Unity'nin multiplayer sistemi olarak HLAPI ile entegrasyonu daha kolaydır. UNet LLAPI, Unity'nin bir uygulama programlama arabirimi (API) olan İşletim Sistemi Düzeyinde Uygulama Profilleri (OSAP) ile kendi işlevselliğini sağlamasına olanak tanır.
UNet LLAPI ayrıca Network Address Translator (NAT) desteği ve sıfır-conf kurulumu ile birlikte gelir, bu da kullanıcıların oyunları hızlı ve kolay bir şekilde kurmalarını sağlar. Ayrıca, diğer oyun motorlarına ya da işletim sistemlerine entegre olma yeteneği, Unity'ye benzersiz bir konum kazandırmaktadır. Bu özellik sayesinde, oyun geliştiricilerine, daha önce mümkün olmadığı kadar geniş bir kitleye ulaşma fırsatı verir.
Ayrıca, UNet LLAPI, diğer multiplayer sistemlerindeki gibi bir sunucu gerektirmez. Bu, oyun geliştiricilerinin oyun sunucusu sağlamak için harcadıkları zamandan tasarruf ederek, oyunlarını daha da hızlandırmalarına izin verir. Bu harika bir özelliktir, çünkü oyunların hızlı bir şekilde başlatılması, kullanıcıların oyun deneyimlerini daha olumlu hale getirir.
NAT PunchThrough
Unity'de multiplayer oyunlarda bazen NAT (Network Address Translation) cihazlarının kullanılması gerekebilir. NAT cihazı, ağdaki cihazlara özel IP adresleri atar ve internete tek bir IP adresi üzerinden bağlanmalarını sağlar. Ancak bu durum multiplayer oyun yapılandırması için bir sorun olabilir. Çünkü iletişim kurulurken NAT cihazının engeli oluşabilir. NAT PunchThrough, bu soruna çözüm olarak geliştirilmiştir. Bu sistem, NAT cihazları üzerinden iletişim kurmayı sağlar.
NAT PunchThrough kullanmanın avantajları arasında, direkt bağlantının kullanılması yerine NAT cihazı üzerinden iletişim sağlaması bulunur. Bu sayede oyuncuların arasındaki iletişimde NAT cihazlarının engeli oluşmaz ve oyun performansı artar. NAT PunchThrough, Unity platformunda kolay bir şekilde kullanılabilir ve multiplayer oyun yapılandırmasında büyük bir kolaylık sağlar.
Relay Server
UNet Relay Server, Unity multiplayer oyunları için sunucu kurulumu gerektirmeden oyun sunucusu sağlayan bir araçtır. Bu araç, NAT Punchthrough teknolojisini kullanarak oyuncuların birbirleriyle bağlantı kurmasına yardımcı olur. Bu sayede, oyuncular arasındaki bağlantı sorunları minimize edilir ve daha az gecikme yaşanır.
UNet Relay Server, Unity 5.1 sürümünden sonra sunulan UNet High-Level API ile birlikte kullanılabilir. Bunun yanı sıra, Unity 2019 sürümüne kadar bu hizmet ücretsiz olarak sunulmaktadır. Relay Server kullanımı oldukça kolaydır ve oyun geliştiricilerinin sunucu kurulumuyla ilgili endişelerini ortadan kaldırır.
Zaman tasarrufu | Kolay kullanım | Güncellik |
---|---|---|
Relay Server, sunucu kurulumu gerektirmediği için oyun geliştiricilerinin zamanını tasarruf eder. | Kullanımı oldukça kolaydır ve NAT Punchthrough teknolojisini kullanarak oyuncular arasında daha hızlı ve güvenli bir bağlantı sağlar. | UNet Relay Server, Unity tarafından sunulduğu için güncellemeleri otomatik olarak alır ve kullanıcıların daha fazla güncellemeyle uğraşmasını önler. |
Kısacası, UNet Relay Server kullanımı kolay, hızlı ve güvenli bir multiplayer sunucusu sağlama aracıdır. Sunucu kurulumuyla ilgili endişeleri ortadan kaldırarak oyun geliştiricilerinin zamanını tasarruf eder. Oyuncular arasındaki bağlantı sorunlarını minimize ederek daha az gecikme yaşanmasına yardımcı olur. Sunduğu avantajlar nedeniyle, UNet Relay Server Unity multiplayer oyunlarının olmazsa olmazlarından biridir.
UNet HLAPI
Unity'de multiplayer oyun geliştirme süreci oldukça zahmetlidir ancak UNet HLAPI ile bu sürece kolaylık getirilmiştir. Hazır senaryolar ve özellikler sayesinde oyun yapılandırması hızlı ve kolay bir şekilde yapılabiliyor. UNet HLAPI multiplayer omurga, oyun hizmetleri ve ağ kontrolü gibi özellikler sağlar.
Bu özellikler sayesinde geliştiriciler ya da tasarımcılar Unity multiplayer oyun sistemi için oyunlarını kolay bir şekilde yapılandırabilirler. Bunun için hazır senaryolar kullanarak, minimum çaba ile oyunlarının multiplayer versiyonlarını oluşturabilirler. Bu hazır senaryoları kullanarak Unity multiplayer oyun sistemi için ihtiyaç duyulan ağı, menüyü, kimlik doğrulamasını vb. kolaylıkla ekleyebilirler.
UNet HLAPI, Unity multiplayer oyun sistemi için farklı özellikler de sunar. İçinde barındırdığı Unity multiplayer componentleri multiplayer sistemlerinde kullanılabilecek özellikleri arttırır. Ayrıca multiplayer oyunlarda önem arz eden ağ optimizasyonu ve düşük seviyeli protokol özellikleri ile oyunların hızlı, optimize edilmiş ve sorunsuz bir şekilde çalışması sağlanır.
Sonuç olarak, UNet HLAPI Unity multiplayer oyun geliştirme sürecini çok daha kolaylaştıran senaryolar, özellikler ve önemli ağ kontrolleriyle birlikte geliştiricilerin ve tasarımcıların işlerini büyük ölçüde kolaylaştırmaktadır.
Mirror Networking
Mirror Networking, Unity oyun motoru için açık kaynak multiplayer network sistemi olarak kullanılmaktadır. Bu sistemin en büyük özelliği, Unity oyun motorunun kendi multiplayer ağına göre daha hızlı ve düşük gereksinimli olmasıdır. Mirror Networking aynı zamanda UNet benzeri bir yapıya sahiptir ve Unity 2D/3D oyunlar için oldukça ideal bir multiplayer sistemi sunmaktadır.
Bu multiplayer sistemi, yüksek performans ve daha az bant genişliği tüketimi sağlar. Ayrıca konfigürasyonu ve kullanımı oldukça basit ve kolaydır. Mirror Networking'in High-Level API'sine ek olarak, düşük seviye API özellikleri de sunmaktadır. Bu sayede, geliştiricilere daha detaylı kontrol olanağı sağlamaktadır.
Mirror Networking için hazır yapılandırma senaryoları da bulunmaktadır. Bu senaryolar, multiplayer oyunlarını hızlıca yapılandırmak için kullanılabilir. Ayrıca, düşük seviye API özellikleri sayesinde geliştiriciler, kendi senaryolarını da oluşturabilirler. Mirror Networking, kolay kullanımı ve performansı sayesinde Unity geliştiricileri tarafından sıklıkla tercih edilmektedir.
Sabit Yapılandırma Senaryoları
Mirror Networking, Unity oyun motoru için açık kaynak multiplayer network sistemi olarak bilinmektedir. Bu sistemin özellikleri arasında hazır yapılandırma senaryoları da yer almaktadır.
Yapılandırma senaryoları, oyun geliştiricilerin uğraşmadan hızlı bir şekilde oyunlarını multiplayer yapmalarını sağlamaktadır. Mirror Networking'in, systremleri ve bileşenleri hızlıca yapılandırmak için kullanılabilecek birkaç hazır yapılandırma senaryosu bulunmaktadır.
Bu senaryolar arasında First Person Shooter (FPS), Tank Battle, ve MOBA senaryoları da yer almaktadır. Bu senaryolar sayesinde, oyun geliştiriciler oyunlarını çok daha hızlı bir şekilde hazır hale getirebilirler.
Ayrıca, yapılandırma senaryoları modifiye edilebilir. Geliştiricilerin kendi senaryolarını oluşturmasına imkan sağlanır ve bu şekilde istedikleri türde multiplayer oyun yapabilirler.
Yeni başlayanlar için Mirror Networking, hazır yapılandırma senaryoları sayesinde multiplayer oyun yapımını basitleştirirken, deneyimli geliştiriciler de kendi ihtiyaçlarına göre yapılandırmalarını yapabilirler.
Low-Level API Features
Unity oyun motoru için açık kaynak multiplayer network sistemi olan Mirror Networking'in öne çıkan özelliklerinden biri de en düşük seviyede API özelliklerine sahip olmasıdır. Bu özellikler sayesinde, oyun geliştiricileri oyunlarını daha fazla kontrol etme imkanı elde etmektedirler.
Mirror Networking'in Low-Level API özellikleri arasında iletme yöntemleri, paketlerin önceliği, paketlerin güncellenmesi, zamanlanan işlemler, oyuncu nesnelerinin takibi ve düzenlenmesi yer almaktadır. Ayrıca, bir oyun objesinin birden fazla sahibi olabileceği senaryolarda bile uygun bir senkronizasyon sağlayabilen Snapshot sistemi de bu API özellikleri arasındadır.
En düşük seviyede API özellikleri, Mirror Networking'i sadece Unity'de değil, farklı platformlarda kullanılabilen bir multiplayer network sistemi haline getirmektedir. Bu sayede, oyun geliştiricileri oyunlarını farklı platformlara yönelik olarak geliştirebilmekte ve birden fazla platformda oyunlarını yayınlayabilmektedirler.