Tuesday, June 19, 2012

Güven Park'ta dinazor paniği! (Fotoğraflar)

Ankara'da arada bir güzel şeyler oluyor. Bunlardan birisi, Shopping Fest kapsamında Güven Park'a kurulmuş olan dinazor maketleriydi. Şahsen ben bir dino-sever olarak bu maketleri çok beğendim, böyle bir atraksiyonu düşünmüş olmalarına sevindim. Tahmin edebileceğiniz gibi, bu blog yazısında bu maketlerin çektiğim fotoğraflarını göreceksiniz.






Eoraptor'müş bu yukarıdaki vatandaş.



İlk günlerde bu maketler hareketli ve sesliydi. Şöyle bir video çekme fırsatım olmuştu, maketler ilk geldiği gün. O gün yanımda sadece telefonum olduğu için video biraz dandik, ama idare edin işte.

Aslında daha fazla maket var Güven Park'ta, ama diğerleriyle henüz şık bir ışıklandırmanın altındayken karşılaşamadım. Eğer onların da güzel fotoğraflarını çekersem onlar için ikinci bir blog yazısı hazırlarım.

Monday, June 18, 2012

Acedia

Geçen haftasonu, Game Developers Turkey'in düzenlediği game jam'e katılıp Acedia isimli yeni bir macera oyunu çıkardım!

Öncelikle etkinliğin kendisinden bahsedeyim: Game Developers @ Turkey'deki fikirlerimizden birisi kendi game-jam'lerimizi düzenlemekti (bu arada ne kadar çok İngilizce kelime kullanıyoruz... bu başka bir yazının konusu). Belirlenmiş bir tema için, 48 saat boyunca ekip veya kişisel olarak oyun yaptığımız bir etkinlikti bu. . GGJ'den farkı, etkinliğe evlerimizden online olarak katılmamızdı. Epey eğlendik, ortaya güzel oyunlar çıktı. Kişisel favorilerim "Soğan Olsun Mu?" ve "Psychedelic Run".

Bu jam'in teması "Escape" 'di.

Oyun hakkında



Bu etkinlikte tanıştığım Mert Tanır ile hikaye odaklı, kısa bir adventure oyunu olan Acedia'yı çıkardık. Bir adventure oyunundan ziyade, kısa hikayeye benzedi Acedia. Doğru düzgün bir puzzle tasarlamak ve onu da kodlamak için pek zamanımız olmadı (aklıma bir-iki fikir gelmişti, ama onları pek sevmedim). Ama ortaya çıkan üründen memnunum yine de, çünkü benim yapmayı sevdiğim iş, insanlara bir şeyler anlatmak.

Bu game-jam'e, normal bir GGJ'ne ayrılanın belki üçte biri kadar vakit ayırabildik. Oyunu Adventure Game Studio gibi hem iyi bildiğim, hem de kullanımı kolay olan bir araçla hazırladığım için oyunun kodlamasını yetiştirememe gibi bir sorunum olmadı.

Çağlar Şahin'in portföyündeki güzel GDTjam1 Piyano-I eseri de bizim oyunla uyumluydu.

Hikaye



 

Şu hissi bilir misiniz? Her şeye sahipsinizdir. Kendi ülkeniz, size ait bir şato… Güneşin aydınlattığı her neyi görüyorsanız o sizindir. Her şey o kadar güzeldir ki, tüm dünyanızın yıkılması korkusu kalbinizin bir köşesine yerleşmiştir.

İşte ben bu durumdayım. Görüyorum, dev bir karanlık yaklaşıyor benim yuvama. Ama ne yapacağımı bilmiyorum. Bu karanlığı gören tek insan benim. Kime sorsam, böyle bir tehlikenin var olmadığını söylüyor. Yardımcı olacak kimse yok bana. 

Tek başıma halletmem gereken bir iş bu, bu tehlikeden kaçmak!

Oyunu buradan indirebilirsiniz (Windows için, 12,6 MB)

