Author Archives: sacitsivri

Haritaların Tasarımları Hakkında

Harita tasarımlarında ilerlerken, korku öğelerinden uzak durmaya çalışıyordum. Ama ilk denemelerin bunun tam tersini yarattığını birkaç kişinin yorumları sayesinde gördüm.

http://i.imgur.com/16rw6S3.jpg

http://i.imgur.com/mVERQ5E.jpg

http://i.imgur.com/oGxMPja.jpg

Bu screenshotlarda, oyuncunun etrafı araştırmak istemesi yerine, çok fazla kaotik durduğundan oyuncunun bir an önce buradan uzaklaşması gerektiği hissini veriyordu. Oysa oyunda madenler gizemli ve karanlık bir hava yaratmalıydı, oyuncu daha fazla merak etmeliydi. Bu yüzden, burdaki dokuların çoğunu baştan yarattım.

Yeni hali;

http://i.imgur.com/6rfp58v.jpg

Sırf pas ve biraz parlak tahta renkleri yerine, daha tozlu ve eski dokular yarattım. Ve sanırım artık, yakalamak istediğim o gizemli hava için daha uygun bir halde.

Yeni tasarımları;

http://i.imgur.com/VPaDL6K.jpg

http://i.imgur.com/jGgc0wf.jpg

http://i.imgur.com/TrhPNB9.jpg

http://i.imgur.com/uZuynfC.jpg

http://i.imgur.com/7IojmpC.jpg

http://i.imgur.com/BdEEr5j.jpg

http://i.imgur.com/MFnH37u.jpg

http://i.imgur.com/iqACqXu.jpg

 

İlk bölümden screenshotlar ve Shader Çalışmaları

Phong,  self-illumination, specular, bump, translucent shaderlarının kullanımı tümüyle çözdüm diyebilirim…

Oyunun ilk bölümünden screenshotlar;

http://i.imgur.com/Lb3106w.jpg

http://i.imgur.com/n9UeKJR.jpg

http://i.imgur.com/9iygeNa.jpg

http://i.imgur.com/L5QL3x3.jpg

 

İlk screenshot prototipten, ikinci screenshotta ise prototipteki texturing hatalarını giderdim;

http://i.imgur.com/fK9Ouaw.jpg

http://i.imgur.com/yWlRLgu.jpg

Shader Kullanımı – Bump-Normal Mapping / Parallaxmap / Specularity /

İlk prototipin bitimi ve sunumu için ilerlemekte olurken, oyun motorunun destekleyebileceği shaderları teker tekrar öğrenmeye koyuldum.

Bump-Normal Mapping;

Bump mapler, bir texture üzerinde bir nevi üç boyutluluğu taklit eden bir shader türüdür. Kısacası, 2D bir texture yüzeyini 3D gibi gözükmesini sağlar, ama aslında tabiiki değildir. Bump map yapımı işlemine “Normal Mapping” denir.

 

bump1

Örnek olarak resimde, solda textuerın difuse halini görüyoruz, sağda ise bump mapi. Kırmızı renker yatay, yeşil yükseklik, mavi ise derinlik değerleri ile birlikte ışığın ne şekilde yansıyacağını hesaplıyorlar. Yani aslında gördüğümüz, küçük bir ışık ilizyonu.

 

Normalmap

Soldaki, normal/bump mape sahip olmayan yüzey ve ışıklar tek bir şekilde yansıyor, yüzeyden bilgi almıyorlar. Ama sağda ise bump/normal map var, ve ışık RGB ile kodlanmış noktalardan farklı yerlere yansımaları gerektiği bilgisi alıyor, böylece o resim/texture veya dokunun üzerinde belirli yükselikte olabilicek parçaların kenarları daha karanlık.

 

Normal Mapping biraz yorucu bir iş, ama bunu kolaylaştıran birkaç program tavsiye edebilirim

testbump

Her bir program, farklı sonuçlarla karşınıza çıkıcaktır. Crazy_bump ve texture maker en fazla tercih edilenlerden, yinede NVIDIA photoshop pluginleri bolca kullanan insanlarda mevcut.

Specular Mapping;

Specular mappinp, normal mappingden çok farklı değil. Bump RGB ile (x y z) yükseklik değerlerini alırken, specular mapping sadece siyah beyazdır. Bir alan ne kadar beyaz ise o kadar parlaktır ve ne kadar siyah ise o kadar az yansıma yapar.

Hoggle_maps

Sol üstte renkli gördüğümüz “Diffuse”, yani dokunun kendisi. Sağ üstteki bump ise, normal map değildir. Gri ve siyah bump mapler, self-shadowing bump maplerdir. Dışardan alabileceği farklı ışıklardan bilgi almak yerine, kendi içinde gölgelendirmeler ile aynı effekti sağlamaya çalışır, genelde modellerde veya yüzeydeki detayların hep belirgin olması için kullanılır.

Displace mapping ise, normal map x y z değerleri ışık oyunuyla bump effektini yaratırken, displacement sadece yükseklikte ve derinlikteki belirli noktalar  ile ilgilenir, bütün resme bakmaz.

Parallax mapping, aslında benimde bilgimin biraz zayıf olduğu bir konu, ve şu an kullandığım Source oyun motoru bile desteklememekte, ama bump/displacement birleşimine rakip bir shader gibi. Çünkü bir doku üzerindeki en büyük detayları tanıyıp, sadece onlara gerekli x y z değerlerini verebiliyor. Dokuda belirli vertexler vererek, buna “sun vertex modelling” deniyor.

