28 Mart 2007 Çarşamba

Bağımsız Oyun Geliştiriciliği

Önceki yazımda da belirttiğim gibi yazımın konusu "Bağımsız Oyun Geliştiriciliği". İlk olarak ne olduğunu anlatmakla başlayayım. Kısaca bağımsız sinemanın oyun sektöründeki karşılığı diyebilirim. Küçük geliştirici ekiplerinin kendi kaynakları ile oyun geliştirip, yine kendi kaynakları ile bu oyunların dağıtım ve pazarlamasını sağlaması diyebiliriz.

Bağımsız oyun geliştiriciliğinin ortaya çıkışı yeni sayılsa bile kökenleri bayağı eskilere, 90'lı yılların başlarındaki (ve hatta daha da öncesine dayanan) shareware oyunlara dayanmakta. Shareware mantığının günümüze taşınıp Internet'in sunduğu geniş imkanlarla bir araya gelmesi ile oluşmuş bir kavram Bağımsız oyun geliştiriciliği. Günümüzdeki önemi ana akım piyasadan kaybolan yenilikçiliğin (bunun başlıca sebebi ortada dönen paralar büyüdükçe parayı koyan dağıtımcılar daha az riske girmeleri ve kazancı belli türlere yönelmeleri) kendine geniş bir yer bulması. Tabii sadece yenilikçi fikirlere yuva olmuyor, aynı zamanda saf eğlence arayan arcade severlere ve fazla para kazandırmadığı için ana akım piyasadan kaybolan oyun türlerine de kucak açıyor.

Ve bütün bunların merkezinde Internet var. Çünkü çok önemli bir konuda geliştiricilere yardımcı oluyor. Oyunun dağıtımı ve pazarlaması. Internet'in bu kadar yaygın olmadığı dönemlerde sektör büyüdükçe küçük firmalar oyunlarını satabilmek için büyük dağıtımcılara muhtaç kaldılar. Ama Internet'in yaygınlaşması ile buna bir alternatif geldi. Artan bağlantı hızları ile bilgisayar oyunlarının internet üzerinden dağıtımı iyice kolaylaştı ve hatta ana akım (mainstream) piyasada bile Valve'ın Steam'i gibi örnekler ortaya çıkmaya başladı. Yine aynı şekilde Internet bağımsız geliştiricilere oyunlarını tanıtmak için alternatif (ve pek de alternatif sayılmayacak) yöntemler sağladı. Ama bunlar buraya sığmayacak kadar uzun. O yüzden daha sonra detaylı olarak inceleriz.

Peki bunları niye anlattım? Çünkü Türkiye'de yaşayıp da oyun geliştiricisi olmak isteyen biri için en uygun yöntemin bu olduğuna inanıyorum. Evet kazancı az, evet çok fazla sorumluluk almanız gerekecek (bir oyunu bitirmek işin sadece başlangıcı olacak) ama ortada oyun geliştiren Türk firmaları fazla olmadığına göre bu ülkede oyun yapımından para kazanmak istiyorsanız deneyebileceğiniz bir yöntem. Ve önümüzdeki günlerde bu sitede bu konu hakkında daha fazla yazı bulabileceksiniz.

1 yorum:

Adsız dedi ki...

Oyun Yapımına Başlangıç – Seçim


Oyun yapmak istiyorsunuz fakat bu konuyla yakından uzaktan alakanız yok. Nereden başlayacağınızı, ne yapacağınızı ve başladıktan sonra hangi teknik yolu takip edeceğinizi bilmiyorsunuz. Bu işin sonu nereye gidecek diyorsunuz. Eğer bunları dert edenlerdenseniz bu yazı tam size göre. Bunların hepsine sizin için açıklamalar getirdik. Dikkatle okuyacağınızı umut ederek anlatıma başlıyoruz.