Tam çözüm

Oyunun bulmacası çok mantıklı olmadığı için oyunda takılmanız normal. Yapılması gerekenleri aşağıya siyah renkle yazdım, highlight ederek okuyabilirsiniz.

* Soldaki arcade makinasıyla oynamaya çalışın (el ikonu) 
* Sağdaki masadaki evrakları okuyun (el veya göz ikonu)
* Kahyayla konuşup (konuşma ikonu) bütün soruları sorun (şatodaki yakıtı ve halkın açlığını) 
* Oyun soluklaşmaya, kararmaya başlayacak. Ekranın altına tıklayıp arkaya doğru bakın 
* Renkler tamamen soluklaştıktan sonra tekrar Kahya’nın olduğu sahneye gelmeye çalıştığınızda oyun bitecek

Saturday, May 19, 2012

Photoset: Melek & Aslan

Bu yeni çektiğim fotoğraflardan epey memnun kaldım, umarım sizin de beğeninizi kazanırlar. Anneme aldığım Anneler Günü hediyesiydi bu melek figürü. Bana nedense Agnus Dei'yi ve Miserere Mei, Deus'u hatırlatıyor bu figür, resimleri çekerken de bol bol dinledim bu ikisini.




Bu arada, hepimizin 19 Mayıs Bayramı kutlu olsun!

Sunday, April 29, 2012

Kafesteki Ventrue

Oldukça kişisel bir yazı olacak bu. Öyle ki, burada yayınlamak konusunda tereddüt duyuyordum, ama zaten burayı milyonlarca kişi takip etmediği için sorun yok.

Son birkaç gündür aklımda olan bazı düşünceler var, kendimle ilgili. Birkaç şeyin farkına varmıştım, fikirlerine değer verdiğim bir dostumla yaptığım bir konuşma bu farkındalığımı pekiştirdi.

Ben kibar, asil bir insana dönüştüm. Eskiden çok mu kabaydım, sanmıyorum, ama son birkaç yıldır (ve özellikle son aylarda) hayatımı güzel insanlarla geçiriyor olmamın bende etki bıraktığını düşünüyorum. Ailem, iş arkadaşlarım ve dostlarımın ne kadar düzgün insanlar olduğunu geçen haftaki MetuCon'a gittiğimde anladım. Özellikle de bir iş arkadaşımın, Ulus'ta buzdolabı almak için gittiğinde muhattap olmak zorunda kaldığı insanlar, bizim Teknokent'te Cennet'te yaşadığımızı gösterdi bize (anlattığı anılar tam Quentin Tarantino filmi havasındaydı. Hayır, şiddet öğesi yok, ama çok ilginç karakterler vardı.).

Üfff, neyse, konudan saptım. Günlük hayatımda beni rahatsız eden şeyleri, fikir ayrılıklarımı negatif bir tutum sergilemeden ifade edebiliyorum; çünkü buna ihtiyacım olmuyor. Etrafımdaki insanlar o kadar iyi ki, dışarıda beni çok öfkelendiren bir olayla karşılaştığımda da ne yapacağımı şaşırıyorum, bu beni suskunlaştırıyor.


Farkına vardığım şey, benim belki de fazla kibar bir insana dönüşmüş olabileceğim. İçimde güçlü bir aslanın yattığını hissediyorum, ama bazı olaylar karşısında takındığım tavırları incelediğimde fark ediyorum ki ben bu aslanı bir kafeste tutuyormuşum.

Sadece öfkemi ifade etmek konusunda değil; yeni tanıştığım, karşı cinsteki birkaç kişiye flörtif yaklaşmayı istemiş olmama rağmen, beni omzumdan geriye çeken çekingen, saçma bir ahlaki kod ruhumda etkin hâlen. Bu konuyu burada daha fazla irdelemeyeceğim.


