Nasıl Oyun Geliştirilir?

OYUNTEKNOLOJİYAZILIM

Written by:

Nasıl Oyun Geliştirilir Hiç Merak Ettiniz Mi?

nasıl oyun geliştirilir?

Nasıl oyun geliştirilir?

Son zamanlarda hızla gelişen teknolojinin yardımıyla oyun oynanabilecek birçok farklı araç çıktı. Bilgisayar, birçok farklı marka konsol ve telefon olmak üzere farklı platformlarda çalışmak üzere birçok oyun geliştirildi. Gelişen teknolojiyle oyun piyasası öyle hızlı ilerlemeye başladı ki artık oyun oynamayan insan yok denecek kadar az. Yaşlısından gencine birçok insan toplu taşımalardan tutun evlerine kadar her an her yerde oyun oynayabilmekte. Oyun piyasasının bu hızlı büyümesiyle e-spor gibi bir spor alanıda türedi. Artık futbol, basketbol turnuvaları gibi e-spor turnuvaları düzenlenmekte ve insanlar bu işlerde büyük paralar kazanmaktadır. Peki bir oyunun geliştirilme süreci nasıl işliyor diye hiç merak ettiniz mi?

Fikirlerin Ortaya Atılması

Oyun geliştirmenin en önemli kısmı oyunun içeriğidir. Geliştirmekte olduğunuz oyununuz çok güzel grafiklere sahip olabilir, mükemmel mekanikleri olabilir fakat insanları içine çekmeyen bir konusu varsa o oyunun başarılı olmasını bekleyemezsiniz. Bu konuda verilebilecek en iyi örnek bir süre önce oldukça popüler olan Flappy Bird‘dür. Flappy Bird basit 2d grafiklerle çok kısa sürede yazılan bir oyun olsada yapısı gereği birçok insanı içine çekmiş ve uzun bir süre piyasada üst sıralarda yer almıştır.  3d oyunlardan verilebilecek en güzel örnek ise Minecraft‘tır. Minecraft Markus Alexej Persson tarafından 1 hafta gibi kısa bir sürede yazılmıştır. Oldukça basit grafiklere sahip olan ve çok kısa sürede yazılan Minecraft dünya çapında büyük üne kavuşmuştur. Bu iki örnektede görebileceğiniz gibi oyun geliştirmeye başlamadan önce çok kaliteli bir fikriniz olması gerekir. Fikirleriniz oluşmaya başladığında kendinize şunu sorun “Ben böyle bir oyunu oynarmıydım.”. Ayrıca yakın çevrenize ve arkadaşlarınıza fikirlerinizden bahsedin. Oyununuz hakkında onlarında fikrini alın. Bazen insan kendi eserindeki hataları göremeyebiliyor. O yüzden mümkün olduğunca çevrenizdeki insanlarında fikirlerini alın.

Game Design Document (GDD)

Nasıl oyun geliştirilir

Game Design Document

Oyununuzun konusunu belirlediniz. Peki sırada ne var? Oyun geliştirmenin ikinci aşaması olan (GDD) Game Design Document’in hazırlanması. Game Design Document nedir? dediğinizi duyar gibiyim. Game Design Document oyunun konusunun ne olacağını, kimlere hitap edeceğini, ne gibi içerikleri olacağını tüm detaylarıyla yazdığınız bir dosyadır. İnternette küçük bir aramayla hazır GDD örneklerine erişebilirsiniz. Yazının sonunda bende hazır bir GDD örneğini sizlerle paylaşacağım.

Kendi oyununu yapmak isteyen bir çok insanın oyununu tamamlayamamasının asıl sebebi Game Design Document’inin olmamasıdır. Oyun geliştirmeye yeni başlamış birçok insan çok güzel fikirlerle yola çıkıyor ve oyununu geliştirmeye başlıyor. Fakat yapılan en büyük hata oyunun tüm detayları düşünülmeden oyunu geliştirmeye başlamaktır. Oyununu geliştirmeye başlayan yeni geliştiriciler çok kısa bir süre sonra çok başka fikirlerle oyununu değiştirmeye başlıyor. Bu değişiklik süreci sürekli kendini tekrarlıyor ve bir süre sonra yeni tasarımcıların hevesi kaçmaya başlıyor. Kimisi yeni bir fikre geçiyor, kimisi bu işi tamamen bırakıyor. İşte bu hataya düşmemek için bir Game Design Document hazırlayarak yola çıkmak en doğrusudur.