Öncelikle bilmelisiniz ki oyun yapımı bütünüyle bir sanattır! Elektronik ortamda çalışan pek çok kişinin oluşturduğu devasa bir kompozisyondur. Bu kompozisyonu oluşturan her ast bireye ise sanatçı / mühendis denir. Çalışanlar oyun yapımında uzman oldukları dallara ve bu dallar içindeki konulara göre gruplara ayrılırlar. Projede çalışan her kişi kendi dalı içinde üzerine özellikle yoğunlaştığı bir konuda çalışır. Burdan sizin de anlayacağınız gibi kendinize oyun yapımına başlamak ve devam etmek üzere bir dal seçmeniz gerekiyor. Bu dal, sizin üzerinde uzman olmaya çalışacağınız, sürekli kendinizi geliştirip yeni bilgiler edineceğiniz tek dal olacak. Size seçim yapmanız, oyunun yapımında çalışmanız için olmazsa olmaz 2 ana dalı sunacağız. Bunlar programlama ve temelde plastik sanatlar; bilinen adıyla görsel sanatlardır.


Programlama


Programlamayı seçtiğiniz durumda oyunun yazılması ve kodlanması işini yapacaksınız. Bunun için öncelikle çok iyi matematik, geometri ve fizik bilgisine sahip olmanız veya edinmeniz gerekecek. Çünkü oyun programlaması yaparken objelerin birbiri ile etkileşimini ancak (herkesçe bilinen veya -çoğu zaman- kendi çabalarınızla elde edeceğiniz) matematik ve fizik formülleriyle sağlayabileceksiniz. Tabi ki önce bir programlama dili öğrenmelisiniz. Şu anda kullanabileceğiniz bir çok programlama dili bulunmaktadır. En çok kullanılanları C++, Delphi ve Visual Basic olarak sıralanabilir. Peki hangisini seçmek lazım? Öncelikle şunu söylemek gerekir ki aslında oyun yapmak için en ideal programlama dili C++’tır. Eğer oyun programlama konusunda gerçekten çok istekliyseniz C++ öğenmenizde çok büyük fayda var. Öncelikle bir kitap edinmelisiniz. Piyasada Türkçe olarak yayınlanmış veya yabancı kaynaklardan Türkçeye çevrilmiş bir çok kitap mevcut. Bunlardan birini seçerek işe başlayabilirsiniz. Tabi bunun yanında elinizin altında Internet gibi muhteşem bir kaynak var. Delphi ve Visual Basic ise C++’a göre daha zayıf kalırlar ama bu programlama dilleriyle de oldukça iyi işler yapılabilir. Bunları da C++ için anlattığımız yöntemlerle öğrenmeniz mümkündür. Bunlara ek olarak kullanacağınız programlama dilinin derleyicisi edinmelisiniz. Delphi için Borland Delphi, VisualBasic için Microsoft Visual Studio veya Visual Basic.NET için Microsoft Visual Studio .NET kullanabilirsiniz. C++ için ise yine Microsoft Visual Studio veya Microsoft Visual Studio .NET, Borland C++ ve Dev C++ kullanabilirsiniz. Şimdiden söyleyelim, bu derleyicilerden sadece Dev C++ ücretsiz. Diğerlerini satın almanız gerekecektir.Oyun programlamada yukarıda saydığımız programlama dillerine nazaran daha az kullanılan diğer bir programlama dili de Java’dır (Javascript değil. Javascript web uygulamaları için geliştirilmiş bir script dilidir). Oyun programlamak için sadece bir programlama dili bilmeniz yeterli olmayacaktır. Oyunun görsel içeriğini oluşturabilmeniz için Microsoft DirectX veya OpenGL kütüphanelerini kullanmayı da bilmelisiniz. Tabi bunları kullanabilmeniz içinde yukarıda saydığımız programlama dillerinden bir tanesini oldukça iyi seviyede kullanabilmeniz gerekmektedir.“Yok ben bunlarla uğraşmak istemiyorum” diyorsanız hazır grafik motorları da kullanabilirsiniz. Visual Basic, Delphive C++ için Truevision3D, sadece C++ için Ogre3D kullanabilirsiniz. Son olarak şunu da ekleyelim: Oyun programlamak sabır ister. Sıkılıp bırakmak istemeniz, sürekli karşılaşacağınız durumlardır. Ancak sabreder ve azimle çalışmalarınıza devam ederseniz çalışmalarınızın sonucunu gördüğünüzde aldığınız zevk kelimelerle anlatılamaz...