Çok kere öfkelendim, beni öfkelendiren kişilere sinirli sinirli bakmak dışında bu öfkemi sakladım, ama bazıları sert bir bakıştan fazlasını hak ediyordu. Gidip ağızlarını burunlarını kırmaktan bahsetmiyorum elbette; ama aynı olaylar ablamın veya babamın başına gelseydi, kabahati işleyenler sağlam bir ayar yemeden olay yerini terk edemezdi. Ve ikisi de asil ve kibar insanlardır.

Yaşadığım sinir bozucu olaylardan örnekler;

* Gökhan Abi'yle birlikte ODTÜ'de yürüyor, sohbet ediyorduk. Ben kaldırımın sağ tarafında yürüyordum. Sağ tarafımızda bir tane kafe vardı, o kafe yaklaşık olarak 1 metre yükseklikteki bir bölgenin üzerindeydi (yani şöyle diyeyim; bizim başımız, kafedekilerin bacaklarının hizasındaydı).

Birden bire gözümüzün önünden yanan bir izmarit geçti. Yanımızdaki kafede oturan bir genç, küllükteki sigarasına fiske atmış, tam kaldırıma doğru. Eğer iki-üç adım daha atmış olsaydım o yanan şey üzerime gelecekti. Hatta belki de yüzüme, eğer rotası biraz daha yüksekte kalsaymış.


Sinirli bir şekilde o yöne baktık, izmariti atan salak "Ayy çok özür dilerim" demek istercesine elini kaldırdı, utangaç bir şekilde. Biz de bir şey demeden yolumuza devam ettik, hatasını anlamış olduğunu umarak.


* MetuCon'un ilk günü için bir tane LARP'e katılmıştım. LARP için hazırlanmış, etrafında perdeler olan iki tane bölge vardı. Perdelerin üzerinde hangi LARP'ın oynandığı yazmadığı için içlerine girip bunu sormam gerekiyordu. Gittiğim ilk bölgede oynanan oyun benim katıldığım değildi, bu yüzden ötekine doğru yol aldım.

(Bu arada yeri gelmişken belirteyim. Eğer oynamak üzere olduğunuz bir LARP'in alanında tanımadığınız birisi gelip size onun hangi oyun olduğunu sorduğunda "Melih'in!" yanıtını verirseniz karşıdaki "Acaba 'Melihin' diye bir oyun evreni mi vardı? DM'in adı mı Melih'ti?" diye afallayabilir. Çünkü o etkinliğe katılan herkes Melih'i tanımak durumunda değil.) 


Neyse, ikinci alana girdiğimde bir tane tipleme perdelerin önünde nöbet bekliyordu. "Olduğun yerde dur! Ve geri dön!" diye bana emir verdi. İstifimi bozmadan "Niçin? Burada hazırlık mı yapılıyor?" diye sordum. Hayır, içeride bir tane kız giyiniyormuş, bu yüzden benim olduğum yerde durmam ve geri dönmem lazımmış.


Eh, eğer kibar bir şekilde durumu izah edip benim beklememi isteseydi ben zaten beklemeyecektim, değil mi? Çünkü ben sapığım zaten, "RÖÖAARRH!" diye perdeyi yarıp içeri girecektim, bana emir havlanmasaydı. 


"Peki burası World of Darkness LARP'i mi?" diye sorduğumda tiplemeden aldığım yanıt "Hayır!" oldu. Sonra kız arkadaşı içeriden müdahale etti, burası gerçekten de benim katılacağım LARP'miş. Bir de kayıt yaptırdığım oyunun alanından kovuluyorum, bu da iyi.


Benim tek yaptığım şey, kovulmuş olmama rağmen orada beklemek, arada da o tiplemeye sert bir şekilde bakmak. MetuCon boyunca o tiple karşılaştığımda ona sinirli bir şekilde bakmaya devam ettim. Hatasını anlamış mıdır? Sanmıyorum.


* Bu o kadar karşıdaki kişilerin kabahatiyle dolu bir tecrübe değildi. Oynadığım RPG'de (bu da WoD: Vampire'dı) partideki Ventrue rolünde, partinin lideri konumundaydım. Oyun sırasında oyunculardan bir-ikisi sürekli sözümü kesip durdu, ben oyunda olmam gerektiğinden daha geri planda kaldım. Onlara verdiğim tavsiyeleri (verdiklerim komut bile değildi) sallamadılar, başımızı belaya sokabilecek hatalar yapıldı.

