Menu

Blog

Oyun programlamaya yeni başlayanlar için 10 tüyo

Oyun programlama herkesin hayalini kurduğu bir meslektir. Her meslekte olduğu gibi yeni başlayan hemen hemen herkesin karşılaştığı birtakım soru ve sorunları vardır. Benim de oyun geliştirmeye başladığımda karşılaştığım ve çevremde, forumlarda şahit olduğum durumlar için yol gösterici nitelikte 10 tüyo hazırladım. Eğer siz de oyun geliştirmenin hayalini kuruyor ama izleyeceğiniz yolu bilmiyorsanız ya da ilk oyununuzu yapmaya yeni başladıysanız bu yazı tam da size göre.

please guy

Eğer siz bu aşamaları çoktan geçtiyseniz, yazı hakkında görüşlerinizi bildirebilir ya da başlangıçta karşılaştığınız soru ve sorunlar hakkında yeni başlayanlara tavsiyede bulunabilirsiniz.


1. İngilizceniz yoksa öğrenin, var ama iyi değilse geliştirin

Gönül ister ki ana dilimiz Türkçe bu işler için yeterli olsun ama maalesef yeterli kaynak yok. Translate kullanarak bir nebze ilerleyebilirsiniz ama oyun geliştirmeye yönelik planlarınız ve hayalleriniz var ise İngilizce şart. İngilizce sayesinde yabancı makaleleri okuyabilir, oyun geliştirme ve yazılım hakkında yeni şeyler keşfedebilirsiniz. Ayrıca oyun geliştirirken karşılaştığınız hataları da anlayıp buna göre çözüm arayabilirsiniz.

Örnek vermek gerekirse;
Unity oyun motorunda, yazmış olduğunuz kodların birinde hata varken “All compiler errors have to be fixed before you can enter playmode!” hatası alırsınız. Ben bir forumda bu hatayı gösterip “Böyle bir hata alıyorum nasıl çözerim?” diyen birine rastladım. Bu aslında hata değil, hataların olduğunu ve düzeltilmesi gerektiğini söyleyen bir uyarıydı. Ne kadar önemli olduğunu anladığınızı düşünüyorum ;)

double facepalm
2. Araştırın, öğrenin ve uygulayın 

Kitap, e-kitap veya video farketmeksizin araştırma yapın ve kendinizi geliştirin. Ardından bu öğrendiklerinizi oyunlarınızda uygulayın. Bir zaman sonra eski çalışmalarınızı gördüğünüzde kendinize güleceğinizden eminim. -Yazdığım şu koda bak ya ehuehu.-  

Pes etmeyin! Yazılım dili bilmesine rağmen oyun geliştirmeyi başladığı ilk hafta bırakan gördüm. Aynı şekilde hiç bir bilgisi olmadan 55 yaşında oyun geliştirmeye başlayan ve bırakmayan da gördüm. Yaşına ve bilgisine bakmaksızın isteyen herkes oyun yapabilir, siz yeter ki isteyin.

İnternet ve bilgisayar olsun, yapamayacağımız şey yok!

newspaper guy tear
3. Uzun yazıları okumaktan kaçmayın

Çoğu insan uzun yazı okumayı sevmez, sadece belirli paragrafları ya da metinleri okuyup kaçarlar. Eğer siz de uzun yazıları okumaktan kaçanlardansanız işiniz çok zor. Çünkü oyun programlama işinde yapmayı planladığınız sistemler için bazen uzun uzadıya yazılar okumanız gerekecek ve mantığını kavramaya çalışacaksınız. Bazen de karşılaştığınız hataları düzeltmek için araştırmalar yapacak ve çözüm yolları arayacaksınız. Oyun programlama alanında büyük hedefleriniz var ise uzun yazıları okumaya alışmanız hatta sevmeniz gerekiyor :)

4. Oyun motoru yazmaya kalkmayın

Oyun geliştirmek istiyorsunuz ama hangi oyun motorunu kullanarak? Bu soru yeni başlayanların karşılaştığı en zor sorulardan birisidir. Eğer bu soruyu forumlarda sorarsanız herkes kendi kullandığı oyun motorunu savunacağı için bir tartışma ortamı oluşması kaçınılmazdır. Peki oyun motorunu nasıl seçeceğiz?

Her oyun motorunun avantajları ve dezavantajları vardır. Ayrıca dikkat etmeniz gereken bir konu da lisanstır. Başlangıçta bir ücret mi isteniyor yoksa ileride oyununuz tutarsa belli bir ödeme yapmanız mı isteniyor? Oyun motorunu öğrendikten sonra kolay kolay başka bir motora geçip vakit kaybetmek istemeyeceğiniz için bunları önceden düşünmeniz gerekiyor.
Önerdiğim oyun motorları Unity ve Unreal Engine.

