Oyun Yapmaya Nasıl Başlarım? (Bölüm 1: İlk Adım)

in #gamemaking6 years ago

Tüm oyun severlerin kafasında hayatlarında bir kere bile olsa oluşan fikirdir oyun yapmak. Genelde “Ya şöyle bir oyun neden yok?” sorusuyla doğan bir fikirdir bu. Sonrasında “Acaba ben böyle bir oyun yapabilir miyim?” sorusuyla yeşerir fikriniz. Ben kafamda oluşan bu sorularla oyun yapımına başladım. Araştırdım, çalıştım, denedim. Başarısızlıklarla dolu bu yolda sürekli denedim, denemeye devam ediyorum. Elbet bir gün başarıya ulaşabileceğimi düşünerek devam etme gücünü beynimde diri tutuyorum. Sizlere bu yazı serisinde oyun yapımına nasıl başlayacağınızı, gereksinimlerinizi, bu yolda sizleri nelerin beklediğini ve sonuçların nasıl olacağını tecrübelerimle anlatmaya çalışacağım.
Öncelikle halk arasında yer edinmiş bir önyargıdan bahsetmek istiyorum. “Ben 25 yaşına geldim, bu saatten sonra yazılım öğrenemem. Sıfırdan bir şeyleri başaramam.” Doğru bir önyargı mı? Hayır. Yaşınız kaç olursa olsun yazılım veya yeni bir şeyler öğrenebilirsiniz. Yaşınızın ilerlemesi öğrenme yetinizi kaybedeceğiniz anlamına gelmez. Yaşınız ilerlemesi genellikle hayal gücünüzü ve yaratıcılığınızı kaybetmenize sebep olan bir değişkendir. Sizinle bu konuda çok sevdiğim bir sözü paylaşmak istiyorum.
“İnsan 16 yaşındayken dünyayı değiştireceğini düşünür. 18 olduğunda düşünceleri sert bir kayaya çarpar. 20 yaşına geldiğinde hiçbir şey değiştiremeyeceğini anlar. 25 yaşına geldiğinde ise dünyanın onu değiştirdiğini fark eder. Ve insan 25 yaşında ölür,75 yaşında gömülür.”
Yaşınız ilerledikçe hayal gücünüzü, fikirlerinizi, yaratıcılığınızı gerçekten de kaybedeceksiniz. Bunları kaybettiğiniz taktirde siz aslında siz olmayacaksınız.

FİKİR
Oyun yapımında en önemli faktörlerden birisi fikirdir. Daha önceden yapılmamış, özgün ve kendine bağlayan bir oyun fikri üretmek zorundasınız. Basit bir adım gibi görünse de ilk iş olarak oturup oyun fikirleri yazın. Bu fikirleri en ince ayrıntısına kadar işleyin kağıdınıza. Senaryoyu, karakterleri, karakterlerin kişiliğini, oyun evrenini, evrenin ve karakterlerin birbirleriyle olan tutarlılığını, menü ekranını, tasarımı vb. aklınıza gelen her türlü değişkeni yazın. Emin olun bu kısım oyunun kodlanması kısmından daha zor.