Oyunun sonunda hepimiz hamamböceğine dönüşelim umrumda değil, hepsi oyun nihayetinde. Ama benim bu kadar dikkate alınmamam beni sinir etti. Oyun sonunda DM'in bana söylediği şey; bir Ventrue rolü için fazla pasif davrandığım (çünkü ben o vampir Ventrue karakterimi bile baskı altında tutuyordum), eğer oyunda birisi sürekli rolümü kesiyorsa sesimi onunkinden yüksek tutmaktan kaçınmamam gerektiği. (Aslında bu etkinlik boyunca katıldığım 3 oyundan da önemli şeyler öğrendim, onlara başka bir yazıda değinebilirim.)


* Akşam eve gelirken taksiye binmiştim. Bir yol ayrımından sağ gitmemiz gerektiğini geç söylediğim için biraz azarladı beni (çünkü adam hızlı gidiyordu!) ben de taksiden inmek istediğimi söyledim (asıl sebebi bizim gerçekten de ineceğim yere varmamızdı, benim tavır koymam değil). Adam sesli olarak la havle çekmeye başladı durarken, ama asıl 'la havle'yi ben çekiyordum içimden.

 "Acaba ben içimdeki duyguları çok mu fazla bastırıyorum?" diye düşündüğüm bu günlerde arkadaşımla yaptığım konuşma, bu sayfaların yazımını tetikledi. Arkadaşım, benimle olan dostluğundan dolayı memnuniyetini, benim ne kadar kibar, oturaklı bir insan olduğumdan bahsetti, özellikle de geçenlerde içerisinde bulunduğumuz bir ortamdaki tavırlarımdan.

İlginç olaylar



Bu yazımda, son günlerde başımdan geçen iki ilginç olayı sizlerle paylaşmak niyetindeyim. Bunlardan birisi tanık olduğumuz UFO'lar hakkındayken, öteki tam bir korku filminden fırlamış bir sahne (bu ikinci olayı Facebook'ta paylaşmıştım, FB arkadaşlarım için yeni bir şey değil yani).

UFO ile kast ettiğim şey elbette "tanımlanamayan uçan nesneler", onların uzaylı olduğunu söylemiyorum ("...ama onlar uzaylılardı!" diye devam edesim var).




ODTÜ-Bilkent semalarındaki UFO'lar

 27 Nisan 2012 tarihinde, saat 8 sularında ODTÜ Teknokent'teki iş yerimizden çıkıyorduk; ben, Gökhan Abi ve Aydın. Binadan çıktıktan kısa bir süre sonra gökyüzündeki parlak bir cismi fark ettik. Cisim; ne olduğunu anlayabilmemiz için fazla küçüktü veya fazla uzaktaydı. Ama cismin sanki alevler içerisindeymiş (veya bir alev topuymuş!) gibi parladığını fark etmemek imkansızdı.