Plastik Sanatlar / Görsel Sanatlar


Bu daldaki bireyler tamamen görsel öğeler üzerine çalışır. Bir oyun projesi sınırları dahilinde görevi; oyun içinde ya da oyunun herhangi bir kısmında gözle görülen her efekti, objeyi, resmi, canlılığı oluşturup programcıların işleyebileceği hale getirmektir. Oyunun menüleri, oyunun tasarım öncesi el çizimleri, oyundaki geçişler için hareketli kısa animasyon görüntüleri, oyunun açılışındaki hareketli ve hareketsiz görüntüleri, üzerinde oynanacak haritalar, karakterler, karakterlerin her türlü harekletleri, oyunda gözle görülen her obje, tüm resimler, dokular ve bunlar gibi diğer herşey sanatçıların ellerinden çıkar. Dijital ortamda bu dal teknik olarak 2 boyutlu ve 3 boyutlu grafik tasarım şeklinde 2 gruba ayrılır.


2 Boyutlu Görselleştirme


Görsel olarak 2D tasarımlar; çevremizde heryerde görebileceğimiz alanlara sahiptir. Web dünyası ve oyun yapımında da temel taşları oluşturan temel birimlerden biridir. Konsept olarak adlandırılan başlangıç çizimleri, blueprint taslaklar, oyun içi kaplamalar, etkileşimli arabirim çizimleri(HUD) ve benzeri bir çok 2 boyutlu çizim, bu konularda ihtiyacımızolan görsel iletişimde büyük katkıda bulunurlar. Bu tür çalışmalar için kullanılabilecek birçok program mevcut durumda iken en popüler seçim Adobe Photoshop serisidir. Özellikle Texture (kaplama / doku) hazırlama-oluşturma konusunda büyük kolaylıklar sağlayan Photoshop'ı, konsept resimlerde uzmanların tercihi olan Corel Painter serisi takip etmektedir. Bir diğer gözde alternatif ise Jasc Paint Shop Pro'dur. Oyun yapımı konusunda 2D'yi ele alırsak, üzerinde duracağımız en önemli bölümü kaplamalar oluşturmaktadır. Karakter, iç ve dış mekan, obje, yeryüzü vs. gibi geniş bir alanda kaplamalar çizmeniz gerekir. Burada en önemli kısım, bütünleşik ve gerçeğe en yakın çizimleri oluşturmaktır. Bunu sağlamak için iyi bir gözlemci, araştırmacı ve ayrıntılara dikkat eden biri olmanız gerekir. Photoshop, alışması zor olmayan bir arabirime sahip olduğundan programa uyum sağlamanız fazla zaman almayacaktır. İlk zamanlarda gerçek mekan fotoğraflarını referans alarak kaplamalar oluşturabilir, çalışmalarınızda ilerledikçe programın nimetlerinden yararlanarak hayal gücünüz ile sınırlı tasarımlar gerçekleştirebilirsiniz. Kaplamalar haricinde, oyununuzu tanıtacak diğer önemli bir nokta, görsel şölen haline gelebilecek taslak çizimleridir. Oyun içerisinde yer alan karakterler, mekanlar ve her türlü canlı için yapılan bu çizimler için kullanışlı bir Çizim tabletine ihtiyacınız olacaktır. Bu tabletler sayesinde, el çizimlerinizi anında bilgisayar ortamına taşıyabilir, üzerinde değişiklik yapabilir ve çok zahmetli olan renkli çizimleri dijital ortamda kısa sürede meydana getirebilirsiniz. Bu alanda çizim yeteneği, anatomi bilgisi ve el-göz koordinasyonu önemlidir.


3 Boyutlu Görselleştirme


