17 Nisan 2020 Cuma

Oyun ve Oyun Motoru Nedir?



Muhtemelen hepimiz bir oyunun ne olduğuna dair oldukça iyi sezgisel bir düşünceye sahibiz. Genel oyun "oyun" satranç ve Tekel gibi masa oyunları, poker ve blackjack gibi kart oyunları, rulet ve slot makineleri gibi casino oyunları, askeri savaş oyunları, bilgisayar oyunları, çocuklar arasında çeşitli oyun ve liste devam ediyor. Akademide, bazen, çok sayıda ajanın, iyi tanımlanmış bir oyun kuralları seti çerçevesinde kazançlarını en üst düzeye çıkarmak için stratejileri ve taktikleri seçtiği oyun teorisinden bahsediyoruz. Konsol veya bilgisayar tabanlı eğlence bağlamında kullanıldığında, "oyun" kelimesi genellikle oyuncu kontrolü altındaki ana karakter olarak insansı, hayvan veya aracı içeren üç boyutlu sanal dünyanın görüntülerini çağrıştırır. (Veya aramızdaki eski moruklar için, belki de Pong, Pac-Man veya Donkey Kong gibi iki boyutlu klasiklerin görüntülerini akla getiriyor.) Mükemmel kitabında, Oyun Tasarımı İçin Eğlenceli Bir TeoriRaph Koster, bir oyunu, oyuncuya öğrendiği ve sonunda ustalaştığı gittikçe zorlaşan desen dizisi sağlayan etkileşimli bir deneyim olarak tanımlar. Koster'in iddiası, öğrenme ve mastering faaliyetlerinin "eğlence" dediğimiz şeyin merkezinde olduğu, tıpkı paterni tanıyarak "elde ettiğimiz anda" bir şaka komik hale geldiği zaman.

Yumuşak Gerçek Zamanlı Simülasyonlar Olarak Video Oyunları


Çoğu iki ve üç boyutlu video oyunları, bilgisayar bilimcilerinin yumuşak gerçek zamanlı etkileşimli ajan tabanlı bilgisayar simülasyonları olarak adlandırdığı şeylere örnektir. Ne anlama geldiğini daha iyi anlamak için bu ifadeyi yıkalım. Çoğu video oyununda, gerçek dünyanın bazı alt kümeleri - ya da hayali bir dünya - matematiksel olarak modellenir, böylece bir bilgisayar tarafından manipüle edilebilir. Model, gerçeğe bir yaklaşım ve sadeleştirmedir (hayali bir gerçeklik olsa bile), çünkü her ayrıntıyı atom veya kuark seviyesine dahil etmek açıkça pratik değildir. Bu nedenle, matematiksel model gerçek veya hayal edilen oyun dünyasının bir simülasyonudur. Yaklaşıklık ve basitleştirme, oyun geliştiricisinin en güçlü araçlarından ikisidir. Ustalıkla kullanıldığında, büyük ölçüde basitleştirilmiş bir model bile bazen gerçeklikten neredeyse ayırt edilemez ve çok daha eğlenceli olabilir.
Tüm interaktif video oyunları zamansal simülasyonlardır, yani sanal oyun dünyası modeli dinamiktir. Oyun dünyasının durumu zamanla oyunun olayları ve hikayesi ortaya çıktıkça değişir. Bir video oyunu da insan oyuncu (lar) ından interaktif zamansal simülasyonlardan beklenmedik girdilere yanıt vermelidir. Son olarak, çoğu video oyunu hikayelerini sunar ve oyuncu girişlerine gerçek zamanlı olarak yanıt verir, bu da onları interaktif gerçek zamanlı simülasyonlar yapar.

Dikkate değer bir istisna, bilgisayarlı satranç veya gerçek zamanlı olmayan strateji oyunları gibi sıra tabanlı oyunlar kategorisidir. Ancak bu tür oyunlar bile kullanıcıya bir tür gerçek zamanlı grafik kullanıcı arayüzü sağlar.