(Benim telefonumla çektiğim bir video var, ama aşırı dandik olduğunu belirteyim. O cismin hızı ve hareket yönü konusunda fikir verebilir belki. Bu video ikinci UFO'ya ait; ama zaten ikincisinin ilkinden neredeyse hiç farkı yoktu.)

Bu minik noktanın etrafına yaydığı ışığın hue değeri ve şiddeti bana titrek bir şekilde değişiyormuş gibi geldi; yani bir lambadan beklenileceği gibi stabil bir ışıktan ziyade, yanan bir cisim izlenimi veriyordu. Işığın renginin kırmızı-turuncu tonları arasında kalması da cabası.

Videoda göreceğiniz üzere, yavaş bir cisim değildi bu. Gözümüzün gördüğü kadarıyla bu şey bir ateş topu değildi, ışık kaynağının üzerinde karanlık bir cisim vardı. Belki ateşle ısıtılmış sıcak havayla uçan bir balondu bu, ama bir balonun bu kadar hızlı gitmesi normal mi? Hava pek rüzgarlı değildi, bulutlar da neredeyse hareketsizdi.

Sonra cismin ışığı söndü ve yere doğru iniş yaptı. İtiraf etmeliyim, o şeyin ışığının sönmesi ve inişe geçmesi beni rahatlattı, çünkü çarptığı yere zarar verecek, patlayacak bir nesne olması ihtimali geçiyordu aklımdan.
 
Kısa bir süre sonra, aynı türden ikinci bir cisim göründü. Önceki cisimle aynı rotayı izliyordu. İlk başta o da parlıyordu, aynı yere iniş yaparken ışıkları sönmüştü.

Cisimlerin Bilkent tarafına iniş yaptığını görmüştük. Gökhan Abi'nin arabasıyla cisimlerin iniş yaptığı yerin civarına gitsek de, bu cisimlerin ne olabileceğine dair herhangi bir ipucu bulamadık.

Bu şey ne olabilirdi? Bir balon? Balon için fazla hızlı değil mi? Gösteri yapan bir yamaş paraşütçüsü? Uçak?



Evil reflection 

O pazartesi akşamı evin salonuna kurulup, PS3'te Game of Thrones'un yeni bölümünü izlemiştim. Dizi bitmişti, credits ekranı akarken ben hâlen koltukta oturmaya devam ediyordum.

Credits ekranı da bittikten sonra televizyon, beni ve içinde bulunduğum ortamı (yani evin salonunu) göstermeye başladı. Adeta bir ayna gibiydi; beni koltukta otururken ve önümdeki ekrana bakarken gösteriyordu. PS3'ümde Move cihazı da bulunduğu için televizyonun üzerinde konsola bağlı bir tane kamera var, o an ekrana yansıyanın bu kameradan çekildiğinden emindim. (Sağdaki resimdeki koltukta oturuyor olduğumu hayal edin; o günkü kılık kıyafetim çok dağınık olduğu için sadece olayın arkaplanını gösteren bir frame'i koydum.)

Ben "Kamera niye aktif hale geldi ki?" diye düşünürken, yansımam benden bağımsız olarak ayağa kalkıp odanın etrafında yürümeye başladı, gözleri benim üzerimdeydi. Ne oluyor ya??!?

Ve sonra hatırladım: PS3'ün kamera görüntüleri üzerinde yaptığım bir görüntü işlemi deneyi için deneme videoları çekmiştim. Dizinin video dosyası bittikten sonra da bu benim çektiğim kayıtlar gösterilmeye başlamış. Birkaç milisaniyeliğine de olsa korkutucu bir deneyimdi.

Tuesday, April 3, 2012

2012 başı rastgelelikleri

Son aylarda çektiğim ilginç fotoğraflar...

Uzun bir süredir "rastgelelikler" temalı bir post yayınlamamışım, son üç ayın rastgeleliklerini tek bir postta eriteceğim. Bilmeyenler için; bu blogta benim "rastgelelikler" ile kast ettiğim şey, belirli bir temaya bağlı kalmaksızın paylaştığım, çoğunlukla benim elimden çıkmış olan görseller ve yazılardır. Araya "şu an neler yapıyorum, ne haldeyim?" gibi soruları cevaplayan cümleler de katarak.

 Bu aralar oldukça mutluyum, çünkü kalbimin seçtiği işleri yapıyorum. Crimm's Son da iyi gidiyor, ama şu an size gösterebileceğim bir şey yok. Elimdekiler ya öncekilere çok benziyor (mutlu The Sims 3 evindeki mavi çocuk işte), ya da oyunun hikâyesiyle ilgili ölümcül spoilerlar barındırıyor. Quadratum Mortis de güzel gidiyor.