Bu alandaki sanatçılar oyunda görülen tüm üç boyutlu tasarımları ve animasyonları gerçekleştirir. Karakterler, karakter hareketleri, oyun içi bölümler, objeler, objelerin çeşitli hareketleri, oyundaki sinematik dediğimiz dialogların ve aksiyonların hareketli görüntüleri ya da oyun içi sahneleri, oyunun açılış görüntüleri ve geçiş görüntüleri bu sanatçıların ellerinden çıkar. Bu işi yapmak için kullanabileceğiniz pek çok alternatif yazılım var. 3D Studio Max, Maya, Softimage XSI, Lightwave bunlardan en ciddileridir. Tavsiyemiz de kendiniz için bu programlardan birini seçmenizdir. Aceleci davranmadan seçeceğiniz yazılım ve doğru bir öğrenim yolu ile aldığınız her bilgi veriminizi artıracaktır. Şimdi yapmanız gereken kendinize programlardan birini edinmek. Bunu edinmeden önce her programı araştırmanız gerekiyor. Program seçiminizi yaptıktan sonra uygun adımlarla ilerleyerek amacınıza daha da yaklaşacaksınız. Sanatçılar bir projede çalıştıkları esnada özel olarak ilgilendikleri konular üzerine gruplara ayrılırlar. Karakter tasarımcılar, harita tasarımcıları, animatörler gibi… Siz de kendinize özellikle ilgi göstereceğiniz bir konu seçerek uzmanlığınızı daha da özelleştirebilirsiniz. Fakat bu çok daha sonraları gerçekleşecek bir durum ve kalabalık ekiplerle çalışılan projelerde geçerlidir.

Programlardan birini seçip başlangıç yapacağınız zaman geldiğinde öncelikle kullanmaya başlayacağınız programın özelliklerini, yapısını, menü ve simgelerini, işlevlerini tamamen öğrenin. Yani kullanacağınız programı öncelikle tanıyın. Daha sonrasında ise modellemeyi öğrenmeye başlayarak devam edebilirsiniz. Modelleme her üç boyutlu grafik tasarım ve görselleştirme programında aynı anlama gelir ve bir objeyi tasarlamak demektir.Modelleme araçlarını ve tekniklerini keşfedin, devamlı alıştırmalar yaparak modelleme gücünüzü artırın. Oyun yapımında bir sanatçının en iyi bilmesi gereken en önemli hususlardan birisi karakter tasarlamaktır. Bir karakteri yüksek kalitede doğru bir şekilde modelleyebilen ve doku ile bunu kaplayabilen bir kişinin modelleme adına yapamayacağı pek birşey kalmamış demektir. Bundan sonra ciddi bir oyun projesinde uzman bir modelci olarak çalışabilir… Ardından animasyon işine girişerek karakter animasyonları konusunda kendinizi geliştirebilirsiniz. Özellikle bu konu çok önemlidir. Oyunun gerçekçiliği açısından animasyon konusunda çok çalışılması gerekmektedir. Oyun içi diyaloglar, aksiyon sahneleri ve bu tür diğer sahneler oyunu zengin kılar ve oyunu daha gerçekçi bir hale sokar. Ayrıntıya girecek olursak oyun yapımına yönelik üç boyutlu grafik tasarım ve görselleştirmede sırası ile öğrenilmesi gereken konular aşağıdakigibidir...

1.Programı tanıma.

2.Modelleme

3.Kaplama ve dokulandırma

4.Görüntü çıktısı alma

5.Karakter donatma

6.Animasyon

7.Özel efektler ve simülasyonlar

Peki grafik tasarımda bu kadar yolu katedebilmiş bir kişi sadece oyunların yapım sürecinde mi yer alabilir? Hayır. Buraya kadar başarılı şekilde gelmiş bir kişi film ve reklamcılık sektöründe de gayet rahat yer alabilir ve çalışabilir. Buradan anladığınız gibi bunları tam manası ile öğrendiğinizde farklı sektörlerde de çalışma alanlarınız var.

Oyun yapımına başlarken sadece tek seçim hakkınız var. Bunu iyi değerlendirin ve severek yapacağınız bir dal seçin. Seçtikten sonra diğer bir dal ile ilgilenmek yapabileceğiniz en büyük hatadır. Bu yüzden ilk seçiminizi iyi düşünün ve kararınızı verin. Hangi dalda çalışmak isterseniz isteyin, bu işi ciddi anlamda yapmak istiyorsanız yıllarınızı bu iş için harcayacaksınız.