Oyun Motoru Nedir?


"Oyun motoru" terimi, id Software tarafından delicesine popüler Doom gibi birinci şahıs nişancı (FPS) oyunlarına referans olarak 1990'ların ortalarında ortaya çıktı. Doom, temel yazılım bileşenleri (üç boyutlu grafik oluşturma sistemi, çarpışma algılama sistemi veya ses sistemi gibi) ile sanat varlıkları, oyun dünyaları ve oyuncunun oluşturduğu oyun kuralları arasında oldukça iyi tanımlanmış bir ayrım ile mimarileştirildi. oyun deneyimi. Geliştiriciler oyunları lisanslamaya ve yeni sanat, dünya düzenleri, silahlar, karakterler, araçlar ve oyun kurallarını "motor" yazılımında çok az değişiklik yaparak yeni ürünlere dönüştürmeye başladıkça bu ayrışmanın değeri belirginleşti. Bu, orijinal geliştiriciler tarafından sağlanan ücretsiz araç setlerini kullanarak mevcut oyunları değiştirerek yeni oyunlar inşa eden bireysel oyuncular ve küçük bağımsız stüdyolardan oluşan bir grup "mod topluluğu" nun doğumunu işaret etti. 1990'ların sonuna doğru, Quake III Arena ve Unreal gibi bazı oyunlar yeniden kullanım ve "modding" düşünülerek tasarlandı. Motorlar, id's Quake C gibi kodlama dilleri aracılığıyla son derece özelleştirilebilir hale getirildi ve motor lisansı, bunları oluşturan geliştiriciler için uygun bir ikincil gelir akışı olmaya başladı. Bugün, oyun geliştiricileri bir oyun motorunu lisanslayabilir ve oyun oluşturmak için önemli yazılım bileşenlerinin önemli bölümlerini yeniden kullanabilirler. Bu uygulama hala özel yazılım mühendisliğine ciddi bir yatırım gerektirse de, tüm temel motor bileşenlerini şirket içinde geliştirmekten çok daha ekonomik olabilir. Bir oyun ve motoru arasındaki çizgi genellikle bulanıktır.

Bazı motorlar oldukça açık bir ayrım yaparken, diğerleri bu ikisini ayırmak için neredeyse hiçbir girişimde bulunmaz. Bir oyunda, oluşturma kodu bir orkun nasıl çizileceğini "bilebilir". Başka bir oyunda, oluşturma motoru genel amaçlı malzeme ve gölgeleme olanakları sağlayabilir ve "orc-ness" tamamen verilerde tanımlanabilir. Hiçbir stüdyo, oyun ve motor arasında mükemmel bir ayrım yapmaz, bu da bu iki bileşenin tanımlarının genellikle oyunun tasarımı katılaştıkça değiştiği göz önüne alındığında anlaşılabilir.



Muhtemelen veri odaklı bir mimari, bir oyun motorunu, bir oyun olan, ancak bir motor olmayan bir yazılım parçasından ayıran şeydir. Bir oyun sabit kodlanmış mantık veya oyun kuralları içerdiğinde veya belirli türde oyun nesneleri oluşturmak için özel durum kodu kullandığında, bu yazılımı farklı bir oyun yapmak için yeniden kullanmak zor veya imkansız hale gelir. Muhtemelen "oyun motoru" terimini genişletilebilir ve büyük değişiklikler olmaksızın birçok farklı oyunun temeli olarak kullanılabilecek yazılımlar için ayırmalıyız.