Fotoğraflara geçmeden önce, hemen sizinle paylaşmak istediğim bir anım var. Ekip arkadaşlarımla gittiğimiz bir akşam yemeğinde konu, bloglardan açılmıştı ve ben de buradan bahsetme fırsatını kaçırmadım. Bloga cep telefonundan girip bakmak istedik, blogun adresini girmek yerine Google'dan "Ahmet Keleş Blog" ifadesini girdik. Çıkan ilk sonuç buydu (tam o sayfa değildi, ama görülen ilk şeylerden birisi bu yazıydı). Daha da komik olan şey, benim Ezgi adında yakın bir arkadaşımın olması, üniversite zamanından.

Öhöm, neyse. Odamdan ve ofisimden (daha doğrusu eski ofisimizden, çünkü yeni binaya taşındık) birkaç kare.





(En alttaki PS3 Move resmi, üsttekinin düzenlenmemiş hali. "Gem", cihazın teknik ismi. Ve evet, bu resim ofiste çekildi.)



 


 ---


Bir de geçenlerde ateşimin yükseldiği bir akşam yazdığım cümleler...

Ve bu sıkıntılı anımda o soyut varlık, bulunduğum ortama geldi, davet edilmeyi beklemeden. Onun ne olduğunu açıkça belirten üç adet harf, alnının üzerinde inci taneleri gibi parlıyordu: "K", "A", "L"!

Sunday, March 18, 2012