Oyun Motoru

nasıl oyun geliştirilir

Oyun Motoru

Game Design Document‘in içinde bulunan sorulardan biri oyunu hangi platforma uygun hazırlayacağınızdır. Şuan piyasada oyun oynanabilen birçok cihaz bulunmakta. Özellikle akıllı telefonların ve tabletlerinde yaygınlaşmasıyla biz indie game developer‘lara büyük bir fırsat doğdu. Play Store ve App Store birçok indie game developer‘ın oyununu büyük başarılara ulaştırmıştır. Bireysel olarak yada küçük takımlar halinde oyun tasarlayan geliştiriciler mobil oyunların yaygınlaşmasıyla büyük başarılar elde etmişlerdir. İşte bu geliştiricileri kendi oyun motorlarını yazmaktan kurtarmak için Unity ve Unreal Engine gibi çok kaliteli oyun motorları piyasaya çıkmıştır. Bu oyun motorlarının amacı geliştiricileri oyun yazarken gerekli fizik hesaplamaları, görüntü işlemeleri gibi çok teknik konulardan kurtarmaktır. Sıfırdan bir oyun motoru yazmak gerçekten zor bir iştir ve ciddi bir teknik bilgi gerekir. Yeni oyun motorlarının bir diğer getirisi ise oyununuzu cross platform olarak geliştirmenize müsade etmesidir. Örneğin android için geliştirdiğiniz bir oyunu aynı zamanda ios işletim sistemi yüklü bir cihazda da oynayabilmenize olanak tanır. Unity Game Engine benimde severek kullandığım başarılı ve belli bir kazanca kadar ücretsiz bir şekilde kullanılan bir oyun motorudur.

Platformu ve Oyun Moturunuda Belirledik. Peki Sırada Ne Var?

Oyunu geliştireceğiniz platforma karar verdik, bu doğrultuda oyun motorumuzuda belirledik. GDD’mizde hazır olduğuna göre artık oyunumuzun tasarım çizimlerine geçebiliriz. Game Design Document‘de belirlediğiniz kriterlere göre oyuna giriş ekranı, oyun ekranı, market ekranı, oyun karakteri ve oyun içi itemleri bir kağıda çizmeye başlayamalısınız. Oyun tasarımlarınızı taslağa dökmek oyununu geliştirmeye başlamadan önce ekip arkadaşlarınıza yada çevrenize oyun fikriniz görsel olarak açıklamak için oldukça faydalıdır. Oyununu geliştirmeye başlamadan önce oyununuzun bitmiş halini kağıt üzerinde görmek hem sizi motive edicek hemde tasarımınızın üstünde son gelişmeleri yapmanızı sağlayacaktır.

Çizimler Tamam! Bunlar Nasıl Bilgisayar Ortamına Geçecek!

Oyununuza dair her konuda bir karara vardıktan sonra artık oyunu geliştirmeye başlayabilirsiniz. Bir örnek olması açısından bir oyun geliştirdiğimizi varsayalım. Bu oyunu mobil platformlar için Unity Engine ile geliştirmek istiyorum. Tasarımlarımıda kağıda çizdim. Ama bir sorun var. Bu tasarımları 2d veya 3d olarak nasıl bilgisayar ortamına aktaracağım. İşte burda bazı tasarım programları devreye giriyor.

3D VS 2D

Nasıl oyun geliştirilir?

3d Oyun Geliştirmek