Açıkçası bu siyah beyaz bir ayrım değildir. Her motorun düştüğü bir yeniden kullanılabilirlik gamı ​​düşünebiliriz. Bir oyun motorunun, Apple QuickTime veya Microsoft Windows Media Player'a benzeyen bir şey olabileceğini düşünebiliriz - akla gelebilecek herhangi bir oyun içeriğini oynayabilen genel amaçlı bir yazılım parçası. Ancak, bu ideale henüz ulaşılamamıştır (ve asla gerçekleştirilemez). Çoğu oyun motoru, belirli bir oyunu belirli bir donanım platformunda çalıştırmak için özenle hazırlanmış ve ince ayarlanmıştır. Ve en genel amaçlı çok platformlu motorlar bile, sadece birinci şahıs nişancı veya yarış oyunları gibi belirli bir türdeki oyunlar oluşturmak için gerçekten uygundur. Bir oyun motoru veya ara katman yazılımı bileşeni ne kadar genel amaçlı olursa, belirli bir oyunu belirli bir platformda çalıştırmak için o kadar az optimal olduğunu söylemek güvenlidir.

Bu fenomen, etkili bir yazılım parçasının tasarlanmasının her zaman değiş tokuş yapılmasını gerektirmesi ve bu değiş tokuşların, yazılımın nasıl kullanılacağı ve / veya üzerinde çalışacağı hedef donanım hakkında varsayımlara dayanması nedeniyle oluşur. Örneğin, samimi iç mekan ortamlarını işlemek için tasarlanan bir oluşturma motoru, büyük dış mekan ortamlarını oluşturmada muhtemelen çok iyi olmayacaktır. İç mekan motoru, kameraya veya duvarın yakınında bulunan herhangi bir geometrinin çizilmediğinden emin olmak için bir ikili alan bölümleme (BSP) ağacı veya portal sistemi kullanabilir. Dış mekan motoru ise, daha az kesin bir oklüzyon mekanizması kullanabilir veya hiçbirini kullanamaz, ancak muhtemelen uzaktaki nesnelerin minimum sayı ile oluşturulmasını sağlamak için ayrıntı düzeyi (LOD) tekniklerini agresif bir şekilde kullanır. Kameraya yakın olan geome-try için yüksek çözünürlüklü üçgen kafesler kullanırken.

Her zamankinden daha hızlı bilgisayar donanımı ve özel grafik kartlarının yanı sıra, her zamankinden daha verimli oluşturma algoritmaları ve veri yapılarının ortaya çıkması, farklı türlerdeki grafik motorları arasındaki farkları yumuşatmaya başlıyor. Örneğin, gerçek zamanlı bir strateji oyunu oluşturmak için birinci şahıs nişancı motoru kullanmak artık mümkün. Ancak, genellik ve iyimserlik arasındaki denge hala mevcuttur. Bir oyun, motoru belirli bir oyunun ve / veya donanım platformunun belirli gereksinimlerine ve kısıtlamalarına ince ayarlayarak her zaman daha etkileyici hale getirilebilir.

Türler Arası Motor Farkları


Oyun motorları tipik olarak biraz türe özgüdür. Boks ringinde iki kişilik bir dövüş oyunu için tasarlanan bir motor, çok oyunculu bir çevrimiçi oyun (MMOG) motorundan veya bir birinci şahıs nişancı (FPS) motorundan veya gerçek zamanlı bir strateji (RTS) motorundan çok farklı olacaktır. Bununla birlikte, türden bağımsız olarak, üst üste binen tüm 3D oyunlar da vardır, joypad, klavye ve / veya fareden bir tür düşük seviyeli kullanıcı girişi, bir tür 3D örgü oluşturma, bir tür kafa- çeşitli yazı tiplerinde metin oluşturma, güçlü bir ses sistemi ve liste dahil olmak üzere yukarı görüntüleme (HUD). Örneğin, Unreal Engine, birinci şahıs nişancı oyunları için tasarlanmış olsa da, Farming Simulator 15 gibi simülatör oyunları da dahil olmak üzere bir dizi başka türde de oyun oluşturmak için başarıyla kullanılmıştır. FS 15 modları ) ve Epic Games tarafından çılgınca popüler üçüncü şahıs nişancı oyunu Gears of War ve Rocksteady Studios tarafından Batman: Arkham Asylum ve Batman: Arkham City isabet ediyor.