Nasıl? Kim İçin? Hangi Platform?
Daha sonra nasıl bir oyun yapmak istediğinize karar verin. İnsanların boş zamanlarında sıkılmamak için açıp oynadıkları bağımlılık yapan ve kanser hücrelerini arttıracak zorlukta minimalist oyunlar mı? Bir hikâyeye sahip, diyaloglardan oluşan text tabanlı bir oyun mu? Basit platform oyunları mı? Yüksek kalite de, yüksek bütçeli AAA oyunlar mı?
Eğer sevdiğiniz bir tür varsa sürekli bu türe ait oyunlar oynamanızı kesinlikle tavsiye ediyorum. Bu sayede diğer insanların nasıl düşündüklerini, düşüncelerini oyunlara nasıl işlediklerini görebilmiş olacaksınız. Bunun haricinde oyun yapım aşamasına başladığınız da eğer sürekli belirli bir tür üzerine çalışırsanız bu tür üzerinde hızlıca profesyonelleşebilecek ve zamanla çok daha iyi oyunlar ortaya koyabileceksiniz. Türler arasında kodlama ve tasarım sürecinde radikal farklılıklar bulunur. Eğer sürekli farkı türlerde oyunlar yapmaya çalışırsanız her oyun size için yeniden öğrenme sürecini doğuracaktır. Tabi bu dezavantajların yanında farklı türlerde oyun yapmanın avantajları da bulunmakta. Oyun motoruna daha iyi hakim olmanızı sağlar. Farklı kodlamaları ve tasarım süreçlerine görerek bilginizin ve ufkunuzun genişlemesine yardımcı olur. Tercih tabi ki sizlere kalmış.
Diğer bir sorumuz ise şudur: “Hangi platforma oyun yapmak istiyorum?”
PC mi, Android mi, iOS mu? Bunların haricinde olan platformlardan bahsetmeyeceğim. Çünkü en çok kullanılan platformlar bunlar. Bunların haricinde oyun yapmak, oyunun yayınlanmasını sağlamak vs. çok uzun ve zahmetli periyodları beraberinde getirir. Platform seçimimiz bizim için radikal bir karar olmayacaktır. Çünkü mobil platformlar için yaptığınız bir oyunu kolaylıkla PC platformu için revize edebilirsiniz. Keza PC için geliştirdiğiniz bir oyunun mobil platformlara uygun hale getirilmesi de aynı şekilde basit revizyon işlemleriyle halledebilirsiniz. Platform seçimi bizim için şurada devreye giriyor. “Oyunumu nerde yayınlayacağım? Nasıl gelir elde edeceğim?” PC platformunda oyununuzdan gelir elde etmek için en basit yol (basit olmasa bile en basiti bu) Steam üzerinden oyununuzu satışa çıkarmaktır. Gerekli bilgiler, ücretler vs. için BURAYA tıklayabilirsiniz. Android için $25 karşılığında Google Play Developer hesabı alarak oyununuzu Google Play Store ‘a yükleyebilirsiniz. Bu ücret senelik ücrettir. Developer hesabınızla Google Playstore da dilediğiniz kadar uygulama paylaşabilirsiniz. Belirli bir sınır yoktur. Uygulamanızın onaylanma işlemi kısa ve kolaydır. (Çıplak gösteren kamera gibi uygulamaların olduğu bir platformda uygulama paylaşmanın ne kadar kolay olduğunu siz düşünün) Ayrıca oluşturduğunuz oyunu APK olarak telefonunuza atarak deneme işlemlerini kolayca yapabilirsiniz. Diğer bir alternatif ise AppStore’a oyun yüklemek. Bu işlem için öncelikle $99 vererek developer hesabı almanız lazım. Bu adımdan sonra yaptığınız uygulamayı APK olarak Apple cihazlarınızda deneyemeyeceğiniz için çeşitli emulatorler yardımıyla denemelerinizi yapmalı ve AppStore ‘a incelenmesi üzerine oyununuzu atmanız gerekir. AppStore bu konuda Play Store kadar dikkatsiz ve hızlı değil. Yaptığınız uygulama en ince ayrıntısına kadar incelenir ve belirli bir süreden sonra onaylanırsa mağazaya eklenir. Mobil platformlarda gelir elde etmek için uygulamanızı ücretli olarak çıkarabilir, oyun içi satış yapabilir veya çeşitli reklamlar eklemeniz gerekmektedir.

Oyun Motoru
Oyun motorumuz yapacağımız oyuna göre farklılık gösterse de yeni başlayan arkadaşlar için Unity oyun motorunu kesinlikle tavsiye ediyorum. Basit arayüzü, C# yazılım dili kullanımı, Asset Store ‘u ve gelişmiş yazılım kütüphanesiyle fazlasıyla yararlı ve yeterli olacaktır sizler için. Ayrıca ücretsiz kullanım imkanı olması bu yazılım motorunu tercihlerimiz arasında ilk sıraya koyuyor. Oyun motoru sizin için hazır yazılım kütüphaneleri ve fonksiyonlar oluşturarak oyun yapım aşamanızın kolaylaşmasını sağlıyor. Tasarımı, kodlamaları anında oyun motoru üzerinden deneyerek gerekli değişiklikleri ve düzeltilmesi gereken hataları tespit edebiliyorsunuz.

