Merhabalar, UDK mantığını kolayca kavrayabilmek için geniş çaplı bir makale hazırlayayım dedim ve hemen işe koyuldum.
Öncelikle, Unreal Development Kit ile Unreal Engine 3 arasında ki farkı bilmeniz lazım ki oda şudur;
Tabiki de Epic kimseye öyle Unreal Engine 3 vermiyor ki fiyatı da baya bi' sıfır rakamı içermekte
UDK klasörüne bakacak olursak;
Binaries
Oyunun .exe ve .dll partlarının bulunduğu klasördür ki burayla oyun yazılımı kısmında fazla bir işimiz bulunmamakta. Oyun kayıt etme ve yükleme gibi olaylar üstünde .dll dosyaları ile biraz çalışıyoruz, .exe iconunu değiştiriyoruz.
Development
Development adından da anlaşılabileceği üzere geliştirme / programlama alanıdır. Unreal Engine 3 orjinalinde bu kısım; açık kaynak kodu barındırmakta fakat UDK'da bu biraz daha farklı. Unrealscript denilen bir dil devreye giriyor. Unrealscript'in yapabileceği şeyler sınırlı, c# veya c++ gücünü beklemeyin, beklentileriniz yüksek olmamalı. Mesela unrealscript'in bazı kullanıldığı ve şart olduğu yerler var;
Engine
Motorun içerisinde bulunan .upk dosyaları(Unreal Package), motor ayarları(çözünürlük, DOF, editör ayaları vb.), ve dil dosyalarının bulunduğu kısımdır. Binaries tarzı, oyunu paketleme işleminde az uz haşır neşir olmamız gerekiyor.
UDKGame / UTGame
Bu UDKGame veya UTGame klasör adı UDK sürümlerine göre farklılık gösterebiliyor. Yeni sürümlerde genelde UDKGame ismiyle geliyor. Siz bu şekilde oyun kısaltması ve game bağlacı ile bir klasör oluşturamaz veya geçerli klasörün adını değiştiremezsiniz. Config dosyalarında böyle ayarları var fakat geçerli olmuyor her ne kadar değişiklik yaparsanız yapın.
Burayla Development bölümünden çok daha fazla vakit harcamamız lazım diyelim.
UDKGame klasör içeriği / Açıklaması
Programın çalışma mantığına geçmek istiyorum;
UDK'nın iki türlü açılış yöntemi vardır. Birincisi:
İkincisi:
Bunları kısayol açılışında kullanıyorsunuz, ilki direk oyunu açar ikincisi ise editörü açar.
Editör üstünde yaptığınız değişiklikler; UDK.exe'ye doğrudan işler.
.uc dosyalarına yazılan unrealscript, doğrudan işlemez her compiler program gibi unrealscript'inde compile'ye ihtiyacı vardır ki kod yazdığınız zaman UDK.exe'yi açamazsınız, sizlere compile'yi onaylamanızı sorar. Compile onayladığınız zaman .u dosyalarına hatalı / hatasız bir şekilde yazılır ve motor ya açılır ya da hata verir(istinai durumları saymıyorum.) Zaten dediğim gibi hata alırsanız eğer, log dosyasına göz atmalısınız.
Kısa ve öz olarak hemen sizlere oynanabilirlik mantığını yazacağım ve bu dersi bitireceğim. Örneğin bölüm sonu, oyunun sonuna gelindiği zaman yapımcılar ekranının çıkması için programlamaya ihtiyaç yok. Sadece biraz İngilizce dil bilgisi ve mantık bunun için fazlasıyla yeterli oluyor.
Örneğin, bölüm değiştirme veya oyun sonunda menüye yönlendirme için kullanılan mantık(Kismet):
> Oyuncu kapının önünde ki "trigger"a dokunursa bölümü değiştir / SWF dosyasını aç.
Bunların hepsi kismet üstünde ki sequencelerden gerçekleşiyor. Genelde insanlar ilk kismet'ten korkuyor fakat anlamaya ve yapmaya başlayınca insan gerçekten zevk almaya başlıyor. İleride olan derslerimde harita arayüzünden, terrain eklemeden bahsedeceğim.
Ayrıca ilk böyle bir dersten başlamak istedim ki, motorun önce alt yapısını öğrenin.
Öncelikle, Unreal Development Kit ile Unreal Engine 3 arasında ki farkı bilmeniz lazım ki oda şudur;
- Unreal Engine 3 açık kaynak kodludur. Bunu en açık şekilde örnekleyebilecek olursam;
- UDK üstünde bulunan Splash.bmp resimidir. Siz bu .bmp uzantıyı elinizde kaynak kodu olmadan düzenleyemezsiniz.
- Unreal Engine 3 içerisinde Gears of War ve Unreal Tournament 3'ün full versiyonları bulunmaktadır.UDK'da sadece Unreal Tournament 3'ün demo hali bulunmaktadır.
Tabiki de Epic kimseye öyle Unreal Engine 3 vermiyor ki fiyatı da baya bi' sıfır rakamı içermekte
UDK klasörüne bakacak olursak;
- Binaries
- Development
- Engine
- UDKGame / UTGame
Binaries
Oyunun .exe ve .dll partlarının bulunduğu klasördür ki burayla oyun yazılımı kısmında fazla bir işimiz bulunmamakta. Oyun kayıt etme ve yükleme gibi olaylar üstünde .dll dosyaları ile biraz çalışıyoruz, .exe iconunu değiştiriyoruz.
Development
Development adından da anlaşılabileceği üzere geliştirme / programlama alanıdır. Unreal Engine 3 orjinalinde bu kısım; açık kaynak kodu barındırmakta fakat UDK'da bu biraz daha farklı. Unrealscript denilen bir dil devreye giriyor. Unrealscript'in yapabileceği şeyler sınırlı, c# veya c++ gücünü beklemeyin, beklentileriniz yüksek olmamalı. Mesela unrealscript'in bazı kullanıldığı ve şart olduğu yerler var;
- Silah eklemek
- Karakter eklemek
- Animasyon kullanımı(Tabii ilerde Matinee'de göreceğiniz tarzdan değil, örneğin duvara tırmanma(ledge)).
Engine
Motorun içerisinde bulunan .upk dosyaları(Unreal Package), motor ayarları(çözünürlük, DOF, editör ayaları vb.), ve dil dosyalarının bulunduğu kısımdır. Binaries tarzı, oyunu paketleme işleminde az uz haşır neşir olmamız gerekiyor.
UDKGame / UTGame
Bu UDKGame veya UTGame klasör adı UDK sürümlerine göre farklılık gösterebiliyor. Yeni sürümlerde genelde UDKGame ismiyle geliyor. Siz bu şekilde oyun kısaltması ve game bağlacı ile bir klasör oluşturamaz veya geçerli klasörün adını değiştiremezsiniz. Config dosyalarında böyle ayarları var fakat geçerli olmuyor her ne kadar değişiklik yaparsanız yapın.
Burayla Development bölümünden çok daha fazla vakit harcamamız lazım diyelim.
UDKGame klasör içeriği / Açıklaması
- Build / Son güncelleme ile baya dolan bir klasör. Mobil oyun yazılımında; iPhone klasörü sizlerin çok işinize yarayacaktır. İçerisinde oyun açılırken bulunan loading movies'ler ve resimler bulunmaktadır.
- Config / Burası oyunda bulunan windows pencere adı, oyun kısaltması, çözünürlük, tuşlar, mouse hızı, dosya paketleri, UPK yolları, UTGame ana menüsünün swf label'lerine kadar herşey burada. Burayı iyi öğrenin, sevin
- Content / Harita dosyalarınız(.udk), paket dosyalarınız(upk)'ların bulunduğu yani oyunu oluşturan tüm elementlerin toplandığı yer bu klasör. Content Browser içerisinde görebildiğiniz herşey (Engine hariç) bu klasör içinde.
- Flash / ActionScript ve Scaleform destekli tüm gfx dosyalarının toplandığı alandır. Daha da açacak olursam; ana menü, hud gibi elementler burada referans gösterilir ve buradan content klasörü içerisine çekilir.
- Localization / Scaleform, alt yazı veya diğer değişken olarak atanan label'lerin bulunduğu text dosyalarıdır. INT klasörü içerisinde bulunan .int uzantılı dosyaları NotePad veya NP++ ile açıp düzenleyebilmeniz söz konusu.
- Logs / Editör ve hata kayıtlarını tutar. Her programı açtığınızda önceki log dosyalarını arşivler ve yeni bir dosya yaratır. Bir hata alırsanız burası çok işinize yarayacaktır.
- Movies / adından da anlayabileceğiniz üzere, görüntü dosyaları. Oyun açılırken gelen, Unreal Engine logosunu buraya örnek olarak gösterebiliriz.
- ProjectTemplates / Editörü açtığınız zaman gelen "Hoşgeldiniz" sayfasındaki new map seçeneğini seçtiğiniz zaman karşınıza gelen 4 adet harita tipi.
- Script / unrealscript dosyalarını compile / build ettiğiniz zaman .uc dosyalarını .u haline getirir ve unrealscript dosyalarımızı kapatır. Az uz notepad ile gözükse de gözüken kod parçacıkları çok yararlı olmuyor
- Splash / Oyun veya editör açılırken gelen .bmp uzantılı resimlerin bulunduğu alan.
Programın çalışma mantığına geçmek istiyorum;
UDK'nın iki türlü açılış yöntemi vardır. Birincisi:
Kod:
UDK.exe
İkincisi:
Kod:
UDK.exe -editor
Bunları kısayol açılışında kullanıyorsunuz, ilki direk oyunu açar ikincisi ise editörü açar.
Editör üstünde yaptığınız değişiklikler; UDK.exe'ye doğrudan işler.
.uc dosyalarına yazılan unrealscript, doğrudan işlemez her compiler program gibi unrealscript'inde compile'ye ihtiyacı vardır ki kod yazdığınız zaman UDK.exe'yi açamazsınız, sizlere compile'yi onaylamanızı sorar. Compile onayladığınız zaman .u dosyalarına hatalı / hatasız bir şekilde yazılır ve motor ya açılır ya da hata verir(istinai durumları saymıyorum.) Zaten dediğim gibi hata alırsanız eğer, log dosyasına göz atmalısınız.
Kısa ve öz olarak hemen sizlere oynanabilirlik mantığını yazacağım ve bu dersi bitireceğim. Örneğin bölüm sonu, oyunun sonuna gelindiği zaman yapımcılar ekranının çıkması için programlamaya ihtiyaç yok. Sadece biraz İngilizce dil bilgisi ve mantık bunun için fazlasıyla yeterli oluyor.
Örneğin, bölüm değiştirme veya oyun sonunda menüye yönlendirme için kullanılan mantık(Kismet):
> Oyuncu kapının önünde ki "trigger"a dokunursa bölümü değiştir / SWF dosyasını aç.
Bunların hepsi kismet üstünde ki sequencelerden gerçekleşiyor. Genelde insanlar ilk kismet'ten korkuyor fakat anlamaya ve yapmaya başlayınca insan gerçekten zevk almaya başlıyor. İleride olan derslerimde harita arayüzünden, terrain eklemeden bahsedeceğim.
Ayrıca ilk böyle bir dersten başlamak istedim ki, motorun önce alt yapısını öğrenin.