3d tasarımlar için 3ds Max, Maya, Blender, Houdini gibi 3d modelleme programları devreye giriyor. Bu programların bir çoğu ücretli ve hepside profesyonel anlamda çok başarılı programlardır. Bunların içinden Blender benim severek kullandığım ve uzmanı olduğum bir modelleme programı. Blender‘ı steam üzerinde veya www.blender.org sitesinden indirebilirsiniz. Blender birçok indie game developer tarafından tercih edilen bir programdır. Ücretsiz ve açık kaynak kodlu olan Blender ile ilgili internette birçok eğitici içerik bulabilir ve kendi tasarımlarınızı yapmaya başlayabilirsiniz. 3d modelleme, programcılıktan farklı ve bambaşka bir alandır fakat öğrenmesi ve birşeyler tasarlaması oldukça keyiflidir. Biz sadece kod yazmayacakmıydık, modelleme nerden cıktı diyenleri duyuyorum. Bu alanda uzmanlaşmak zorunda değilsiniz. İnternette hazır 3d model bulabileceğiniz birçok kaynak mevcut. Yazımın sonunda bu kaynaklarında linkini ekleyeceğim. Fakat özgün bir 3d oyun yapmak istiyorsanız bu programlardan en az birini temel seviyede öğrenmenizi tavsiye ediyorum. Hem program yazıp hemde modelleme yapmak gözünüze zor gelmesin. Birçok indie game developer bu programları bir arada kullanmaktadır. Bir diğer seçenek ise sizin için oyun tasarımını yapacak ve bunu bilgisayar ortamına taşıyacak bir tasarımcı bulmanızdır.

2d Oyun Geliştirmek

Peki 2d bir oyun yapmak istiyorsanız kullanacağınız programlar nelerdir? Spine 2d, Photoshop ve Adobe Illustrator , 2d oyun geliştirmek isteyenler için vazgeçilmez programlardır. Spine 2d ile 2d sprite‘lar ile basit ve etkili bir şekilde güzel animasyonlar elde edebilirsiniz. Sprite‘ları Adobe Illustrator ile çizebilirsiniz. Fakat bu programların hepsi profesyonel programlardır, öğrenmek için emek ve zaman harcamanız gerekir. 3d tasarımlarda olduğu gibi 2d tasarımlardada sizin için oyun tasarımını yapacak ve bunu bilgisayar ortamına taşıyacak bir tasarımcı bulabilirsiniz.

Oyunumuzu Koda Dökme Zamanı

Nasıl Oyun Geliştirilir?

Nasıl Oyun Geliştirilir?

Oyununuz için gerekli olan tüm tasarım öğelerini tamamladıktan sonra artık oyunumuzu koda dökme zamanı. Birçok farklı oyun için birçok farklı programlama dili kullanılabilir. Java, C# ve C++ oyun geliştirme alanında kullanılan en popüler dillerdir. Unity’de oyun geliştirmek istiyorsanız C#, Unreal Engine’da oyun geliştirmek istiyorsanız C++ ve Android Studio ile oyun geliştirmek istiyorsanız Java dilini öğrenmeniz gerekmektedir. Özellikle Unity‘nin oldukça geniş bir dökümantasyon sayfası bulunmaktadır. Youtube ve Udemy gibi platformlarda bolca eğitim içeriğine erişebilirsiniz. Bu eğitimler hem unity hemde C# öğrenmek için etkili yollardır.

Herşey Hazır! Haydi başlayalım!

Herşeyi toparlayacak olursak:

  • Güzel bir oyun fikri bulduk.
  • Oyunun tüm hatlarını belirlemek için Game Design Document‘imizi oluşturduk.
  • Oyunu hangi platform için geliştireceğimize karar verdik.
  • Bu doğrultuda kullanmak istediğimiz oyun motorunu seçtik.
  • Oyunumuzun son halini görmek için Game Design Document‘inde yardımıyla taslak çizimlerimizi yaptık.
  • 3d veya 2d tercihimizi yapıp gerekli programlar aracılığıyla tasarımlarımızı sanal ortama aktardık.
  • Kullanacağımız oyun motoru ile birlikte oyunumuzu geliştireceğimiz programlama diline karar verdik.

Bir oyun geliştirme sürecinin nasıl işlediğini ve bu süreçte hangi programların kullanıldığını, kendi oyununuzu geliştirmek için nerden başlamanız gerektiğini artık biliyorsunuz.

Yararlı Linkler

Game Design Document örneği

Hazır 3d model arayanlar için yararlı kaynaklar

Unity Asset Store

Turbosquid

Sketchfab

Tasarım fikirleri arayanlar için yararlı kaynaklar

Artstation

Pixelsquid

Pinterest

Oyun geliştirmeyle ilgili aklınıza takılan her şeyi yorum bölümünde sormayı unutmayın! Bu alanda kendini geliştirmek isteyen tüm okurlarmızı başarılar diliyorum.

Paylaşmak önemsemektir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir