“14 yaşında programlama denizine serbest dalan Sedat kardeşimin yazılım öğrenme serüvenini konu alacak bir yazı dizisini okumaya başlıyorsunuz. Yaşını almış yazılım geliştiricilerin kıskanacağı yeni başlayanların örnek alacağı yazılar okuyacaksınız. Yazılıma nereden başlamalıyım sorusuna belki de en iyi cevabı kendi yağıyla kavrulan bir gençten Sedat Güç’ten alacaksınız. Yazılıma her yerden başlayabilirsiniz. Önemli olan sonunu getirebilecek misiniz? Özellikle yazılıma yeni başlamış, başlayacak ya da başlamayı düşünen arkadaşlarımızın bu yazı dizisinde çok şeyler bulacağına inanıyorum.”
Alper Akalın

Programlamaya Başlangıç

Bundan iki yıl önce ‘14 yaşımda’ ileride psikolog olma hayalleri kurarken; bir abimin bana söylediği söz beni yazılım dünyasını araştırmaya yöneltti. “İnsanlarla uğraşmak yerine makinelerle uğraşmayı tercih ederim”. Bunun üzerine, programlama dillerini ve kullanım alanlarını araştırmaya başladım. “Kodlama” kulağa çok havalı ve merak uyandırıcı geldiğinden, bu alanda ilerlemek bana daha bir heyecan aşıladı.

Oynadığım bütün bilgisayar oyunları ve kullandığım tüm programları geliştiren insanlarla aynı işi yapmayı hayal etmek bende büyük bir istek uyandırdı. İşin temelini öğrenmek adına bir C++ kitabı aldım ve örnekleri yaparak kısa sürede tamamladım. Yapabildiklerim ufak tefek hesap makineleri olsa da benim heyecanımı tatmin etti. Aslında bir hesap makinesi için bile ne kadar sabrımın zorlandığını, ufak bir noktalı virgülün eksikliğinden dahi tonlarca hatanın meydana geldiğini görmek bana bu işin ciddi bir emek ve irade gerektirdiğini gösterdi. Ben de pes etmek yerine adapte olmaya çalıştım. Sonrasında farkettim ki, programlama için bilgisayara her oturduğumda, zamanımın çoğunu ortaya çıkan hataları çözmeye harcıyorum.

Bu alanda kendimi geliştirmek için araştırmalar yaparak kendimi geliştirmeye çalıştım. Bu süreçte mobil programlama ve oyun geliştirmeye daha bir hevesli olduğumu farkettim. Araştırmalarım sonucunda popüler ve benim hedeflerime uygun olduğundan JAVA dilini tercih ettim. Karşıma çıkan ilk kitap, Alper Akalın’ın Kim Korkar JAVA’dan kitabı oldu. Okuduğum diğer kitaplara göre herşey daha kolay anlaşılır şekilde yazılmıştı. Bu sayede kısa süre içerisinde java söz dizimi bilgisine sahip oldum.

Sonrasında oyun sektörünün sıkı bir takipçisi olarak oyun geliştirme hayalleri kurmaya başladım. Tabi ki her şey planladığım gibi gitmedi. Bir yandan kendimi java üzerinde geliştirip bir yandan da oyun geliştirmeyi hedefliyordum. Bu gibi nedenlerle oyun motoru kullanmak yerine kendim birşeyler geliştirerek ilerlemek istedim.

Algoritmanın Keşfi

Yaptığım en büyük yanlış bu kadar tecrübesizken sadece Swing kütüphanesini kullanarak oyun geliştirmeye çalışmak oldu. Böyle yapınca algoritma kavramıyla hesaplaştım ya da o benimle hesaplaştı. Anlamını biliyordum ama programlamanın temeli olduğunu bilmiyormuşum.

Kilitlendiğim nokta oyundaki karakterin doğrusal yolda ilerlemesi problemiydi. Oyuncunun tıkladığı noktaya ilerlemek ne kadar zor olabilirdi. Kendi algoritmalarımla yazdığım kodlar beklediğim gibi çalışmadı. Ben de sorunumu çözecek bir algoritma var mı diye araştırmaya başladım. Bresenham isimli bir abimizin benim aradığım noktaya çok yakın çok ünlü bir algoritması olduğunu öğrendim. Ama gel gör ki onu da oyunuma uyarlayamadım. Aslında istediğim sonuca %70 gibi bir seviyede yaklaşsam da %30 çuvallayan oyunuma farklı çözümler aramaya başladım.

Araştırmalarım sonucunda LibGDX isimli bir framework olduğunu öğrendim. Yine JAVA yine oyun. Aslında tam da bana hitap ediyordu. Birkaç tutorial takip ederek ufak tefek oyunlar yazdım. Ama bunların hiçbirisi bana Libgdx’i kullanmayı tam olarak öğretmedi. Libgdx’e hakim olabilmek için “Learning Libgdx Game Development” kitabını okumaya başladım. İngilizcem çok iyi olmadığından biraz zorlandım. Ancak o kitabı okuyacağım diye ingilizcemi büyük oranda geliştirmiş oldum. Yazılım/oyun geliştirici olmak için çıktığım yolda başka başka alanlarda kendimi geliştiriyor olmak ayrıca keyifliydi.

Devamında bu framework ile ilgili birçok kitap okudum. Kendimce geniş araştırmalar yaptım ve artık kendi oyunumu yapabileceğime karar verdim. İlk oyunum Happy GUM GUM hakkında bir dosya hazırlayarak oyun geliştirmeye dolayısıyla yazılım geliştirmeye daha ciddi bir şekilde adım attım..

Bu süreçler bana sabırlı ve azimli olunduğunda yapılamayacak hiçbir şey olmadığını öğretti. Öğrendiğim onca şeyden belki de en önemlisi buydu.

4 YORUMLAR

  1. Harika bir deneyim, aynı durumu bende 28-29 umda yaşıyorum, seninle aynı sebepten başlamış olsamda beni çok daha fazla teşvik eden şey 15 yıllık deneyimi olan ve yazılım şirketi sahibi olan bir arkadaşımın bana Java’yı bırak baş edemezsin başka bir dille başla demesi oldu. Bende ona cevap olarak aradan 1 yıl geçtikten sonra Spring MVC + Security + Hibernate kullanarak yaptığım soru cevap sitesi uygulamasını gönderdim 🙂

    Başarılar dilerim.

CEVAP VER

Please enter your comment!
Please enter your name here