Oyun Geliştirme Ve Unreal Engine 4 Terim Bilimi (Terminoloji)
Terim biliminin Amacı: Oyun Geliştirme terimlerini ve Unreal Engine 4 oyun motorundaki İngilizce kelime anlamlarının Türkçeye çevrilmesiyle anlamları daha anlaşılır kılmaktır. İyi derecede İngilizce bilmeyenler için, kelimenin anlamının aklınıza daha yatkın olması size o kavramın daha anlayışlı bir niteliğini kazandırır. Oyun yapımı aşamasındaki kavramlar ve iş parçaları da eklenmiştir. Bu makale Ali Kubur tarafından yaratılmıştır. Lütfen bu bilgileri kopyalarken adımı ve soyadımı belirtirseniz sevinirim.
İstediğiniz terimi daha kolay yoldan bulmak için CTRL+F tuşlarına aynı anda basarak tarayıcınızın arama sekmesini açabilir istediğiniz terimi yazabilirsiniz.
Oyun Geliştirme ve UE4 Terim Bilimi
Oyun Geliştirme Terim Bilimi
Game Engine (Oyun Motoru): Oyun motoru kısacası oyun yapmak için kişilerin veya şirketlerin kullandığı programa verilen ada denir. Oyun motoru kaynak kodlarının içinde matematiksel, geometrik, mantıksal ve fiziksel hesaplar yaparak görüntüyü kolay bir şekilde oyun geliştiricilerine sunar. Bu sayede oyun yapımı kolaylaşır. Zamandan tasarruf etmek için, oyun geliştiricileri oyun motorlarını kullanırlar. Oyun motorlarının içinde yazılımsal fonksiyonlar, kütüphaneler, sınıflar ve bunun gibi şeyler bulunur. Amaç, oyunun geliştirme süresini hızlandırmaktır.
Project Manager (Proje Yöneticiliği): Proje yöneticiliği tam olarak bir oyunun gelişim aşamasındaki olan olay örgüsünün yönetiminden ibarettir. Oyunu geliştirenlerin bölüm paylaşımı? 20 kişilik bir ekibiniz var diyelim. 10 tane programcımız, 5 tane tasarımcımız, 3 tane müzisyenimiz, 2 tane de tester(denetimci)niz olsun. Siz oyun gelişirken bu programcıların hangi süreçte ne yapacağını, oyun tasarımcıların neyi tasarlıyacağınızı, müzisyenlerin ne yapacağını ve oyun denetimcinizin ne zaman neyi test edeceğinin programını yapmalısınız. Genelde bu işi yapanların çoğu programcı olur fakat şart değildir. Oyun tasarımcısı, proje liderine bilgilendirmeler ve raporlar sunar.
Game Developer (Oyun Geliştiricisi): Oyun geliştiricisinin terimi, oyunun geliştirme aşamasındaki kendisine verilen süreçte yapılmasını istenen veya yapılmasını istenenin üzerine katan bir geliştirme işini üstlenen kimsedir. Bölüm Tasarımcısı, Oyun Tasarımcısı, Oyun Programlayıcısı gibi bölümlere ayrılır. Çok fazla araştırma isteği ile daha iyi bir oyun geliştiricisi olabilirsiniz.
Game Designer (Oyun Tasarımcısı): Oyunun düzenini düzenlemekten sorumludur. Oyunun nasıl olacağı? Hangi oyuncu kitlesine yöneldiği? Oyunun amacı? Oyuncu kitlesi bu oyundan ne ister? gibi sorulara cevap arar. Oyunun gelişimi için çok önemli bir roldür. Oyunun geleceği konusunda büyük resmi görmek çok önemli bir husustur. Yaratıcılığının çok büyük bir seviyede olması gerekir. Bunla kalmayıp çalışanların plan ve programını hazırlar. Oyun tasarım aşamalarındaki, oyun tasarım dokümanını düzenlemekten sorumludur. Proje Yöneticisine bilgiler ve raporlar sunar.
NOT: Oyun programcısıyla aynı şey değildir. Oyun modelleyicisi & animasyoncusuyla aynı şey değildir.
Level Designer (Bölüm Tasarımcısı): Var olan bölümdeki sahnelerin düzenini, konum tasarımını, eşyaların yerlerini, haritaların tasarımlarını gibi şeyleri üstlenir. Kısacası iç mimar diyebiliriz. Oyun sahnesini tasarlamaktan sorumludur. Haritaları tasarlamakla ile de yükümlüdür. İşi sadece oyun haritasını tasarlamak değildir. İşi aynı zamanda oyun haritasındaki bölümlerde ne zaman ne olacağını belirtmektir. Örneğin, karakter belirli bir alana girdiğinde üzerine bir taş düşecektir.
3D Artist (3B Artist): Oyundaki nesnelerin modellemesini yaratır. Örneği bir kulübe yaratır ve bu kulübenin içindeki eşyaları yaratır. Genelde Blender veya 3DS Max gibi modelleme programları kullanır.
3D Animator (3B Animasyoncu): Oyundaki karakter, nesne, vb gibi şeylerin animasyonlarını ve yaratımını yönetir. Karakterin ana iskeletlerini oluşturur. Karakterlerin örneğin zıpalama, yumruk atma, yere çökme gibi animasyonları yapar. Ara geçiş sahnelerini yapabilir. 3D Maya, zBrush gibi programlar kullanır.
Concept Artist (Kavram Tasarımı): Oyunun karakter çizimlerini, bölüm tasarımlarını kendi düş dünyasındaki yarattığı içeriği kaleme döker. Bu sanatı döktükten sonra tasarımcı ve artisler kavram tasarımcısının yaptığı çizimleri uygular. Aynı zamanda yüksek çizim teknikleriyle oyundaki görselliği yaratabilir. ( Örneğin oyundaki bir karakterin arkaplan resmi. )
UI User Interface (KA Kullanıcı Arayüzü): Menüler, sağlık barları, inventory tasarımı gibi şeyleri içerir. Yani kullanıcı ile oyun arasındaki iletişim kuracak her bir şey KA'dır.
UI Artist(KA Artisti): KA'yı düzenleyen tasarımcılara denir. Küçük oyun stüdyolarında bu işi Artist yönetebilir.
Game Programmer (Oyun Programlayıcısı): Oyunun mantıksal süzgeçlerinden ve kodlanmasından sorumludur. Yüksek seviye programlama bilgisi gerekir. İyi bir matematik ve geometri bilgisine sahip olmalıdır. Özellikle Doğrusal Cebir, Matrisler, ve Analitik Geometri konularında hakim olmalıdır. Oyun tasarımcılarından aldığı verileri oyuna aktarmakla yükümlüdür. Belirli gruplara ayrılabileceği gibi genel olarak 4 gruba ayrılır.
Grafik Programlama : Oyundaki nesneler ile ilgili gerekli programlamayı yapar. Örneğin bir ışığın bir nesneye düştüğünde nerenin gölge alması nerenin parıldaması gibi şeyler..
Oynanış Programlama : Karakterin oynanışını programlar. Mesela inventory programlaması gibi.
Fiziksel Programlama : Karakterlerin veya nesnelerin birbirleriyle etkileşime girdiklerinde fiziksel teorilere göre şekillenişini işler.
Ağ Programlama : Birlikte oynanabilen oyunların yapılmasını kodlar. TCP/UDP gibi protokolleri bilmesi gerekir.
Yapay Zeka Programlama : Oyundaki canavarların ya da başka karakterlerin yapay zekasını programlar. Örneğin canavarın ana karakterine saldırması için gerekli kodlamaları yapar.
Game Musician & Sound Designer (Oyun Müzisyenliği & Ses Tasarımcısı): Oyun içindeki müzikleri, ses efektlerini, sesleri düzenleme & tasarlama görevi üstlenir. Mesela, karakter silahla ateş ettiğindeki ateş sesini sesi yaratır. Veyahutta karakter re-spawn olduğundaki ses efektini yaratır.
Tester (Denetleyici): Oyunu test etmeyi amaçlar. Bildiğiniz üzere sadece işi oyunu oynamak değildir. Oyundaki bug(böcek) leri bulur ve oyundaki performans ayalarını denetler. Oyunda ne kadar zorluk seviyesi varsa o oyunu her zorluk derecesinde oynamalıdır. Kolay bir iş gibi gözükse de bir oyunu üst üste 30 ya da 40 defa oynayabilir. Asıl hedefi bug(böcek) bulmaktır. Oyuncunun yapabileceği bütün kararları denetler. Bütün zorluk seviyelerini defalarca oynar. Performans testlerinde etkin olmalıdır. Hata veya böcek çıkması durumunda oyun projesi yöneticisine veya geliştiricilere bildirir.
Game Design Document (Oyun Tasarım Dokümanı): Oyun tasarım dokümanında oyun ile ilgili modellemeler, hedef kitlesi, endüstriyel hedefler, oyunun gidişat hedefini geliştirme gibi şeyler bulunur. Yani, oyunun konsepti, yapılacak çizelgeler, oyun üzerinde yapılan değişiklik kararları bu belgede bulunur. Genellikle proje lideri bu dokümanın sahiplenmesi ve düzenlenmesinden sorumludur.
Alpha Testing (Alfa Denemesi): Oyunu geliştiren ekibin kendisinin yaptığı denemelerdir. Öncelikli amaç geliştirilebilinecek konuları bulmak ve bunun üzerine gitmektir.
Beta Testing (Beta Denemesi): Oyunculara açık olan denemedir. Öncelikli hedef böcekleri bulmaktır. Aynı zamanda oyuna temel bir oyuncu kitlesi çekmektir. Oyuncuların tepkilerine göre yeni geliştirmeler yapılabilinir.
Game Publisher(Oyun Yayımlayıcısı): Biten oyunun, daha yüksek kitlelere ulaşması için proje yöneticisi veya şirket yöneticisi ile etkileşimde bulunur(veya tam tersi, proje yöneticisi bu yayımcılarla iletişime geçer. kitap evi gibi düşünebilirsiniz.) Veyahutta daha önceden proje yöneticisi oyun yayımcılarıyla anlaşır ve bu sayede bu yayımlayıcılar projeden gelir elde ederler.
Unreal Engine 4 Terim Bilimi
Objects (Nesneler): Kısacası sizin projenizde bulunan, gördüğünüz her şey. Masalar, sandalyeler, gibi gibi.. (Programcılar için UObject de bulunan sınıfın örneğidir.)
Classes (Sınıflar): Aşamalı bir şekilde UE4 de bulunan sınıfların bir alt sınıfını veya kendi sınıfınızı yaratarak sınıflar arasındaki bilgi akışını sağlayabilirsiniz. Çocuk-Ebeveyn sınıf ilişkisini kullanarak bir aşama sağlayabilirsiniz. C++ veya Blueprintler ile sınıfları yaratabilirsiniz. UE4'ün kendine ait sınıf yapısı vardır.
Blueprint (Tasarımdöküm): Kısacası görsel programlama diyebiliriz. Blueprint üzerinden yaptığınız işlemlerle aslında kod yazıyorsunuz. Blueprint sayesinde kod karmaşıklığından kurtulabilirsiniz. Genelde çok büyük yerine belirli bölümlerde işlemler için kullanılır. Örneğin, bir oyuncu belirli bir alana girdiğinde ışığın açılması gibi. Belirli dallara ayrılır.
Actors (Aktörler): Bölümün içine yerleştirilen nesneye aktör denir. Aktörler 3 boyutlu yani (konum değiştirme, döndürme, boyutlandırma) gibi fonksiyonları içerir. Aktörler C++ veya Blueprint ile spawn(doğdurma) edilebilir veya sahneden kaldırılır. Sahnede bulunan bir vazo aktördür.
Material (Malzeme): Örgüler üzerine (kutular, silindirler, veya nesneler) üzerine görsellik yaratmak amacıyla kullanan bir boyadır. Yani istediğiniz nesnenin istediği yüzü nasıl görüneceğinin cevabıdır. Boyamak gibi düşünebilirsiniz. Texturelar ve Normal Maplar kullanarak istediğiniz nesneyi resimsel olarak boyayabilirsiniz.
Viewport (Görüntü Alanı): Görüntü alanı istediğiniz nesneyi, karakteri veya animasyonu göreceğiniz bir alandır.
Skeletal Mesh (İskelet Örgü): İskelet örgü karakterlerinizi veya nesnelerini hareket ettirmek veya animasyonlar yapmak için kullanılınır. İskelet örgü ikiye ayılır. Birincisi poligonlar sayesinde iskeletinizin görünümüdür. İkincisi ise aşamalı tasarım olarak poligonları hareket ettirmek için kullanılan iskelet hiyerarşisidir.
Components (Bileşenler): Aktöre eklemek istediğiniz fonksiyon parçalarıdır. Aktörünüz bileşenler sayesinde belirli fonksiyonlara sahip olabilir. Mesela bir lamba aktörümüz var. Bu lamba aktörüne ışık ekliyoruz(bileşen ekliyoruz) bu sayede aktörümüze fonksiyon kazandırıyoruz.
Pawns (Piyonlar): Önce şöyle düşünmekte fayda vardır. Bir piyonunuz var ve bu piyon satranç tahtası üzerine yerleştirilmiş konumda. Bu piyon ile neyi kontrol etmek istiyorsanız Piyon sınıfları sayesinde bu işi yapabilirsiniz. Oyuncular veya Yapay Zeka tarafından yönlendirilen aktörlerin ana sınıfıdır. Oyun dünyası içindeki karakterin sunumunu temsil eder. Piyonlar fiziksel konumu tutar. Örneğin bir karakter piyonların alt sınıfıdır. Yani fiziksel olaylar piyonlarda bulunur. Bir karakteriniz var diyelim onu teleport(ışınlandırmak) etmek istiyorsunuz. O zaman Piyon sınıfından türetilmiş olan karakterimizin setActorLocation özelliği ile belirli yere ışınlayabilirsiniz. Piyonlar bu işlemi gerçekleştirdiğinde fiziksel özelliklerini değiştirir. Veya bir NPC niz var. Bu NPC'nin 10 saniyede bir şu yöne gitmesini Piyonlar sayesinde yapıyorsunuz. Yani anlaşılacağı üzerine fiziksel olayları gerçekleştirmek için kullanılan bir sınıftır. Örneği oyunun yapay zekasına ne zaman karakter başka bir yere ışınlanınca 10 saniye boyunca ona saldırmayı kapat gibi komutlar pawnlar sayesinde yapılır. Piyonlar ne zaman bir insan veya AI ya da NPC tarafından kontrol edilirse durum possesed olarak geçer. Bunun dışında unpossesed olarak geçer
Characters (Karakterler): Sadece insan olarak düşündüğümüz karakterler olarak algılamayın. Kısacası yönlendirilebilinen, üzerinde belirli fonksiyonlarla işlem yaptırabilinen bir oluşumdur.
Actor ve Pawnlar Hakkında Ekstra Bilgi: Actor sahnede kendi başına var olabilen en basit yapı, Pawn ise AI yada Player tarafından, dolaylı olarak sırasıyla AIController ve PlayerController aracılığıyla kontrol edilebilen Actordür. Character ise Vehicle(araç) gibi Pawnlar için kullanılmazLinkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!. Character, tam olarak Humanoid(insansı) ve hayvan, yaratık...vb gibi Pawnlar için kullanılır. (cihatburak adlı kullanıcıya teşekkürler)
PlayerController (Oyuncu Kontrolcüsü): Oyuncu girdilerini alıp bu girdiler ile bu oyuncuyu çeşitli etkileşimlere sokan bir sınıftır. Her oyunun içinde en az bir tane oyuncu kontrolcüsü vardır. Multiplayer oyunlarda, her oyuncu kendi oyun kontrolcüsünü yönetir. Mesela bir oyuncu canavara en son vuruşu yaptığında bu canavar o oyuncunun playercontrollerine gözükür gibi gibi.. Bir Pawn veya Karakterin possesed durumundaki yeniden sunumu da denilebilinir.
Artificial Antelligence veya AI (Yapay Zeka): Yapay zeka belirli bir insan zekası tarafından yapılan bir zekadır(Haydaa...). Yapay zekayı şöyle düşünün. Örneğin bir canavar yarattınız. Bu canavarın sizin karakterinize ateş etme zekasını ona kazandırmak bir yapay zekadır. UE4 de yapay zekalar Behaviour Trees ve Blackboard(Davranış Ağaçları veya Karatahta) lar olmak üzere ikiye ayrılır.
AIController (Yapay Zeka Kontrolcüsü): PlayerController'da olduğu gibi Pawn'ların tekrardan possesed sunumudur. Kısacası NPC'lerin kontrolü ve yönetimidir.(NPC denildiğinde aklınıza sadece bekleyen bir silah satıcısı gelmesin. Oyunda uçan bir kelebek bile bir NPC'dir.) Yapay Zeka Kontrolcüsünün görevi oyuncudan hiçbir girdi almadan kendi kafasına göre işlem yapmasıdır.
Brushes (BSP): Oyun bölümünün prototipidir. Yani bölüm tasarımcısı öncelikle bu konuyu gözden geçirir. Bir binanın temeli gibi düşünebiliriz. Önce temeli inşa edilir daha sonra tasarımı gerçekleştirilir. Brush ise bu 3B modellemelerin yapımıdır. Amacı ise farklı LoD(Seviye Detayları) karşısında ne şekil alacağının ve performans testinin saptanmasıdır.
GameWorld (Oyun Dünyası): Yüklenen seviyelerin tümüdür. Seviyelerin düzenini ve dinamik aktörlerin yaratılmasını sağlar.
GameModes (Oyun Değiştirmeleri veyahut Oyun Modifikasyonları): Sırf oyunun kurallarını ayarlamak için kullanılan bir sınıftır. Oyuna kaç kişi katılabileceğini, durdurup durdurulamayacağını, bölüm geçişlerini, oyunu kazanma hedeflerini belirlenmesinde etkendir. Örneğin takım olarak oynanan bir stateji oyununda, düşmanın askerlerini %10 a ulaştıysa oyunu kazananı belirlemek gibi.
GameStates (Oyun Durumları): Çevrimiçi/Çevrimdışı oyunlarda her oyuna ait bilgileri içerir. Oyun başlamış mı? Oyunun skoru kaç? Gibi oyunsal şeyleri içerir. Çevrimiçi oyunlarda
PlayerStates (Oyuncu Durumları): Her oyuncuya ait değişken bilgilerinin veya olay dağıtıcılarının saplanılıp işlem gördüğü yerdir. Çevimiçi oyunlar için oyuncuya ait sağlık bilgileri, zırh bilgileri gibi değişkenleri saklar.
HUD (Baş Üstü Göstergeler): Oyuncunun veya karakterin sağlık, kalan zırh ve mermi gibi değişken durumlarının ekrana grafiksel olarak gösterimidir.
Widget (Pencere Öğesi): Widget Unreal Engine 4 için menüleri, karakter sağlıklarını veya zırh seviyelerini gibi şeyleri düzenlemek için oluşturulmuş bir öğedir.
Partical Effects (Parçacık Efektleri): Parçacık efektleri ile ateş, duman ya da daha görsel olarak sprite(peri) gibi efektler yapabilrisiniz.
Post Process Effects (İşlem Sonrası Efektleri): Artistler Tonlama, AO(Ambient Occlusion) vb... gibi özellikleri bulunduran Post Process Efektleri sayesinde tam anlamıyla görüntüde gerçekçilik yakalamayı hedefler. UE4'ün en önemli rendering özelliklerinin geneline verilen ada denir.
Rendering (Sıvalama): Bilgisayarda çizilmiş bir modeli bir program aracılığıyla resim veya video haline çevirmektir.
Mesh (Örgü): Modelin örgüsünün oluşturan küçük parçalara(ağlara) denilir. Mesh bir elemanı daha küçük fiziksel parçalara bölme işlemi olarak da tanımlanabilinir.
Static Mesh (Durgun Örgü): Oyunda grafik işlemcisi tarafından renderlenen çokgen geometrik şekillerin bir parçasıdır. Genel geometrik şekillerden daha farklıdır. Static Meshler in ekseni, dönüşümü ve boyutu değişebilir fakat kesiştiklerinde animasyonları olamaz.
Collision ( Çarpışma ) : Adı üzerinde çarpışma olayı, bir nesneye bir karakter hareket etmesi gibi olaylar içerisinde ne olacağı durumudur.
Scalability (Ölçeklenebilirlik) : Modern oyunlar oyuncuların oynanabilmesi için kullanılan malzemeler, animasyon modellemeleri ya da programlama teknikleri sayesinde oyuncuların sistem gereksinimlerine göre optimizasyon olayıdır.
Splash Screen ( Zıptıçıktı : ) : Kesinlikle daha iyi bir kelime bulmalıydım. En basitinden oyun açıldığı zaman gördüğünüz oyun şirketinin animasyonu diyebiliriz. Yani geçişler arasındaki animasyonlar diyebiliriz. Credits("yapımcılar") bölümü dahildir.
Level of Details <LOD> (Detay Seviyesi) : Grafiklerin detay seviyesidir. Low olan bir seviyede oynuyorsanız poligonların detay seviyesi azalır.
Trigger ( Tetikleyici ) : Oyuncunun belirlenmiş yere girip/çıktığı veya başka durumlardaki yapılacak olaylar için geliştirilen tetikleme sistemidir.
Sequencer Editor (Sıralama Düzenleyicisi): Oyunculara oyun içi sinematikler düzenlenmesini sağlayan UE4 bileşenidir. Oyuncuyu istediğiniz gibi istediğiniz şekilde animasyonlar yaratabilirsiniz. Track(izler) sayesinde karaktere ait animasyonlardan istediğiniz animasyonu yaratabilirsiniz.
Behavior Trees (Davranış Ağaçları): Yapay zekanın davranışlarını direkt olarak yönlendirmek için kullanılan bir yoldur. Davranış ağaçları sayesinde yapay zeka hangi durumda hangi davranışı sergileyeceğine karar verir.
Blackboard (Kara Tahta): Kara Tahta yapay zeka için değerleri okuma ve karar vermeye yarayan bir tahtadır. Kara tahta sayesinde yapay zekanın davranışlarının her değerini kontrol edebilirsiniz. Basit bir AI Pawn için kullanılabilinir. Davranış ağaçları ile birlikte kullanılır.
Paper2D: 2 boyutlu oyunlar yapılması için UE4'ün bir bileşenidir. Fizik motorunu içerir.
Persona: Unreal'in animasyon düzenleme setidir. Persona sayesinde detaylı bir şekilde karakter animasyonlarını sağlayabilirsiniz.
Curves (Eğimler): Belirli bir grafiğe göre değerleri değişen bir zamanlayıcı parçasıdır.
( Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!)
09-05-2017, Saat: 20:20
Yeni başlayacaklar için gerçekten çok yararlı bir konu olmuş sektöre ve ortama girdikten sonra bu tür terimler ile çok karşılaşılmaktadır konuyu sabitliyorum teşekkürler
09-05-2017, Saat: 20:23
10-05-2017, Saat: 11:06
10-05-2017, Saat: 11:08
Terim bilmek bizim işin her alanında oldukça kilit bir noktadır. Elinize sağlık.
Unreal Engine Royality(Telif Hakları) Hakkında Bilgiler cod3ispoetry 1 1,031 09-05-2017, Saat: 20:19