Bu shaderları öğrendikten sonra, oyun motorunuza nasıl aktarabileceğinizi düşünmeye başlamalısınız. Mesela Source, bump map ile specular mappingin bir arada kullanılmasını desteklemiyor ve buna bir çözüm bulmam gerekti.

Bu daha önce göstermiş olduğum haritam,  Low resolution texturelar ve shader yok –  Eski hali -> http://i.imgur.com/Sjecl.jpg

Her hafta internetten bolca High Res texture toplamaya çalışıyorum olabildiğince,      Yeni hali ->  http://i.imgur.com/jOLEg.jpg  (normal mapping)

Normap Mappingi çözdükten sonra sıra specular mappinge geldi, ve bump map ile birlikte kullanılmıyor… Ve benimde gerçekçi bir çamur yaratmam gerek…

Çözüm aslında basit, doku için kullanacağınız normal mapin alpha layerına yerleştirebilirsiniz specular mapinizi.. Böylece motor, normal mapi yerleştirirken, siyah-beyaz specular mappinizide işleme koymuş olucak. Tabii, aslında tam specular bir map gibi gözükmeyecek ve bump mapin üzerinde başka bir layer varmış gibi durucak. Ama effektin taklidini en iyi bu şekilde yapıpılabileceğini düşünüyorum.

Çamur -> http://i.imgur.com/VJdXm.jpg

Ve dokular üzerinden x y z yansıtma değerlerini düşürebilirsiniz. Önceki gösterdiğim resimlerde, dokulardan yansıma oranı .5 .5 .5 iken, şimdi .1 e indirdim.

Ve sonuç -> http://i.imgur.com/HUiKE.jpg

Bu haftalık bu kadar, prototip hazırlanması için nerdeyse herşey hazır. Haftaya rahat yetişeceğinden eminim.

Oyun Motoru Hazırlanması ve Testleri Bölüm 2 – Model Animasyonları/Oyuna Yerleştirilmesi ve Displacementlar

Bu hafta 3D Max ile modellemiş olduğum ve animasyonlarını yaptığım.. dans eden bir fırçayı (neden diye sormayın, test amaçlı sadece)  başarıyla Source motoruna aktardım, ayrıca 3D Maxteki hazır brushlardan olan çaydanlık modeline collision detection ve physx ekleyerek,  oyun motoru içinde tutulabilir, fırlatılabilir.. tekmelenebilir.. parçalanabilir… bir eşya haline getirmeyi başardım. Kısacası, artık rahatlıkta her türlü modeli oyunun içine aktarabilirim, karakterler veya eşyalar.

Fırça modellenmesi, kemik eklenmesi ve animasyonları; http://i.imgur.com/KO4FJ.jpg

Wallworm model tools kodları sayesinde, 3D Maxten modeli oyun motoruna uygun hale getirebildim;  http://i.imgur.com/rSomj.jpg

Çaydanlık, collision detection ve physx: http://i.imgur.com/19e64.jpg

Oyun içindeki görüntüleri, çaydanlık ve dans eden fırçalar; http://i.imgur.com/ss7SD.jpg

Ve çaydanlığı tutup havaya fırlattığım an; http://i.imgur.com/0XmoK.jpg

Oyun madende geçeceğinden ön hazırlık için, madenlerin ve mağaraların yapımı ile ilgili birkaç test;

Hammer (Valve/Source SDK), Displacementların yapımı; http://i.imgur.com/vXtvV.jpg

Ve birkaç ışık, compiling ve oyun içi görüntüleri; http://i.imgur.com/Sjecl.jpg

http://i.imgur.com/bXbFS.jpg

Birkaç yerde küçük brush hataları var ama.. displacementlara daha hakim olduğumda düzeltebileceğimden eminim.

Oyun Motoru Hazırlanması ve Testleri Bölüm 1 – HDR ve Color Correction

Bu hafta HDR yani “High Dynamic Range Lighting” ile “Color Correction”ı öğrenmek ve kendi oyunumda etkili olabileceğine inandığım bu iki özellik üzerine birkaç test gerçekleştirdim.

Öncelikle, HDR ve Color correction 2008-2009 dan itibaren çoğu oyunda var olan özellikler, oyundaki atmosferi ve ışıklandırmayı daha kolay ve etkili bir şekilde manipule etmek için kullanılıyor. Nasıl photoshopta resimler ile oynayabiliyorsak, oyun içinde ve sırasında bunu yapmak mümkün (her ne kadar az kullanılsada)

Çoğu filmde ve oyunda gördüğümüz “end of the tunnel” olarak adlandırılan efektin yapımı ile ilgili yapmış olduğum bir iki test;

 

HDR kullanılmadan önceki hali: http://i.imgur.com/Qylvh.jpg

HDR ile: http://i.imgur.com/Lf5SB.jpg

(Source motoruna hakim olmak amaçlı birkaç basit test)

 

“Color Correction”. (Oyun içindeki “photoshop”umuz)

Color correction kullanılmadan: http://i.imgur.com/q67Nd.jpg

Color correction ile: http://i.imgur.com/JITZ3.jpg (Değerleri biraz abarttım, amacım daha çok psychedelic bir ortam yaratmaktı)

HDR ile CC birleşimi ile; http://i.imgur.com/O8a7H.jpg

Bu iki özellik ile, oyun içinde çoğu tür efekti yapmak mümkün. Oyunumdaki  halüsinasyon ve ilizyonlarda yararlı olacağı kesin.