Kodlama
Muhtemelen en çok korktuğunuz bölüme geldik. Yazılım dili bilmeden hayallerinizdeki oyunları yapabilme imkanınız yok. Bu konuda gerçekçi olalım. Ama yazılım dili öğrenmek sandığınız kadar zor değil. Yazılım dilini basitçe şöyle açıklayabiliriz. Bilgisayar aptal bir makine. Siz bu makinenin başına oturup bilgisayarınızın yapması gereken şeyleri satır satır ona anlatıyorsunuz. 


(Yazılımcı) - Şu tuşa basarsam şunu yap.
(PC) - Neyi yapıyım?
(Yazılımcı ) - Y pozisyonunu +5 birim arttır. Bu sayede karakter zıplıyormuş gibi görünecek.
(PC) - Hangi karakter?
(Yazılımcı) - Lan olum oyuncu olan karakter işte.
(PC) - Bana oyuncuyu tanımla.
(Yazılımcı) - Oyuncu = Ahmet;
(PC) - Tanıyamadım, türü ne?
(Yazılımcı) - String Ahmet;
(PC) - Büyük küçük harflere dikkat et. Anlamıyorum ne dediğini.
(Yazılımcı) - string Ahmet;

İngilizceniz varsa öğrenme aşaması gerçekten çok daha kolay oluyor. Fakat İngilizce bilmemeniz yazılım öğrenmenize engel değil. Yazılım öğrenirken tavsiye ettiğim bir husus ezber yapmamanız ve projeler üzerinden çalışmalar yürütmeniz. Bu sayede ortaya bir ürün çıkarttığınızı görerek korkularınızı yenecek, öğrenme hevesinizi arttıracaksınız. Unity ile oyun yaparken öğrenmeniz gereken yazılım dili C# olacaktır. Hem kolay hem işlevsel olan bu dili ana hatlarıyla 1 haftada öğrenebilir (çok sıkı bir tempoyla) ve oyun yapımına başlayabilirsiniz. Oyun yapım aşamasında da karşılaşacağınız yazılımsal sorunları araştırmalar yaparak çözebilir ve yazılım bilginizi arttırarak öğrenmeye devam edebilirsiniz.

Hepsinden daha önemlisi ise denemekten ve sürekli başarısız olmaktan vazgeçmemelisiniz. Yaşadığınız her başarısızlık, başarıya ulaşmanız için gerekli yola bir tuğla koyacaktır. Bu konuda oyun sektörüne adını kazımış bir firma olan ROVIO ‘nun Angry Birds oyununun başarı öyküsünü kendime hep örnek alırım. 


Bu yazımda oyun yapımına başlamadan önce yapmanız gereken çalışmalardan bahsettim. Bu yazı daha çok oyun yapımına başlamak için bir motivasyon ve sizin ilk adımı atmanıza yardım edecek bir rehber görevindedir. Sonraki bölümlerde oyunların yapılma aşamalarıyla alakalı daha teknik bilgilerden söz edeceğiz. Kim bilir? Belki sizde 52.oyunu 3 Milyardan fazla indirilecek bir oyun firmasının kurucusu olursunuz.

http://www.blueestudio.com/

ÇAĞRI DEMİRCİOĞLU - BLUeeSTUDIO

Sort:  

Congratulations @demircioglu! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Do not miss the last post from @steemitboard:

3 years on Steem - The distribution of commemorative badges has begun!
Happy Birthday! The Steem blockchain is running for 3 years.
Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.18
TRX 0.16
JST 0.029
BTC 76535.07
ETH 2962.73
USDT 1.00
SBD 2.65