Renatus v1.1 çıktı! (Ve post-mortem'i...)

GGJ 2012'de geliştirdiğimiz Renatus isimli shooter oyununun yeni versiyonu artık sizler tarafından oynanmaya hazır! Bu Flash oyununu hemen oynamaya başlamak için sizi şuraya alalım.

Bu yazıda sizlere oyun hakkında bilgi vereceğim; post-mortem (otopsi) olarak tabir edilen yapımcı notlarıyla birlikte (oyunu yaparken nasıl zorluklarla karşılaştığım, nelerin olmasını isterdim, vb.).

Önceki yazımı okuduysanız hatırlayacaksınız; Roselyn, Ragnor ve benden oluşan Yok Sothoth ekibi olarak GGJ'de Renatus'u yapmıştık, ama oyunun teknik bakımdan o kadar çok eksiği vardı ki oyunu burada yayınlamadan önce bu eksiklere bir el atmak istedim. Sonuç olarak; hâlen mükemmelliğe ulaşamamış, ama oynarken epey zevk aldığım ve gururla paylaşabileceğim bir oyun ortaya çıktı, GGJ'den 1,5 ay sonra.


Aslında bu "GGJ'de yaptığımız oyun henüz çok ham bir safhada, çünkü kısıtlı bir vakitte yaptık. Bu oyunu biraz daha geliştirirsek yayınlayabiliriz."düşüncesi oldukça yaygın, katıldığım GGJ'lerde gözlemlediğim kadarıyla.



Oyun hakkında bilgiler:
Flash'la yaptığımız bu oyunu oynamak için swf dosyasını buradan indirebilir (4,93 MB) veya browser'ınız içerisinde bu sayfadan oynayabilirsiniz. Flash Player yüklü herhangi bir bilgisayarda oynanabilir.



Ebediyen lanetli...
Ölmekle lanetli...
Yeniden hayata gelmekle lanetliyim ben.

Geçmişteki korkunç suçlarının cezası olarak cehenneme atılmış, her öldüğünde yeniden dirilmekle lanetlenmiş bir ruhu yönetiyoruz. Amacımız buradan kaçmak, ama öncelikle bizimle birlikte cehenneme atılmış ve aynı laneti taşıyan arkadaşlarımızı kurtarıp yanımıza almak. Düşmanlarımız, bizi orada hapis tutmaya çalışan zebaniler (ben Renatus'taki zebanilere direkt zombi diyorum, çünkü tam zombi gibi davranıyorlar) ve oyunun son bölümünde karşılaşacağımız bir Yılan.

Oynanış oldukça basit: Yön veya WASD tuşlarıyla hareket edip zombilere mouse'la ateş ediyoruz. Her bölümde kurtarılmayı bekleyen 5 adet yeşil ruh var, beşini de kurtardıktan sonra öbür bölüme geçiyoruz. Her bir kurtardığımız ruh, bizi takip edip zombileri öldürmemize yardım ediyor. Eğer bir zombi tarafından yakalanırsak ölüp spawn noktamızda yeniden diriliyoruz. Yakalanan ruhlarsa ölüp yeniden kurtarılmayı bekliyor.

Geçmişteki günahlarım gibi; dehşet verici, korkunç O. Her zaman orada O, daima izliyor. Peşimi bırakmadan işkence ediyor.

Üç bölümün sonunda bizi hapseden Yılan tarafından korunan çıkış kapısına ulaşıyoruz. Amacımız arkadaşlarımızın kapıya ulaşmasını sağlamak.

Yapımcı notları (Post-mortem)

1. GGJ aşaması
Aslında önceki yazımda GGJ 2012 maceramızı anlatmıştım, ama yine de Renatus'un yapım hikâyesini yeniden özetleyeyim.

Yarışma teması olarak bize verilen tek şey Ouroboros'a ait bu sağda gördüğünüz resimdi. Aklımıza birkaç fikir geldi, bunlardan yapılabilirliği ve temayla ilgisi en yüksek olanı bizim Renatus'umuzdu. "Yeniden doğuş", "sürekli tekrarlayan bir döngü" (lanetimiz) ve temayı literal bir şekilde ifade eden Yılan boss'u. "Acaba yılanı öldürmenin yolu ona kendi kuyruğunu yedirmek mi olsun?" diye düşündük, ama yılanın göz göre göre kendi kuyruğunu yiyecek kadar salak olması içimize sinmedi. "Onu öyle bir konuma getirmek zorunda olalım ki kendi kuyruğunu yemekten başka şansı olmasın" mekaniğini geliştirmemiz de kısıtlı bir zaman içinde mümkün olmayabilirdi.

Temanın yanında verilen diversifiers listesinde bizim oyunumuza en uygun ve yapılabilirliği yüksek olanı takipçi NPC'lerin varlığıydı.

Tema açıklandıktan sonra nasıl bir oyun yapacağımıza karar (yani yukarıdaki kararları) vermemiz yaklaşık 8 saat filan sürdü. Oyunu programlamaya C++ ve Allegro kütüphanesiyle başladık. Ama gördük ki bu çok iyi bir karar değildi, çünkü Flash'la 15 dakikada yapılabilecek bir şeyi iki saatte yapıyorduk. 46 saatlik sürecin yarısında (evet, GGJ'de 48 saatimiz değil de 46 saatimiz vardı) Flash'a geçmeye karar verdik, bu kararı geç vermemiz fena bir şekilde zaman kaybetmemize neden oldu.

Flash Develop ve Flashpunk çok güzel bir IDE ve kütüphaneymiş, bu arada. Adobe'un Flash'ına ihtiyaç duymadan Action Script kullanarak basitçe oyun yapabiliyorsunuz. Ve tamamen ücretsiz ikisi de.

46 saatin sonunda sunumu yapılabilecek ve yarışmaya katılabilecek kadar ilerlemiş bir oyun vardı elimizde, ama hâlen önemli teknik eksikle beraber. Son saatte o kadar çok yorulduk ki oyunda level atlamanın olmaması (koddaki denetimin ==  yerine = ile yapılması yüzünden), debug ekranının gözüküyor olması gibi basit hataları fark edemedik/düzeltemedik. Uzun bir süre boyunca uykusuz çalışmak üç kadeh şarapla aynı etkiyi yaratıyor beyninizde; dramatik sonuçlar doğuracak basit hatalar yapma olasılığınız korkunç bir şekilde artıyor.


Oyunla ilgili en çok memnun olduğum öğelerden birisi ışıklandırmaydı (daha doğrusu karartma). Alpha değeri merkeze doğru düşen simsiyah bir maske hazırladık, bu maskenin merkezini oyundaki ışık kaynağının (oyuncunun) üzerine yerleştirmek ambiyansı bir anda değiştirdi.

Soldaki resim, oyunun ışıklandırmasız hali. Eğer dramatik bir etki uyandırmak istiyorsanız, ışıklandırmanın var olması çok önemli.





2. GGJ sonrası
Oyunla ilgili içime sinmeyen çok sayıda öğe vardı. Oyunu oynanamaz hale getiren basit hataları düzeltmenin yanı sıra, oynanışı çok daha zevkli kılmamın mümkün olduğuna inanıyordum. Yapılabilecek en önemli şey, akıllı bir path-finding algoritmasının oyuna entegre edilmesiydi. Zombilerin, ruhların ve Yılan'ın hiçbir engele takılmadan hedeflere ulaşması, kendilerini tehlikeli durumlara sokmaktan sakınması oyunu ne kadar eğlenceli kılardı, değil mi?

İsmini bilmediğim şu pathfinding algoritmasını C++'la yaptığım adventure motorunda başarıyla kullanıyorum. Ama bunu Flash'a entegre etmeyi başaramadım, anlamadığım bir sebepten ötürü algoritma çalışmadı. Uzun bir süre uğraştım, en sonunda yapay zekâyı daha basit tutmaya karar verdim. Çünkü Renatus v1.1 için sonsuz zamanım yok. Oyunu mükemmelleştireceğim diye bokunu çıkarmaya ve diğer projelerimi ihmal etmeme lüzum yok.

Oyunu oynadıysanız ruhların duvardan geçebildiğini fark etmişsinizdir. İlk başta onları duvardan geçemeyecek şekilde kodlamıştım, ama sağlam bir yön bulma algoritmasına sahip olmadıkları için arada duvarlarda takılıyorlardı (Counter-Strike'taki botların ve rehinelerin takılmasını düşünün). Oynanış zevki ile mantık arasında bir seçim yapmam gerekiyordu, burada mantığı feda ettim. Aslında "mantığı feda ettim" sayılmaz, onlar duvardan geçerken yavaşlıyorlar ve alphaları düşüyor, yani onların duvardan geçebilmesini bu şekilde oyun evrenine yedirdim.

Aynı şey Yılan için de geçerli. Kendi içinden geçmesini engellemek daha büyük sorunlara neden oluyordu, bu yüzden onu da kendi içinden geçebilir yaptım. Eğer A* gibi bir algoritmanın yanında kendi içinde bir sarmal oluşturup tıkanmasını engelleyecek bir yapay zeka yaratabilseydim buna gerek kalmayacak ve oyun daha ikna edici bir nitelik kazanacaktı.

Ama yine de yapay zekanın bu halinden memnunum, oyunu yayınlayabilecek kadar. Bize katılan ruhlar, kendilerine yaklaşan zombilerden kaçabiliyor ve sadece görmelerinin mümkün olduğu zombilere ateş ediyor (bir duvarın arkasındaki zombiye ateş etmek yerine).

Oynanışı da iyi bir şekilde dengelediğime inanıyorum. Ne aşırı derecede zor, ne de yavan bir biçimde kolay. Yanınıza katılan ruhları korumak için çaba harcamadığınızda yakalanıyorlar, onları ve kendinizi üstünüze gelen zombi sürülerinden korumak için diken üstündesiniz. Böyle karanlık bir atmosferle kolay bir oyun uyumlu olmazdı.

Umarım bu oyunu oynarken benim keyif aldığım kadar keyif alırsınız ^_^