BİGWORLD ENGİNE - OYUN MOTORLARI - IRODELOV İÇİN DOSYALAR - OYUN OLUŞTURMA. WORLD OF WARSHİPS'İ NASIL YAPARIZ: İHRACAT OTOMASYONU VE KONTEYNER DOĞRULAMASI BİGWORLD ENGİNE 1.9 1 SUNUCU KAYNAK KODU
14.10.2020
Ziyaretçiler için gizlenmiş Kayıt olun
Giriş yap veya üye ol.
- Tür yönelimi: Herhangi bir türden 3D MMO;
- Platform: PC, PS3, Xbox 360, iOS (iPad), Web;
- Programlama dili: C++, Python;
- Lisans: bağımsız ve ticari;
- Açık kaynak kodu: Sağlanmadı veya daha fazla ödeme için sağlanmadı;
- Çok oyunculu: istemci sunucusu;
- Avantajlar: güçlü, en modern teknolojilerin tümü için destek, optimize edilmiş, iOS desteği, bu tür fırsatlar için ucuz;
- Dezavantajlar: ücretsiz sağlanmaz;
- Motor geliştiricileri:Bigworld Tech, Inc.
BigWorld Engine, MMO oyunları oluşturmak için en gelişmiş 3D motordur. Üzerinde wargaming.net'ten "World of Tanks", "PEALM OF THE TITANS" gibi oyunlar ve diğer birinci sınıf oyun geliştiricilerinin diğer oyunları yapılır. Bu motorda 15'ten fazla MMO oyunu var. Bigworld Technology tarafından geliştirilmektedir.
Motor optimizasyonu, çarpıcı grafiklere sahip düşük tüketimli oyunlar oluşturmanıza olanak tanır. Motor, oyunları iOS'ta taşımanıza izin verir. C ++ programlama dilinde yazılmış, içindeki oyun mantığının uygulanması uygun bir Python betiği üzerinde gerçekleştirilir. Güçlü araçlar ve bir istemci-sunucu motoru var. Ses için FMOD kitaplığı desteklenir ve diğer tüm kitaplıklar bir eklenti sistemi aracılığıyla bağlanır. XML ve MySQL tabanlarıyla çalışır. Araç setinde güçlü Dünya Düzenleyici, Model Düzenleyici ve Parçacık Düzenleyici bulunur.
Fiyat olarak çok erişilebilir. Build BigWorld: Indie Edition'ın maliyeti yalnızca 299 ABD dolarıdır; BigWorld: Bağımsız Kaynak Sürümü - 2,9999 Dolar; BigWorld: Ticari Sürüm - bireysel olarak görüşülür.
Bu gelişmiş motor, kendi türündeki diğer dünya motorlarının olanaklarından daha aşağı değildir. Motor Rusça, Korece, Amerika ve Japonca olarak mevcuttur. Dokümantasyon var, tarayıcılarda çalışabilir. Genel olarak, bilgi ve özen varsa çalışmaya devam edebilirsiniz.
Wargaming motorunun yaygınlaşmasından vazgeçmeye karar verdiği için, üçüncü taraf lisanslama için zaten mevcut değil.
Resmi site:
Bigworld Teknoloji Araç Zinciri, Oyununuzun Kalitesini ve Güncelliğini Artıracak Eksiksiz, Uçtan Uca Bir Mmog İçerik Oluşturma Sistemi Sağlar. Tüm Araçlar, Oyun Varlıklarının Geniş Bir Ekip Ortamında İşbirliğine Dayalı Olarak Üretilmesi, Kaynakların Etkin Kullanımı ve Sorunsuz Bir İçerik Hattı Sağlanması İçin Tasarlanmıştır.
"NVIDIA World": Projenizde kullanılan grafik motoru nedir? Minimum ve önerilen sistem gereksinimleri nelerdir? Belirli özellikler tarafından mı belirleniyorlar yoksa 3B kartların belirli bir yaygınlık düzeyine mi odaklandınız? En yeni nesil grafik kartlarının özelliklerini kullanıyor musunuz yoksa standarda mı yöneliyorsunuz?
World Of Tanks projesi, projenin ayrıntılarını oluşturmak için gereken kendi modifikasyonları ile BigWorld grafik motorunu kullanıyor. Motorun bir özelliği, örneğin World of Warcraft'ta yapıldığı gibi, kartın dinamik olarak yüklenebilen parçalarına sahip açık dünyalara odaklanmasıdır. Monitör ekranında, sanatçılarımızın eskizlerine yakın bir resim oluşturmanıza ve bunları sistem gereksinimlerine uyarlamanıza olanak tanıyan teknolojileri kullanmaya çalışıyoruz.
"NVIDIA World": Programlama açısından NVIDIA ve ATI'den çok farklı ekran kartları var mı? DirectX veya OpenGL aracılığıyla yazmak ve her iki satıcı için veya işlev sürümlerinizi oluşturmak için ihtiyaç duyduğunuz her üretici için etkili bir kod almak mümkün müdür? Nasıl bir yaklaşım kullandınız?
M. Zh.: Çeşitli üreticilerin video kartlarının kendilerine özgü özellikleri vardır. Özel doku biçimlerini destekliyor veya bir köşe gölgelendiriciden dokulara erişimi destekliyor olabilir. Aynı zamanda, API DirectX veya OpenGL tarafından sağlanan genel bir işlevsellik kullanılırken, iki satıcının GPU'su arasındaki farklar minimum düzeydedir ve sonuç olarak, ATI ve NVIDIA ekran kartları arasındaki fark, herhangi bir kısıtlamadan ziyade, büyük ihtimalle ek özelliklerdir. Motorun "özel ilişkisine" gelince, BigWorld hiçbir satıcı için belirleyici bir avantaj sağlamaz.
"NVIDIA World": NVIDIA ve ATI kartlarında oyun oynama hızlarındaki farklar nelerdir? Bu, oyun motorunun algoritmalarının özelliği mi yoksa oyun sahnelerine mi bağlı? Yani, örneğin, bir oyunda daha fazla oyulmuş sahneler var ve başka bir büyük OverDraw göstergesinde veya karmaşık kenar yumuşatma özellikli birçok yarı saydam dokuda ve daha yüksek Doldurma Oranına sahip bu video kartları aracılığıyla daha iyi başa çıkıyorlar mı? ("Sevilen" programınız herhangi bir mimari mi?).
M. Zh.: Farklılıklar esas olarak donanım özelliklerine (bellek lastiklerinin genişliğindeki farklılıklar, rasterleştirme bloklarının sayısı, gölgelendirici blokları vb.) ve ayrıca sürücülerin uygulanmasına indirgenir. CPU ve GPU üzerindeki yük ne kadar dengeliyse ve sahne ne kadar iyi organize edilmişse, video kartının özellikleri genel performansı o kadar az etkiler. Dokuların sayısına ve çözünürlüğüne, parçacıklardan ve şeffaf nesnelerden düşük fazla çekme, LOD -O'ları kullanma, nesneleri Gruplar halinde gruplama vb.
"NVIDIA World": Video kartlarını test ederken, kural olarak, yaklaşık olarak aynı oyun setleri kullanılır. 3D atıcılar, üçüncü şahıslardan RPG ve strateji gibi farklı türler için test sonuçlarının çıktısında böyle bir genelleme ne kadar uygun? Oyun performansınız için popüler test testleri var mı?
M. Zh.: Uygulamaları türlere ayırmazdım. Her şey, yalnızca algoritmaları kullanan geliştiricilerin elindedir. Her halükarda geliştiriciler, kullanıcı sistemini daha fazla yüklemeye ve ürünün maksimum çekiciliğini elde etmeye çalışıyorlar.
Crysis veya son Need for Speed gibi oyunlardaki FPS göstergelerine baktığınızda, bir dizi diğer modern oyundaki performansı kabaca hayal edebilirsiniz, bu nedenle burada bu testlerin oldukça gösterge niteliğinde olduğundan emin olarak konuşabiliriz. Bu seviyedeki oyunlar, video kartları için karşılaştırmalı değerlendirme olarak kullanılabilir çünkü yüksek kaliteli ayarlarda grafik alt sistemini en yüksek maksimumda yüklerler.
"NVIDIA World": İzin artışıyla birlikte CPU üzerindeki ilgili yük nedir? "Açısallıklarını" en aza indirmek için modellerin detaylandırılmasındaki artışın, animasyon, görünmez ilkel öğeleri kesme, gölge hacimleri oluşturma vb. için cpu güçlendirmeleri gerektirdiği doğru mu? Oyununuzda böyle bir etki oldu mu?
M. Zh.: Çözünürlükteki bir artış, ek olarak, motor modellerin çokgeninde otomatik bir artış, ek mozaikleme ve daha fazla çerçeve animasyon karesi sağlamadığı sürece, CPU yükünü doğrudan etkilememelidir. İzindeki bir artışla CPU üzerindeki yük sebepsiz yere büyüyorsa, sorun ya oyun kodunda ya da ekran kartı sürücüsündedir.
"NVIDIA World": Anizotropik filtreleme açıldığında CPU üzerindeki yük artabilir mi? Aynı durum Tam Sahne Kenar Yumuşatma için de geçerlidir. Bu, tüm sahnenin daha büyük bir çözünürlükte çizilmesini gerektiriyorsa, teorik olarak üçgen sayısı artabilir.
M. Zh.: Her iki sorunun da cevabı değil. Anizotropik filtrelemenin dahil edilmesi durumunda, tekstüre blokları üzerindeki yük artacaktır. FSAA etkinleştirildiğinde, daha fazla çalışma bir piksel taşıyıcıya sahip olur. Daha fazla izin için, piksel sayısı iki katına çıkarıldığında, piksel gölgelendirici, rasterleştirme blokları ve TMU'daki işlem sayısı artacaktır.
"NVIDIA World": GPU gölgelendiriciler için hesaplamaları aktarma süreci zaten çok uzun bir süredir, ilk önce T & L, kırpma idi. GPU'daki modellerin animasyonu olarak kabul edilir mi? Her şeyden önce, CPU üzerindeki hesaplamalar için 3B motor açısından geriye ne kalıyor? (T & L'ye ek olarak GPU hakkında ne düşünüyorsunuz?).
M. Zh.: Projemizde kullanılan motor GPU üzerinde herhangi bir hesaplama yapmıyor. Teorik olarak, diyelim ki, bir dizi nesnenin fiziğini gerçek zamanlı olarak düşünmek zorunda kalsaydık, NVIDIA GPU'da dikkate değer hesaplamalar yapan aynı Physx'i alabilirdik, ancak proje özellikleri nedeniyle, yeterli CPU kapasitemiz var.
"NVIDIA World": Son yıllarda, video hızlandırıcılar "entelektüel" hale geldi, hiyerarşik z-buffer gibi görünmez ilkelleri kesme yöntemlerini kullanıyor. Ne kadar etkilidirler? Her şeyi kendisi boyaması için tüm üçgenleri video ekranına itmek mümkün mü? İlk 3D oyunlar sırasında (Quake ve Unreal serisi), çizilen üçgenleri, BSP ağaçlarını vb. azaltmak için gelişmiş yöntemler kullanıldı, vb. Şimdi ne kadar önemli?
M. Zh.: Elbette, video ekranının hangi nesnelerin çizilmesi gerektiğini ve hangilerinin görünmeyeceğini bağımsız olarak belirleyeceği gerçeğine güvenmemelisiniz. Gereksiz bilgileri erken kesme yöntemini uygulamak gerekir, çünkü gereksiz bilgilerin GPU'ya aktarılması hızın düşmesine neden olur. Bu nedenle, sorun çok daha az da olsa hala geçerlidir. Özellikle çok sayıda farklı nesne çizmeniz gereken durumlarda. Gerçek şu ki, modern kartlar yalnızca gereksiz kesintilerle meşgul olmakla kalmıyor, aynı zamanda daha karmaşık aydınlatma türlerinin vb.
Örneğin BigWorld motorunda çizim aşamasına kadar görünmeyen nesneleri kesmek için Umbra kütüphanesini kullanın. Sahne, kapsamı bilmeden sahne parçalarını hızlı ve verimli bir şekilde atmanıza da olanak tanıyan bir BSP ağacıdır.
"NVIDIA Dünyası": Bir zamanlar böyle bir durum vardı, yaklaşık olarak kriz sırasında P4, sistemin dar bir yerinin bir video denetçisini "indiremeyen" bir işlemci olduğu ve oyunlarda FPS'yi artırmak için her şeyden önce en üst model CPU'ya ihtiyaç duyuldu. Artık CPU ve GPU arasında benzer bir bağımlılık var mı, yoksa işlemciler belirli bir kritik üretkenlik seviyesini geçti ve ucuz bir işlemci ve güçlü bir ekran kartı alınabilir mi? Quake ve DOOM tarzına göre zamanlamaya önem veren bir oyun var akılda.
M. Zh.: Güçlü bir ekran kartına sahip zayıf işlemci, sistemin dar bir yeridir, çünkü düşük (akış kontrol komutlarının sürücüsünü oluşturma) ve yüksek seviyeli (uygulama mantığı - oyun döngüsü, parçacık yenileme, karakter animasyonu, fizik, ses vb.) gibi birçok işlem doğrudan CPU'nun performansına bağlıdır. Ucuz modellerde oldukça küçük olan işlemci önbelleği miktarı büyük bir rol oynar.
Video kartının en verimli çalışması için ayrıca sistem kaynaklarına, bir hız sistemi lastiğine, iyi bir hızda yeterli miktarda RAM'e ihtiyaç vardır. Genellikle video alt sistemi, CPU'nun gerekli verileri ona aktaracak zamanı olmadığı için yetenekli olduğunu gösteremez. Yani kaynaktan tasarruf etmeye gelirsek ortalama bir işlemci almanız yeterli, anakart ortalamanın biraz üzerinde ama ekran kartı ve RAM konusunda canınızı sıkmayın.
"NVIDIA World": Sürümden sürüme DirectX, daha çok bir grafik motoru gibi oluyor. Artık 3B programın neredeyse DIRECT3D API çağrılarından oluştuğu ve hesaplamaların ana kısmının içinde yapıldığı doğru mu? DirectX'in en son sürümünü nasıl değerlendiriyorsunuz? Neredeyse tam teşekküllü bir motor muydu ve bunun için kaç versiyona ihtiyaç var?
M. Zh.: Direct3D ayrı bir grafik motoru olarak görülemez ve olası değildir, yakın gelecekte Microsoft'un kendi oyun motorunu oluşturmak gibi bir adım atması olası değildir. Bu, farklı oyun projeleri için motor gereksinimlerindeki birçok farklılık da dahil olmak üzere birkaç nedenden dolayı uygun değildir. Örneğin, bir otomatik simülatör, gerçek zamanlı bir strateji ve bir 3B atıcı, aynı motorun her üç durumda da aynı etkin şekilde kullanmasına izin vermeyen ayırt edici özelliklere sahiptir.
Direct3D'nin onuncu sürümünde, kaynaklarla çalışırken yeni soyutlama seviyeleri ve gölgelendiricilerin geliştirilmesinde ek fırsatlar ortaya çıktı, bu tür hileler Akış Çıktısı olarak kullanıma sunuldu. Aynı zamanda, D3D olduğu gibi kaldı - geliştiricinin belirli bir görev için bir oyun motoru tasarlayabileceği düşük seviyeli bir API.
"NVIDIA World": Genel olarak, oyun ve 3D motorlarının "küreselleşmesi" son zamanlarda yaşanıyor. Birçok oyunun üretildiği en popüler platformlardan bazıları vardır. Bu objektif bir süreç mi? Hazır tam özellikli lisans verebildiğiniz zaman artık geliştiriciye kendi motorunu yazmak mantıklı geliyor. Örneğin, Unreal Engine'in on binlerce kez indirilmiş olan bir sonraki sürümü yakın zamanda yayınlandı. Tüm oyunların bir veya iki 3B motor kullanmasına ne kadar kaldı?
M. Zh.: BigWorld kullanıyoruz ve henüz onlardan memnun kaldık. "Küreselleşmeye" gelince, bir mucize ve Crytek, Epic ve diğerleri birbirlerine bir parça pazar oyun motorları verecekler. Kural olarak, aynı motorda oluşturulan oyunların birbirine çok benzediğini ve bu her zaman iyi olmadığını unutmayın. Büyük olasılıkla, motor sayısı yalnızca giderek daralan bir uzmanlıkta dikkatle artacaktır. Her durumda, benzersiz motorlar her zaman olacaktır.
"NVIDIA World": En son video kartlarının RAW POWER ile çok güçlü hale geldiği ve efektler açısından önceki modellerden farklı olmayan, potansiyellerini her şeyden önce büyük monitörlere sahip sistemlerde (1920x1200'den) kenar yumuşatma ve tam anizotropik filtreleme modlarında ortaya çıkarabileceği doğru mu? Örneğin 1280x1024 gibi bir monitörü olan, filtreleme fanı olmayan ve aa olan bir kişinin, yeni bir teknik süreçte GTX285 ve Radeon gibi yeni bir ekran kartı satın alması mantıklı mı?
M. Zh.: Katılıyorum, öyle. Ancak yine de yeterli renk üretimi, yüksek çözünürlük ve kontrast ile iyi monitörleri unutmamalısınız. Oyundan çok daha fazla zevk alacaksınız. Ancak favori monitörünüzü değiştirmemeye karar verseniz bile, kartı değiştirmeye değer, çünkü bu kesinlikle sisteminizin performansında bir artışa yol açacaktır, çünkü yeni kartlardaki bazı eski hesaplama algoritmaları zaten donanımda uygulanmaktadır.
"NVIDIA World": Önceden, oyun geliştiricileri en yaygın kartlara odaklandıklarından, en yeni video kartlarının olanaklarını ve etkilerini kullanma konusunda muhafazakardı. Yani, örneğin şartlandırılmış DirectX N çıkıyor ve oyunlar hala DirectX N-2 altında yazılıyor. Son zamanlarda durum değişti mi? Oyunda yeni tanıtılan videolar için yeni efekt fırsatlarını kullanmak kolay mı?
M. Zh.: Windows 7 birkaç yıl önce çıksaydı veya Microsoft, DirectX 10'u Windows Vista'ya bağlama fikrinden vazgeçseydi, oyun geliştiricileri uzun süredir API'nin en az onuncu sürümüne geçerdi. Ancak, şimdi sahip olduklarımıza sahibiz: son yıllardaki tüm barakalar DX9 kullanıyor ve DX10 desteği genellikle bir pazarlama vuruşu.
"NVIDIA World": Oyunlar, çıkış anında en yeni video denetimlerinin gücünü genellikle ne kadar yoğun bir şekilde kullanır? Örneğin artık GT200 mimarisinin tüm imkanları kullanılıyor mu? Çıkış anında yeni GPU'nun mevcut oyunlardan biraz daha iyi olduğu, ancak zamanla oyunların yeni mimari için optimizasyonu ve yeni özelliklerin uygulanmasıyla durum tipik mi, ancak yine de büyüyor mu? Oyununuz yeni özellikleri ne kadar kullanıyor?
M. Zh.: Yeni bir mimari ve birleşik gölgelendirici modeli söz konusu olduğunda, neredeyse hepsi kazandı. Köşe ve piksel taşıyıcı GPU'nun yüklenmesi, bir yönde veya başka bir yönde büyük yutakların olduğu yerlerde dengelendi. Yeni fırsatlara gelince, belirli bir özelliği destekleyen video kartlarının yüzdesi ne kadar fazlaysa, oyun geliştiricileri bunları projelerinde kullanmaya o kadar istekli olacaktır. DirectX 9 ve SM 3.0'ın özelliklerine odaklanan BigWorld'ü kullanıyoruz.
"NVIDIA World": Şimdi satın alınan çevrimiçi oyunlar büyük popülerlik kazanıyor. Bu, video denetçisi endüstrisine damgasını vurdu mu? Bu tür oyunların motorları, çok sayıda kullanıcıda bulunan temel bir özellik grubuna yönelik olduğundan ve FPS göstergeleri hala İnternet bağlantısıyla sınırlı olduğundan, en iyi video hızlandırıcıyı satın almak anlamsız görünüyor. Bu, oyun grafiklerinin fren gelişimi mi? Hızlandırıcıya ihtiyaç duyulmayan "tam 2B" tarayıcı oyunlarının popülaritesi arttı.
M. Zh.: WORLD OF WARCRAFT abonelerinin sayısına bakarsanız ve örneğin Aion veya Age of Conan ile karşılaştırırsanız, cevap açıktır: çevrimiçi oyunlar için her şeyden önce oyun önemlidir, oyun dünyasının incelenmesi, heyecan verici bir PVP bileşeni ve doğrudan tabloyla doğrudan ilgili olmayan diğer noktalar. Grafiklerin gelişimi için bir fren değildir, çünkü canlı MMORPG oyuncuları değildir. Yeni atıcılar, otomatik simülasyonlar ve RPG oyunları kaçınılmaz olarak oyunlarda 3D grafiklerin kalite çıtasını daha da yükseltecek. MMO oyunları yavaş ama emin adımlarla aynı şekilde ilerleyerek en iyi oyun izleyicisini çekmeye çalışıyor. Bu arada, söylentilere göre aynı kar fırtınası şimdi yeni bir MMOG üzerinde çalışıyor ve yeni projelerinde 8 yıllık bir teşhir motorunu kullanması pek olası değil.
"NVIDIA World": SLI ve CrossFire teknolojileri nasıl oyun geliştiricisinden destek gerektirir? Farklı oyunlar için bu teknolojilerin ilişkili çeşitli etkinliği nedir? Oyun motorunun özellikleriyle mi yoksa oyun sahneleriyle mi? SLI ve Crossfire kullanarak oyununuzu nasıl kazanırsınız?
M. Zh.: Motoru iki ekran kartı için optimize etmek çok zor bir süreç. GPU üzerinde kompakt veri iletimini düzgün bir şekilde düzenlemek ve GPU ile CPU arasındaki yük motorunu dengelemek gerekir. Uygulama, tek bir kart üzerinde çalışırken zaten CPU'ya veya veri yolunda veri aktarımına dayanıyorsa, SLI veya Crossfire hakkında unutulması gerekecektir. Aslında bu, eşleştirilmiş hızlandırıcılar üzerinde çalışırken farklı oyunlardır. Oyunumuz SLI'da hala yaklaşık %10'luk bir performans artışı sağlıyor, ancak şimdi bu tür modlarda çalışmayı iyileştirmek için birkaç modülü optimize ediyoruz.
"NVIDIA World": Uzun zamandır PC'deki pazar krizi ve oyunların kademeli olarak konsollara geçişi hakkında çok şey söylendi. Ama bu henüz olmadı. Gelecekte bunu beklemek mümkün mü? Standart "demir" nedeniyle konsollar için grafik programlamanın çok daha kolay olduğu doğru mu? Ya da "demir" seviyesindeki ebedi gecikmeli önek, birliği seviyeler mi?
M. Zh.: Oyun konsollarının geliştirici için bir dizi avantajı vardır (bir platform, bir dizi özellik ve sonuç olarak tüm oyuncular için aynı performans), ancak PC oyunları ve özellikle çevrimiçi oyunlar pazarı sürekli büyüyor, bu nedenle konsolun buna değer bir konsol beklemesini bekleyin. Daha güçlü bir donanıma sahip oyun konsollarının piyasaya sürülmesinin, önceki neslin öneklerini yeme maliyetini mevcut oyunları satarak telafi etmeye çalışan konsol üreticilerinin kendileri tarafından engellendiğini unutmayın. Bu nedenle PlayStation 4 veya Xbox 720'yi üretmeden önce çok zaman geçecek ve mevcut nesil konsollara yönelik birçok proje yapılacak. Nintendo Wii gibi bazı durumlarda,
"NVIDIA World": Artık oyunlarda, modellerden gölgeler oluşturmak için projeksiyon yönteminin kombinasyonunu ve hareketli nesneler, modeller ve silahlar üzerindeki gölgeler için dinamik veya statik olarak hesaplanan hacimlere sahip gölge hacimleri yöntemi ve kendi üzerlerindeki modellerin hareketli parçalarından neredeyse acı verici bir şekilde kullandıkları doğru mu?
M. Zh.: Gölge hacimleri yerine, modifikasyonlarla (basamaklı gölge kartları, kendini savunma için ayrı bir gölge haritası vb.) Genellikle aynı projeksiyon tekniği kullanılır. Gölge hacimleri net bir gölge sınırı sağlar, ancak yüksek Doldurma Oranı göstergesi, CPU üzerindeki ek hesaplamalar ve gölgelerin yumuşak kenarlarının karmaşık satışı nedeniyle zarar görür.
"NVIDIA World": Tüm sahnenin dinamik aydınlatmasını oluşturmak açısından gölgeler oluşturmak için mevcut yöntemler var mı? Yani, video kaynağının gücündeki kademeli artışla birlikte, dinamiklerdeki tüm ışığı hesaplamak için kullanılabilirler mi? Yoksa bazı yeni yöntemlerin kullanılmasını mı gerektirecek?
M. Zh.: Projektif gölgeler, modern oyunlarda oldukça uzun bir yol kat etti ve modifikasyonları, SSAO gibi ek efektlerle birlikte uzun süre kullanılacak. Tabii ki, GPU'da ücretsiz bir raitrenge varsa, o zaman ne projektif ne de hacimsel gölgelerin şansı yoktur.
"NVIDIA World": Oyunlardaki uygulama açısından Precomputed Radiance Transfer teknolojisini nasıl değerlendiriyorsunuz? Gelecekte kullanacak mısın?
M. Zh.: PRT, uzun vadeli hesaplamalar gerektirir, animasyonlu modellerle birleştirilmez ve aynı Ambian Occlusion ile karşılaştırıldığında prensip olarak görsel planda büyük avantajlar sağlamaz. Örnek olarak, PRT kullanan ancak aynı Gears of War veya Crysis'in arka planında aydınlatma kalitesiyle öne çıkmayan Halo 3'ü alabilirsiniz.
"NVIDIA World": DirectX 11 ve FERMI mimarisi, DirectX 11 hızlandırıcıları ve oyunları için beklemeye değer mi yoksa API'nin şifreli bir versiyonu mu? Mutlak güç, Doluluk Hızı sağlayan daha genç model Direct x 11 hızlandırıcı, DirectX 10 destekli eski ama daha güçlü bir modelden daha iyi olabilir mi? Fermi mimarisinin çıktısıyla oyun programında bazı yüksek kaliteli sıçramalar beklemek mümkün mü yoksa kapsamlı bir büyüme, daha fazla üçgen, yüksek izinlerde daha fazla hız vb. olacak mı? Oyununuzun geliştirildiği dönemde Fermi mevcut olsaydı, başka bir oyun grafik olarak ne kadar ederdi?
M. Zh.: DirectX'in on birinci sürümü, GPU'da bilgi işlem için daha fazla özellik sunarken, DX10 ile karşılaştırıldığında 3D grafikler için hiçbir yerli iyileştirme yoktur. Fermi'ye gelince, bence en ilginç özellik, 3D modeller için tamamen kontrollü mozaikleme.
Mikhail Zhidish, World Of Tanks Projesi Teknik Direktörü, Wargaming.net
World of Warships'in Gamescom ve "Igromir"deki pencerelerinin prömiyeri kapatıldıktan sonra, oyunun resmi lansmanı gittikçe yaklaşıyor. Şimdi tüm hızıyla, kapalı alfa testi yapılıyor ve bizim için, Wargaming'in St. Petersburg bölümü olan Lesta Studio'nun geliştiricilerinin hala bir sürü sorunu çözmesi gerekiyor. Aynı zamanda, birçok engel hala geride bırakmayı başardı. Aşağıda, motorumuzun ihracatçısını "gemilerin" ihtiyaçlarına göre nasıl uyarladığımız ve içeriği doğrulama sürecini nasıl oluşturduğumuzla ilgili bir hikaye bulunmaktadır.
STANDART TESLİMAT MOTORU
Herhangi bir motor, 3B modellerin 3B editörlerden kendi veri biçimine aktarıcısı için bir araç seti içerir. World of Tanks tarafından da temel alınan BigWorld'ümüz bir istisna değildir. 3D Max ve Maya dışa aktarımlarını destekler. Hemen hemen her oyun projesi, standart ihracatçıların projenin özelliklerine göre uyarlanmasını gerektirir. Projemizde detaylar gemi maketleridir.Maya'dan uyarlanan ihracatçının ilk versiyonu, gemi sahnesinin daha karmaşık bir yapısını tanımak için basitçe "geri döndü". C++ koduna Python'da biraz kontrol kodu ve ayrıca WXWIDGET'te UI ile MAYA eklentisi eklendi. Şuna benziyordu:
Kullanıcı arabirimine uyarlanmış ihracatçı
Ortaya çıkan araç, bir kusur ağırlığına sahipti.
Dışa aktarmalar, yalnızca sahneyi içeren ihracatçı "demek" zorunda olan kullanıcının katılımıyla gerçekleştirilebilir. Bu aracın çeşitli süreçlerin otomasyonunda kullanılması, örneğin dağıtım montaj aşamasında içeriğin otomatik olarak doğrulanması hakkında konuşma yapılamaz.
İhracatçı, kullanıcıdan bariz parametrelerden uzak bilgi talep etti, yavaş çalıştı, sahnenin doğrulanmasını pratikte desteklemedi ve ayrıca destek için büyük miktarda kaynak talep etti.
Mimari, gelecekte işlevselliği genişletmek için ana sorundu. Dışa aktarmalar aslında bir yapıdan (indirilen MAYA sahnesi) başka bir yapıya (BIGWORLD) doğrudan fiziksel dosyalara veri yayınlayan atomik işlemlerdi (bir dizi spagetti işlevi). Seri hale getiriciler ve iş mantığı "tek parça halinde" uygulandığında ve veri modeli basitçe mevcut olmadığında, veri işlemeyi (işleme öncesi / sonrası) eklemek, ayrıca seri hale getiricileri ve veri modelini kendi işini uygulayan diğer araçlarda yeniden kullanmak (Kod Yeniden Kullanımı) imkansızdır -Mantık. İçerik üretimi için daha karmaşık süreçler oluşturmak imkansızdı.
Zamanla, mevcut koddaki yeni işlevsellik, mevcut kodda neredeyse imkansız hale geldi. İçine yeni bir mimari yerleştirilerek ihracatçının "sıfırdan" yeniden yazılmasına karar verildi.
ZORLU HAFTA İÇİ GÜNLERİ
Projemizin seviyesi, kalite, karmaşıklık ve içerik hacmi için gereksinimleri artırdı. Son birkaç yılda stüdyomuz büyük ölçüde büyüdü. İçerik üretimi ile ilgili görevlere yeterli kaynak ayırma fırsatına sahibiz. C ++ / C # mimarisi, teknolojileri geliştirme konusunda harika geçmişe sahip profesyonelleri ağırladık. Aynı zamanda, ihracatçının geliştiricileri için Python ve Maya API kullanmanın ilk deneyimiydi. Bu, dikkate alınması gereken ek riskler yarattı.İhracatçı yeniden düzenlemesini iki veya üç kişi-ay olarak derecelendirdik. Gamedeva'da iyimserlik olmadan imkansızdır.
Risk almak için şunları aldık:
Resmi gerekliliklerin eksikliği;
Python sahiplik düzeyi;
MAYA API karmaşıklığı;
İlkelleri işlemek için yeniden düzenleme algoritmaları.
Yönetici haline gelen geliştiriciler, "Eski zamanlayıcılar", torsiyon alanları ve mevcut ihracatçının kodu gibi gayri resmi kaynaklardan gelen iddiaları toplamak için çok fazla zaman harcandı. Bu bilgi mezarları, Confluence'da gereksinimler, özellikler ve UML diyagramları şeklinde resmileştirildi ve kaydedildi.
İlk prototipler, Ad Alanları kavramını ve Python modüllerini (__init__.py) kullanma ihtiyacını gösterdi. "Şeffaf"ın C++ kitaplıklarından (.pyd) işlevselliği kullanmasına izin veren bir mekanizma da geliştirildi.
Maya API'sinin karmaşıklığı ve karışıklığı hakkında ayrı bir kitap yazabilirsiniz. Herhangi bir işlevsellik, prototip oluşturma, 3D sanatçılar ve motor geliştiricilerle (Rendering) istişareler gerektiriyordu.
Standart ihracatçı, çok sayıda algoritmayı kendi uygulamasına sahipti, örneğin, çokgenlerin üçgenlenmesi, iç içe düğümlerin dönüşüm matrislerinin hesaplanması vb.
Murphy yasalarına göre, zaman içinde hayata geçirmeyi düşündüğünüz herhangi bir projeyi, terk etmezseniz planlanandan "x3" daha fazla olmayacak şekilde finanse etme zamanı.
Sonuç çabalarına mal oldu. Sonunda, model ihraç etmekten sorumlu asıl sanatçımız bile birkaç aylık çalışmanın ardından ihracatçımızı "neredeyse mükemmel" buldu.
KAPUTUN ALTINA BAK
Python scriptleri stüdyomuzda aktif olarak kullanılmaktadır. Bunun üzerine tüm ihracatçıya uygulamaya çalıştık. Doğal olarak Python, köşe kapları (VERTEX Tamponu), köşe dizin kapları (dizin arabelleği) vb. Tüm iş mantığı Python üzerinde uygulandı.Dışa aktarıcı çerçevesinin yalnızca Maya'dan "manuel" dışa aktarma görevi için değil, aynı zamanda içeriğin doğrulanmasını otomatikleştirmek gibi işlevselliğinin yeniden kullanılabileceği tüm görevler için uygulanması planlandı. Geliştirilen herhangi bir araç setinden, Python için arabirimlerin (API), komut satırının (Komut Satırı) ve UI araçlarının varlığına ihtiyacımız var.
MİMARİ
İhracatçının mimarisi modüler, katman, katmandır. Konu alanının bir katmanının yanı sıra fiziksel ve mantıksal katmanlar vardır. Her katman ayrı modüller içerir: bir veri modeli, iş mantığı, seri hale getiriciler ve ayrıca bir katman veri modelini farklı bir katman veri modeline dönüştürebilen dönüştürücüler. Fiziksel ve mantıksal katmanlar aslında Orm mimarisinin benzerini uygular.Nesne katmanının mimarisi, iş mantığı veri modelinin uygun şekilde işlenmesi için tasarlanmıştır. Tamamen yalıtılmıştır ve fiziksel depolamaya nasıl seri hale getirileceğine dair herhangi bir varsayım içermez.
Katmanlı mimari ihracatçısı
İHRACAT SÜRECİ
Katman mimarisi, dışa aktarma işleminin belirli özelliklerini sunar. Aslında, çeşitli kaynaklardan (Maya ve BigWorld Engine) iki (veya daha fazla) modeli seri hale getiriyoruz. Bundan sonra, bu modellerin yeni bir modelde birleştirilmesi (Birleştirilmesi) gerçekleşir. Ardından, yeni model BigWorld-Engine formatında serileştirilir.İhracat süreci
İÇERİK ÜRETİM SÜRECİNİN ESNEKLİĞİ
Uygulanan mimari, karmaşık içerik üretim süreçlerini basitçe oluşturmanıza olanak tanır. Örneğin, birincil gemi modeli teknolojik olarak her biri aynı anda farklı bölümler geliştiren üç ayrı MAYA sahnesinden oluşur:İlk sahne görsel bir model (Görsel Model) ve bir çarpışma modeli (Çarpışma Modeli) içerir.
İkinci sahne bir balistik model (Balistik Model) içermektedir.
Üçüncüsü, efektlerin etkilerini içerir (Effects Ports).
Buna ek olarak, motor araç takımı (editörler) motor formatının türev modelinde (dördüncü sahne) kendi verilerini ekler (düzenler).
İhracatçı, dört sahnenin tümünü gemi modelinin tek bir sonucunda birleştirmenin önemsiz olmayan görevini kolayca çözer.
İÇERİK DOĞRULAMA
İçerik doğrulama sistemi, her katmanda (kaynakta) ayrı ayrı ve ortaya çıkan içerikte olduğu gibi içerik hatalarını aramamızı sağlar. Doğrulayıcıların sayısı artık birkaç düzineye ulaşıyor. İçeriğin otomatik olarak doğrulanması, insan faktörünü en üst düzeyde dışlamayı ve içeriğin bütünlüğünü ve teknik temizliğini garanti etmeyi mümkün kılan dağıtım (Yapı) sürecine dahil edilmiştir.Maya'da gemi modelinin doğrulanması örneği
İÇERİK BÜTÇELERİ VE BANYODA ÖRDEK
İçerik doğrulama sürecinin önemli bir bileşeni, bütçeleri doğrulamaktır, örneğin, polygnign bütçelerinin doğrulanması. Aşağıdaki şekil, özellikle her tanıtım için görsel bir model için üçgen sayısıyla ilgili bilgileri gösterir:Kullanıcı arayüzü eklentisi Maya
Böyle bir doğrulamaya duyulan ihtiyacın parlak bir örneği, bir bisikletin meslektaşlarımın önceki projelerden birini anlatmasıdır. Haritada yıkılmamış evlerin inşa edildiği bir arsa vardı. Kamera bu bölüme gözünü diktiği anda FPS çılgınca düştü. Sorunu inceledikten sonra, evlerden birinin içinde küçük bir "plastik" ördeğin yüzdüğü bir banyo olduğu ortaya çıktı. Açıklama modelinin yaklaşık bir milyon çokgen içermesi olmasaydı, tüm bunlar sanatçının komik bir şakası gibi görünürdü.
Uygulamada, bütçe önemine uymak çok zordur. Birçok model nesnel olarak istisnalardır. Bütçe değerinin bir aralık biçimindeki görevi de sorunu çözmez, çünkü zamanla modellerin poligneli basitçe aralığın üst değeri için çabalamaya başlar. Bizim durumumuzda, bu tür modellerin standart bütçesini karşılamayan modellerin kişisel bütçelerini değiştirmeyi planlıyoruz.
İÇERİK İŞLEME
İhracatın her aşaması işlenmelidir (işleme öncesi / sonrası). Örneğin, veri alanı modelinde MAYA katmanının mantıksal veri modeli dönüştürülmeden önce, hava savunma silahları için silahın iskeletinin Y ekseni boyunca 45 derecelik bir ön dönüşü ve iskeletin çıkarılması. Mimarimiz, çeşitli işlemleri şeffaf bir şekilde ihracatın herhangi bir aşamasına yerleştirmeye izin verdi.Ön işleme öncesi ve sonrası örnek model
X64 DESTEĞİ
Son zamanlarda sanatçılarımız toplu olarak 32-bit Maya 2012 ile 64-bit Maya 2014 üzerine taşındı. İhracatçı neredeyse tamamen Python'da yazıldığı için X64 desteği ile neredeyse hiç sorun yaşamıyoruz. Yalnızca C++ üzerinde uygulanan bir kitaplık (.pyd) küçük bir "şamanizm" gerektiriyordu.Artık ihracatçı, kendisini belirlediği ve gerekli C++ kitaplık derlemesini (.pyd) yüklediği için hem x32 hem de x64 işlemlerinde kolayca kullanılabilir.
KARTLARIN DOĞRULANMASI
Bir ihracatçı mimarisi üzerinde çalışırken, başka hangi araçların ve otomasyonun onu yeniden kullanabileceğini önceden tahmin edemedik. Harita doğrulama otomasyonu, ihracatçının "doğru" mimarisinin başka bir enstrümanda nasıl kullanıldığının bir örneğidir.Kartların doğrulanması, üzerinde bulunan diğer nesnelerden grafik bağımlılık grafiğini oluşturur ve doğrular. Harita özellikle görsel peyzaj modelleri (taşlar, buzdağları), binalar (evler, hangarlar, iskele), teknisyenler (uçak, tekneler) vb. kullanır.
Kartı doğrulayıcının özelliği, yalnızca bu görsel modellerin dosyalarının varlığını değil, aynı zamanda ihracatçı çerçevesini kullanan modellerin kendilerini de doğrulayabilmesidir. Bu, Kart Geliştirme Departmanının (LA), teknik olarak doğru modeller kullanılan 3D modellerin (3D ART) geliştirme departmanının "söze inanması" gerektiğinde insan faktörünün dışlanmasını mümkün kıldı.
MONTAJ DAĞITIMI
İhracatçı çerçevesi, dağıtım paketi (Content Pack) için içerik paketini hazırlama sürecinde uygulamasını bulmuştur. Dağıtımda, aşağıdakileri yapan modeller olmamalıdır:Artık kullanılmıyor;
hala geliştirme aşamasındadır;
Ürünün sonraki sürümleri için tasarlanmıştır.
Temel oyun nesneleri listesine (Kök Oyun Nesneleri) göre, gerekli içeriğin tam bir listesinin oluşturulacağı bağımlılık grafiğinin oluşturulması gerekir. İhracatçı çerçevesini kullanarak modeli seri durumdan çıkarmaktan ve başka hangi modellerin gerekli olacağını "öğrenmekten" daha kolay bir şey yoktur (İÇERİK REFERANSLARI).
SONUÇLAR
İhracatçımızın gelişiminin tarihi, onun, dar anlamda uzmanlaşmış basit bir araçtan, acil görevlerine karar veren güçlü bir sisteme nasıl dönüştüğünü ve ayrıca diğer süreçlerde uygulamayı bulduğunu gösterdi. Başarılı bir şekilde geliştirilmesinin ve yeniden kullanılmasının temeli, kendi bireysel "küplerini" başka sistemler oluşturmak için kullanmanıza izin veren modüler bir mimaridir.Yakın gelecekte, ihracatçının BigWorld Engine dosyalarının biçimindeki değişiklikle ilgili başka bir testi daha olacak. Düzenlenen mimarinin herhangi bir zorluk yaşamayacağından ve hem mevcut hem de yeni bir dosya formatıyla çalışmayı sürdürebileceğinden eminiz.
Belirli bir videoyu ararken sorun mu yaşıyorsunuz? O zaman bu sayfa ihtiyacınız olan silindiri bulmanıza yardımcı olacaktır. İsteklerinizi kolayca halledeceğiz ve size tüm sonuçları vereceğiz. Neye ilgi duyduğunuz ve ne aradığınız önemli değil, hangi yönde olursa olsun gerekli videoyu kolayca bulacağız.
Modern haberlerle ilgileniyorsanız, size şu anda her yönden en alakalı haberleri sunmaya hazırız. Futbol maçlarının sonuçları, siyasi olaylar veya küresel, küresel sorunlar. Harika aramamızın tadını çıkarırsanız, tüm olaylardan her zaman haberdar olacaksınız. Videolarımızın bilinirliği ve kalitesi bize bağlı değil, onları internette dolduranlara bağlı. Biz sadece aradığınızı ve talep ettiğiniz şeyi size sunuyoruz. Her durumda, aramamızı kullanarak dünyadaki tüm haberleri bileceksiniz.
Bununla birlikte, küresel ekonomi aynı zamanda pek çok kişiyi endişelendiren oldukça ilginç bir konudur. Bir çok, çeşitli ülkelerin ekonomik durumuna bağlıdır. Örneğin, ithalat ve ihracat, herhangi bir gıda veya teknoloji. Aynı yaşam standardı, maaşlar vb. Gibi doğrudan ülkenin durumuna bağlıdır. Bu tür bilgiler yararlı ne olabilir? Yalnızca sonuçlara uyum sağlamanıza yardımcı olmakla kalmayacak, aynı zamanda bir veya başka bir ülkeye yapacağınız yolculukta sizi uyarabilir. Haksız bir gezginseniz, aramamızı kullandığınızdan emin olun.
Artık siyasi entrikaları anlamak çok zor ve durumu anlamak için birçok farklı bilgiyi bulmanız ve karşılaştırmanız gerekiyor. Ve bu nedenle, Devlet Duması milletvekillerinin geçmiş yıllardaki çeşitli performanslarını ve açıklamalarını sizin için kolayca bulacağız. Siyaseti ve siyaset arenasındaki durumu kolayca anlayabilirsiniz. Farklı ülkelerin politikaları sizin için netleşecek ve kendinizi gelecekteki değişikliklere kolayca hazırlayabilecek veya halihazırdaki gerçeklerimize uyum sağlayabileceksiniz.
Ancak burada sadece tüm dünyanın çeşitli haberlerini bulamazsınız. Ayrıca şişe bira veya patlamış mısır görmek güzel olacak bir filmi de kolayca bulabilirsiniz. Arama tabanımızda her zevke ve renge uygun filmler var, kendinize göre ilginç bir resmi kolayca bulabilirsiniz. En eski ve bulunması zor eserlerin yanı sıra tanınmış klasikleri bile sizin için kolayca bulacağız - örneğin, Star Wars: The Empire misilleme amaçlı bir darbeye neden olacak.
Sadece biraz rahatlamak istiyorsanız ve eğlenceli roller arıyorsanız, o zaman susuzluğunuzu burada giderebiliriz. Sizin için tüm gezegenden milyonlarca farklı eğlence videosu bulacağız. Kısa şakalar kolayca ruh halinizi yükseltir ve yine de bütün gün birleştirilir. Kullanışlı bir arama sistemi kullanarak, sizi tam olarak neyin yaratacağını bulabilirsiniz.
Zaten anladığınız gibi, elimizi değdirmeden çalışıyoruz, tam olarak ihtiyacınız olanı aldınız. Bu harika aramayı sizin için özel olarak oluşturduk, gerekli bilgileri bir video şeklinde bulup rahat bir oynatıcıda görmeyi ne başarırsınız?