“Kendi oyunumu kendi oyun motorumda yapacağım.” diyen insan çok az gördüm ama sonuçta gördüm. Eğer siz de bu düşünceye kapıldıysanız ya da kapılırsanız size tek söyleyeceğim şey, karar verin. Oyun yapmak mı istiyorsunuz yoksa oyun motoru geliştirmek mi? Çünkü ikisi de büyük uğraş gerektiren bir iş.

 

5. İlk yapacağınız oyun “GTA” olmasın
İlk oyununuz hayalinizdeki oyun olmasın. Koşmak için önce emeklemeniz gerekiyor. Bu yüzden ilk yapacağınız oyunlar kendinizi geliştirmeye yönelik olmalı. Oyun programlamaya başlayan çoğu kişinin burada hata yaptığına şahit oldum. Herkesin hedefi yüksekti ama portfolyosunda 1 oyun dahi yoktu. Peki bu arkadaşlara ne oldu sizce? BİLMİYORUM. Ne oyunu yapabildiklerini gördüm ne de bir daha post attıklarını ;)

Ayrıca bu aşamada tasarım da önemli değildir. Karakteriniz bir beyaz küp, düşmanınız da kırmızı üçgen olabilir. Bundan gocunmayın aksine gurur duyun. Çünkü siz birşeyler yapıyorsunuz fakat diğer insanlar yaptıklarınız hakkında sadece konuşuyor iyi de olsa kötü de olsa.

6. Eleştiriye açık olun

Eleştiriler sadece kötü olmaz iyi eleştiriler de vardır. Siz sadece iyi eleştirilere açık olup kötü eleştirilere kapalı olursanız o zaman kendinizi geliştiremezsiniz. Kendi yanlışlarınızı görmeniz açışından çok önemlidir. Kötü eleştiri yapanlara da iyi eleştiri yapıyormuş gibi geri cevap verin ve söylediklerini kendi süzgeçinizden geçirin. Belki de gerçekten önemli bir noktaya değinmişlerdir ?

7. Mükemmelliyetçi olmayın

Oyun geliştirmekten çok detaylara takılırsanız, o oyunu geliştirmeye vaktiniz kalmaz. Bu yüzden bazı kusurları görmezden gelmeniz gerekiyor. Tabiki oyununuz bug ve hatalarla dolu olsun demiyorum sadece küçük ayrıntılar için gereğinden fazla vakit ayırmayın diyorum. Çünkü 3 ayda bitireceğiniz oyunu 1 yıl sonra halen bitirememiş olabilirsiniz.

Mükemmelliyetçi olmayın demiyorum. Sadece oyun geliştirmeye yeni başladıysanız küçük detaylardan daha önemli şeylerin olduğunu söylüyorum. Tabiki karar size kalmış siz nasıl mutlu oluyorsanız ;)

8. Başkalarının kodlarını inceleyin

Kendinizi geliştirmek istiyorsanız başkalarının kodlarını inceleyin. Diğer yazılımcıların nasıl bir yol izlediğini görmek size fayda sağlayacaktır. Şahsen ben oyun programlamayı diğer yazılımcıların kodlarını inceleyerek öğrendim. Forumlarda ya da okullarda bahsedilmeyen çok farklı şeyler öğrendim. -Mesela lambda expression.- Eğer siz de kendinizi geliştirmek istiyorsanız her boş vaktinizde başkalarının kodlarını  inceleyin.

 

Github -bilmeyen yoktur- adresini ziyaret ederek örnek kodları inceleyebilirsiniz.

9. Tekerleği yeniden icat etmeyin

Oyun programlama dünyasında bu sözü sık sık hatırlayacağınıza eminim. Çünkü oyunlarınızda zaman zaman aynı şeyleri kullandığınızı farkedeceksiniz. Bir zaman sonra da sistemlerinizi parçalar halinde yazmaya başlayacaksınız ki yeni bir oyun yapmaya başladığınızda bu sistemler hazır olsun. Sonra bir bakmışsınız kendinize ait bir framework oluşturmuşsunuz ve her oyunda onu kullanıyorsunuz. Aynı şekilde bu yolu izlemiş olan diğer yazılımcıların kodlarını ve frameworklarını da kullanabilirsiniz. Neden tekerleği yeniden icat etmeye vakit harcayacaksınız ki var olan tekerleği alın ve kullanın. 

-Para ile satılan tekerlekleri çalmayın, çalanlara da izin vermeyin.-

10. Takip edin

Sektörü takip edin, geri kalmayın. Sanal gerçeklik, artırılmış gerçeklik gibi kavramların oyun dünyasında da kullanıldığına şahit olduk. Yani sektörü takip edenler kendilerine ön sıralardan yer kaptılar. Oyun geliştirme etkinlikleri, yarışmaları ve fuarlarını da takip edin ve katılma imkanınız varsa katılın.

Oyun motorunuzun geliştirmelerini takip edin, hangi özellikler eklenmiş ya da hangi hatalar giderilmiş? Aynı şekilde blog yazılarını takip edin. Belki de size oyun motoru hakkında hiç bilmediğiniz özelliklerini anlatıyorlar?

