Oyun
Programlama

Muhammed Ömer Faruk Selvi

[email protected]

Geliştirdiğim oyunlardan bazıları

Finque (2016)

Absolute Fall (2019)

Steam anahtarları için mail atınız: [email protected]

Neden oyun programlama?

💡 Sınırsız Olanaklar

Başka kimsenin yapmadığı bir şeyi yapma ihtimaliniz her zaman vardır.

💡 Tecrübe

Edinilen deneyimler başka alanlarda da kullanışlı olacaktır.

💡 Piyasa

Sinema, oyun, müzik vb. eğlence sektörlerinde talep bitmez.

Herkes oyun geliştirebilir

Indie

AAA

Küçük bir grup halinde veya kişisel

Büyük ekipler ve farklı firmalarla işbirliği içerisinde

Düşük sermaye

Yüksek sermaye

Üretim kolay, pazarlama zor

Üretim zor, pazarlama daha kolay

  • Son zamanlarda, sermayesi olup dikkat çekebilmek ve pazardan pay alabilmek için kendilerini "indie" olarak tanımlayan şirketleri ayırt etmek için AA tabiri kullanılmaya başlanmıştır.
  • Bağımsız bir oyun geliştiricisi olarak işe başlayıp belirli bir yol katettikten sonra büyük oyun firmalarının dikkatini çekebilirsiniz.
  • Türkiye'de oyun firmalarının büyük çoğunluğu mobil platformlara en az bir oyun çıkarmış ve tek başına yayımlamış geliştiriciler aramaktadır.
  • Başlarken

    Hangi adımlar atılmalı?

    Nesneye Yönelik Programlama (Object Oriented Programming)

    Oyunlarda her şey birer nesnedir. Nesne tabanlı programlama oyun geliştirmenin temelidir.

    Medya dosyası biçimlerini öğrenme

    Oyunlarda kullanılan görseller, sesler ve animasyonlar hakkında bir araştırma yapmak faydalı olacaktır.

    Örn; 2D bir oyunda karakterler arkaplanı saydam olmalıdır, arkaplan müziği tek kanal (mono) olmalıdır.

    Bir oyun motoru üzerinde tecrübe edinme

    En az bir oyun motoru ile hedefe yönelik çalıştığınızda diğer oyun motorlarını da kavrayabilmeniz kolaylaşacaktır.

    Oyun Motorları

    Geliştirme sürecinde kullanılabilecek yazılımlar

    Unity

    Başlangıç için ideal. Her cihazda çalışır.

    C# destekler.

    Ücretli fakat 100k$ gelir elde edene kadar ödeme yapmak zorunda değilsiniz. Sonrasında yıllık kişi başı ücret 2040$.

    Topluluk desteği yüksek seviyede.

    Bir oyun projesi tüm platformlar için derlenebilir.

    Unreal Engine

    Kullanımı daha zor. Yüksek performanslı bir bilgisayara ihtiyacınız olur.

    C++ kullanmalısınız.

    Ücretli fakat 1m$ gelir elde edene kadar ödeme yapmanız gerekmez. Sonrasında %5 komisyon ödersiniz.

    Topluluk desteği daha zayıf. Daha çok profesyonel oyun firmaları için.

    Firmalar Epic Games'ten teknik destek satın alarak UE'yi oyunları için "özelleştirilmiş" bir oyun motoru haline getirerek kullanırlar.

    Godot Engine

    Kullanımı görece kolaydır. Her cihazda çalışır.

    Python benzeri GDScript dili kullanılır. (Eklentilerle dil desteği artırılabilir.)

    Tamamen ücretsiz ve özgür yazılım.

    Topluluk desteği giderek güçleniyor.

    Pek çok platform için oyun üretebilmek mümkün.

    Game Maker Studio

    Eski Game Maker yazılımının modern ve çok platform destekli halidir. (Yakın zamanlarda tekrar GameMaker adını almıştır.)

    2D oyunlar için ideal.

    Ücretli. Her platform desteği için ilave ücretler de ödenmeli.

    Topluluk desteği güçlü.

    Biraz istatistik

    Geliştiricilerin %63'ü PC'yi hedeflerken, oyuncuların %48'i mobili tercih ediyor. (Statista)

    Platform bazında… (Steam)

    Kaynak: https://vginsights.com/steam-analytics

    Ek bilgi: Video Game Insights kurucularından Karl Kontus, 2K Games'de büyüme stratejisi pozisyonunda da çalışmakta.

    Nereye gidiyor?

    Cloud Gaming

    Nvidia GeForce Now
    Microsoft xCloud
    PlayStation Now
    Google Stadia

    AI & AR

    Online alışveriş
    Sanal eğitim ve ciddi oyunlar

    Metaverse Web 3.0

    :(

    Son olarak bir kaç tavsiye…

    Survivorship bias'e dikkat. Yüksek satışlar yapan oyunlara bakarak sizin de yüksek satış yapabileceğiniz ön yargısına kapılmayın.

    İmkanlar dahilinde yüksek performanslı cihaz gerektiren oyunların geliştirilmesine yönelmek avantajlı olabilir.

    Olabildiğince çok platformu ve dili desteklemeye çalışın.

    Çoğunlukla önemli olan yaptığınızın ne kadar "profesyonel" göründüğüdür. Arkaplanda ne kadar mühendislik kastığınızı oyuncular/son kullanıcılar görmeyecek.

    Teşekkürler!