Fanta Tennis’te beni en çok çeken şey rekabetti. Geçmiş zaman kipi kullandım çünkü artık rekabet duygusu kalmadı benim açımdan oyunda. Eskiden rakiplerimle oynamak için o kadar çok can atardım ki oyunu internet kafede oynayacağım saati bile dikkatli seçerdim. Lise zamanları internetimiz çat pat gidip geliyordu. O zamanlar oyunu flash diske yükleyip internet kafelerde oynardım. Genelde rakiplerim Alman olurdu o yüzden çok da fazla saat farkı olmazdı. Diyelim o gün rakiplerime kaybettim, o gün iptalim, kötü geçer günüm, o kadar takıktım oyuna.
Artık yaştan ötürü müdür nedir, o rekabetçi halim kalmadı. Basic moda girdiğim zaman yanımdaki oyuncunun kim olduğunu önemsemiyorum çünkü biraz da relax şekilde oynuyorum artık. Oyunu oynamaktan çok o oyuna birşeyler ekleme fikri daha çok hoşuma gidiyor ki zaten şuan yaptığım şey de o. Oyunun sunucusu açık kaynaklı Java tabanlı yazılmış bir sistem. Ben kendi bilgisayarımda da çalışan bir sunucu kurabiliyorum. Hatta içeriğini değiştirip kendi seever kodlarıma müdahele ve ekleme yapabiliyorum. Zaten ben Java da biliyorum. Ne duruyorsuuun, helva yapsanaaa? Yaptım tabi. Guardian’ın içine sub mod olarak arcade modu geliştirdim. Guardian modda siz 4 arkadaşınızla bir takım oluyorsunuz ve karşıda da bir canavar oluyor, oyunu o canavara karşı oynuyorsunuz. Arcade mod açık olunca da sizin takım ölene kadar yeni canavar tekrar tekrar spawn oluyor.
Yaptığım bir diğer sistem de point-back sistemi. Basic oyuncular maçta teknik aksaklıklardan ötürü puan kaybettiğinde tüm oyuncuların oylamasıyla illegal olarak kaybedilen puan geri alınıyor.
Bu sistemler dışında ayrıeten oyunun discord sunucusuna özgü botlar yapıyorum. Örneğin loto sistemi yaptım ve bu sistemde discord kullanıcıları lotodan bir bilet alıyor ve sonuçların açıklanmasını bekliyor. Kazanan kişiye oyunda ödül veriyoruz. Bu sistemi yapmak için de Javascript bilmeniz gerekiyor. Javascript’te oturdum boş zamanlarımda bu sistemi yaptım ve bu sayede topluluğa bir event yapmış oluyoruz.
Bütün bu yapılanları normal bir şirkette yaptığınızı düşünün. Bir oyun şirketine giriyorsunuz ve sizden bu sistemleri yapmanız isteniyor. Önce sunucu kodlarına bu dediğim sistemleri ekliyorsunuz, bizzat benim 3-4 günümü aldı bu sistemler. Ayrıeten oyuna içerik olarak yeni itemleri de ekliyorum. Olan modellerin texturelarında photoshopta birkaç değişiklik yaparak yeni item deseni elde ediyorum. FantaLand youtube kanalında bu içeriklere göz atabilirsiniz. Bu işlemleri Unity gibi projelerde çok kolay eklersiniz. Ama açık kaynak kodu olmayan oyun dosyalarına ekleyebilir misiniz? Yine oyun Unity motoruyla yapılsaydı bir nebze internette dolaşan decompiler araçlar sayesinde Unity ile yapılmış oyunların içeriğine Unity olmadan müdahele edebiliyorsunuz. Ama bu oyun motoru çok eski ve tahminlere göre Gamebryo adında eski bir motorla yapıldı. Tahminlere göre diyorum çünkü stüdyo tam bir kapalı kutu. Kore’de yaşıyorlar ve hiçbirine kesinlikle ulaşamadık. Unity gibi muazzam bir editörünüz yok yani. Elinizde .exe uzantılı bir dosya ve Res klasörü var. Ve dosyalar da AES-256 yöntemiyle şifrelenmiş durumda.
Tabiri caizse memur anlayışında bir çalışansanız önce şunu söylersiniz şirkette; Ya ben kod mu yazacağım photoshop mu kullanacağım? Öncelikle söyleyeyim bu tabiri memur arkadaşlarımızı rencide etmek için kullanmadım. İşini yapan memurlar bu tabirden istisnadır. Ve tabii ki bir yazılımcının işi photoshopta değil. Ama şunu söylemeye çalıştım burada. Bazı yazılımcılar var Google amcada ikon aramaya bile aciz. Benim işim değil diyerek kendi yazdığı sistemi denemek için bekliyor. İkon gelsin de öyle deneyeyim, ne lazım kalp ikonu lazım. Neyse konumuz bu değil.
Şirkete işe girmişsiniz belki sevdiğiniz bir alan da değil ama para kazanmak için girmişsiniz, herkesin önceliği budur zaten. Bu sistemleri kodluyorsunuz üstüne üstlük böyle bir oyunun AES-256 ile şifrelenmiş dosyaların şifresini .exe dosyasında arayarak buluyorsunuz, şifreleri çözüyorsunuz. Desenlerin de xor şifrelemesini kullanarak decode edip photoshopta yeni hallerini yapıyorsunuz. Şifresini çözdüğünüz dosyaya birşeyler ekliyorsunuz ve tekrar aynı şifreyle AES-256’da encoding yapıyorsunuz ve sunucunun yeni dosyaları anlaması için sunucu veritabanına da birkaç ekleme yapıyorsunuz ve BEDAVAya çalışıyorsunuz. Nasıl? Şirketiniz sizi deniyor 😛
Anlatmak istediğim şu. Böyle bir işi inanın birine para verseniz yine yapmaz. Normal kodlamanın dışında bir iş. Reverse Engineering diye geçiyor. Bu işi oyunları ve programları crackleyen arkadaşların yaptığı iş gibi düşünebilirsiniz. Ne Javascript kodlamaya benzer ne Java kodlamaya benzer ve Google’da da çok fazla kaynak bulamazsanız Reverse Engineering ile ilgili. Peki biz bu işi neden yapıyoruz?
Diğer arkadaşları bilmiyorum ama “Hayatıma Yön Veren Yapıt” yazımı okuyanlar anlar. Hayatımı bu denli etkilemiş bir yapıtla uğraşmak bana inanılmaz keyif veriyor. Hiçbir ticari amacım da yok. Ha keşke ticari bir amaç da olsa da hayatım boyunca sadece bu yapıtla ilgilenebilsem. Şuanda başka bir işte çalışıyorum ve bu yüzden akşamları ve haftasonları bakabiliyorum. Bunun için de Dennis Choi’ye ulaşmaya çalışıyorum belki bir kar payı sözleşmesi yaparız da iş resmileşir diye. Ama acaba para işin içine girince ne olur? Bu projeden de soğutur mu beni? Sanmıyorum ama büyük de konuşmayayım.
İnanın bana işim değil diyerek Photoshop’u açmamak yerine tam tersi istediğim birşey ve Photoshop’u açmam lazım derseniz ilerde bunun meyvelerini göreceksiniz. Ben 10 senedir Photoshop’u kullanıyorum ama tabi profesyonel olarak değil sadece işimi görecek şeyleri biliyorum. Yazılımcı olan biri başkasının işinde çalışsa evet Photoshop’u açma motivasyonu olmaz ama çok istediğiniz birşey üzerine hiç alakasız şeyleri öğrenme motivasyonunuz oluyor. Fanta Tennis oyunu sayesinde ben kodlama öğrendim bunları saymıyorum, içerdeki insanlarla konuşma isteği sayesinde yabancı bir dil öğrendim, onun dışında Photoshop öğrendim, Camtasia gibi video editörlerinde video hazırlamayı öğrendim, öğrendim de öğrendim. Bunları öğrenmemin sadece bana faydası oldu başka birine veya bir kuruluşa değil. Artık ben kodlamanın yanında Photoshop da bilen bir insanım.
Bu hayatta yaptığınız bu tür faaliyetlerin önce size faydası olur. Bir şirket için çalışıyorsanız da şirkete 5 verirse size 10 verir. O yüzden ne yaparsanız yapın, bir işe mi gireceksiniz şunu sorun bu işin bana katkısı ne olacak? Kimlerle çalışacağım, kimlerle dirsek dirseğe olacağım? Yani ne iş yaparsanız yapın, önce kendiniz için yapın.