Bağlantılarınızı takip edin, neler yapıyorlar? Belki onlara yardımınız dokunabilir ya da onların size yardımı dokunabilir, belli mi olur?

Trifles Games‘i yani bizi takip edin ;)


Aramıza hoşgeldiniz

Oyun programlama hayatına yeni başlayan arkadaşlar, aramıza hoşgeldiniz. Eğer takıldığınız/danışmak istediğiniz bir konu olursa aşağıdan yorum bırakabilir ya da benimle iletişime geçebilirsiniz.














Bu aşamaları çoktan geçtiyseniz, oyun programlamaya yeni başlayan arkadaşlara tavsiyelerinizi yazabilirsiniz. 

Burnuma kahve kokuları geliyor, yazıyı buraya kadar hiç sıkılmadan okuduysanız oyun geliştirme hayatında başarılı olacaksınız demektir. Şimdiden kolay gelsin, takipte kalmanız dileğiyle.

Yorumlar

  1. 5 numaralı madde önemli. Sanıyorum ki hayatın gerçek yüzünü görmekte sıkıntı yaşıyoruz ama bir ağacın büyümesi yıllar alıyor :) Başlangıçta utana sıkıla küçük şeyler yapmaya çalışıyordum ama saçmaymış, utanacak bir şey yok sonuçta. Önemli olan her yaptığımız hatadan ve projeden ders çıkarmak ve kendimize bir şeyler katmak :) Ellerinize sağlık, önemli şeylere değinmişsiniz :)

  2. Teşekkürler Gökhan,
    Eline sağlık çok güzel bir yazıydı. Yazılım dünyasına çok yabancı olmasam da , oyun sektöründe daha bir bebeğim.
    Ve bu sebeplerle 5,7,8,9 ve 10. maddeler tam da ihtiyacım olan tavsiyelerdi.
    ÜNOG 2018’de de, bu maddelerin bir kısmını bana yüz yüze iken de öğütlemiştin zaten. Tekrar maruz kalmak bu bilgiye çok güzel oldu. Yeni yazılarını ve oyun dünyası hakkında bilgilendirici makalelerini sabırsızlıklar bekliyorum.
    Tekrardan teşeküür ederim, takibe geçtim bloğunu. Bir gün beraber de çalışabilmek dileği ile.
    Saygılar,
    Mesutcan Göksoy

    • İlgi ve alakan için asıl ben teşekkür ederim Mesutcan :) Başlangıçta karşılaştığım sorunlar ve tanık olduğum olaylar karşısında bu yazıyı yazmanın gerekli olduğunu düşündüm. İleride seninde kendi tecrübelerini yazmanı bekliyor olacağım :)

      Sürekli iletişim halindeyiz, bir gün bakarsın aynı oyun üzerinde çalışırız neden olmasın. Değerli yorumun için de çok teşekkürler, tekrar görüşmek dileğiyle :)

  3. Teşekkürler Gökhan,
    Eline sağlık çok güzel bir yazıydı. Yazılım dünyasına çok yabancı olmasam da , oyun sektöründe daha bir bebeğim.
    Ve bu sebeplerle 5,7,8,9 ve 10. maddeler tam da ihtiyacım olan tavsiyelerdi.
    ÜNOG 2018’de de, bu maddelerin bir kısmını bana yüz yüze iken de öğütlemiştin zaten. Tekrar maruz kalmak bu bilgiye çok güzel oldu. Yeni yazılarını ve oyun dünyası hakkında bilgilendirici makalelerini sabırsızlıklar bekliyorum.
    Tekrardan teşeküür ederim, takibe geçtim bloğunu. Bir gün beraber de çalışabilmek dileği ile.
    Saygılar,
    Mesutcan Göksoy

    • İlgi ve alakan için asıl ben teşekkür ederim Mesutcan :) Başlangıçta karşılaştığım sorunlar ve tanık olduğum olaylar karşısında bu yazıyı yazmanın gerekli olduğunu düşündüm. İleride seninde kendi tecrübelerini yazmanı bekliyor olacağım :)

      Sürekli iletişim halindeyiz, bir gün bakarsın aynı oyun üzerinde çalışırız neden olmasın. Değerli yorumun için de çok teşekkürler, tekrar görüşmek dileğiyle :)

  4. 5 numaralı madde önemli. Sanıyorum ki hayatın gerçek yüzünü görmekte sıkıntı yaşıyoruz ama bir ağacın büyümesi yıllar alıyor :) Başlangıçta utana sıkıla küçük şeyler yapmaya çalışıyordum ama saçmaymış, utanacak bir şey yok sonuçta. Önemli olan her yaptığımız hatadan ve projeden ders çıkarmak ve kendimize bir şeyler katmak :) Ellerinize sağlık, önemli şeylere değinmişsiniz :)

Yorum Yaz

Takipte kalmak ister misin?

Trifles Games