29 Nisan 2007 Pazar

Microsoft XNA Express

Pek çoğunuzun bildiğini tahmin ettiğim bir oyun geliştirme kütüphanesi MS XNA. Bu yazıda express versiyonunun kurulumundan, işlevinden ve faydalarından bahsedeceğim biraz.

Kısaca tarihi;
Microsoft XNA ilk olarak 24 Mart 2004'de Game Developer's Conference'da duyuruldu ve ilk basına özel teknoloji demosu 14 Mart 2006 da yayınlandı. Şu anki versiyonu olan 1.o ise 11 Aralık 2006'dan beri bedava olarak sitesinden indirilebilmektedir.

Microsoft XNA nedir?
Yazının başında da belirttiğim üzere, XNA express; Microsoft'un C# express ile kullanılmak üzere tasarladığı hem Windows hemde Xbox360 platformlarında çalışabilecek oyunlar kodlanabilen bedava "oyun yapım" kütüphanesidir. İçinde çeşitli grafik/çizim, ses, kullanıcı girdisi(input) fonksiyonları bulunuyor ve DirectX9 kullanıyor.Shader desteği ve DirectX10 özellikleri de barındırması sebebiyle tamamen yeni nesil bir oyun yapmak için gerekli tüm özellikleri barındırıyor şu anki haliyle ve geliştirilmeye de devam ediyor. Tek eksisi "managed code" kullanması sebebiyle normal koda nazaran yavaş olması. XNA ile yapılan oyunların da çalışması için .net framework 2.0 ve XNA framework yüklü olması gerekiyor.

Kullanmak için orta düzey C# bilgisine sahip olmanız gerekiyor. Şu an ilk beta sürümü olmasına karşın kaliteli bir oyun yapmak için gereken tüm sistemler hazır. Geliştirilmeye devam ediliyor ve yapımcıların söylediğine göre Directx10'un tüm nimetlerinden yararlanır hale gelecek. Umarız ki grafiksel kaliteye odaklanıp yararlı sistem ve fonksiyonların eklenmesini es geçmezler.

Kimin için?
Şimdi gelelim bizi ilgilendiren kısıma; XNA express, özellikle bu işe bütçe ayıracak durumda olmayan veya lisans ücretleriyle boğuşmak istemeyen yapımcılara hitap ediyor. Hobi amaçlı bu işle uğraşanlar ve indie piyasasına giriş yapmak isteyenler için işleri oldukça kolaylaştıracak bir kütüphane XNA.

En önemlisi; ne kütüphaneyi elde etmek için bir ücret ödemeniz gerekiyor ne de XNA kullanarak yaptığınız oyunlarınızı satarken herhangi bir lisans ödemeniz gerekiyor. Eğer oyunda kullanılan medya formatlarından örneğin sesler için .OGG, kaplamalar için .DDS, modeller için .X'de kullanırsanız sonunda elde ettiğiniz ürün üzerinde tek harcamanız emeğiniz olacaktır ki bu harika bir şey!

Sonuç;
Şahsen Blitz3d den XNA'e geçiş aşamasına girmiş bulunmaktayım, eğer siz de hobi amaçlı uğraşıyor veya bağımsız oyunlar yapıp para kazanmak istiyorsanız hemen yüklemenizi ve öğrenmenizi öneririm. İhtiyacınız olan bağlantılar aşağıda bulunmaktadır arkadaşlar, iyi çalışmalar dilerim!

.Net Framework 2.0
C# Express ana sayfası
XNA Express ana sayfası

20 Nisan 2007 Cuma

Otopsiçinin (??) Galaksi Rehberi

Herkese merhaba yine...

Nerede kalmıştık?
Hah... Asporia: Gizli Tehdit ve akabinde Lost in the Nightmare...

Bu yazımın amacı, iki AGS oyunum olan Asporia: Gizli Tehdit (başka adıyla Asporia: Hidden Threat) ve Lost in the Nightmare'ın post-mortem'i.

Yazıya başlamadan önce bir şey eklemek istiyorum.

"Bilgisayar oyunları, Gord10 için ne ifade ediyor?" sorusuna cevap vermemiştim, şimdi bu konudan bahsedeyim hemen (gerçi kimse böyle bir soru sormamıştı ama olsun).
Oynadığınız oyunlarımdan (veya en azından burada okuduğunuz yazılarımdan) da anlayabileceğiniz gibi, beni oyunların sanatsal yönü ilgilendiriyor. Bir Tolkien romanından, bir Opeth parçasından alabileceğiniz türden bir zevki yansıtmaya çalışıyorum son oyunlarımda (Son oyunlarımda diyorum; 13 No'lu Uçak gibi geyik bir oyunun oyuncuya herhangi bir şey katabilmesi çok zor) (Ama bu demek değil ki; mizah, tüketiciye katkıda bulunamaz. Gerçekten zekice yapılan -belki hiciv içerikli- bir mizah, tüketiciye pek çok şey katabilir). Silent Hill 2'nin benim en sevdiğim oyunlardan birisinin olması da içerisinde barındırdığı sanatsal içerik.

Ama demek istediğim "Ben sadece kitap gibi oyunlardan hoşlanırım" da değil. Bu aralar en çok oynadığım oyun GTA 1. Yıllar önce oyunun full sürümünü veren bir dergiyi aldığımda edinmiştim GTA 1'i ve çok sevmiştim. Arkadaşlarıma GTA 2'yi, 3'ü ve sonraki diğer GTA oyunlarını sevmediğimi söyleyince beni küçümserlerdi, o eski oyunu oynadığım için. GTA 1'deki eğlenceyi diğer oyunlarda bulamıyorsam bu benim suçum mu? Bir de 1-2 ay önce oyunu tekrar kurduğumda arkaplan müziklerini başka parçalarla değiştirdim ki bu oyuna bambaşka bir tat kattı. "Benzin" çalarken itfaiye aracıyla (ve tercihen bir roketatarla) trafiği birbirine katmanın veya "Feuer Frei" çalarken makineli tüfekle yaya kovalamanın tadı... Uff. (buradan adı Ç/T ile başlayan bir enişte/dayı/kayınçomuzu anıyorum :P )

Evet, oyunlar benim için iki şey ifade eder. Sanat ve eğlence. Teknoloji sadece bir araçtır bana göre.
Şimdi yazının anakonusuna dönelim.



Biraz önce harddiskimin derinliklerinde, ilk AGS oyunlarımın kaynak dosyalarını içeren klasörü buldum nihayet. Onları sildim sanıyordum, ama meğerse "adventure" klasörünün içinde, tam da gözümün önündelermiş keratalar. Benim için altın değerinde bir keşif oldu bu.

Asporia: Gizli Tehdit; AGS ile yaptığım, 2004 Eylül'ünde çıkardığım bir aksiyon/RYO (Rol Yapma Oyunu). Aslında bu oyunu yapmamdaki amaçlardan birisi, yapımına uzun süre önce başladığım Karanlık Ormanda Kayıp (o zamanki adı oydu) için kullanacağım bazı sıradışı fikirlerin ne kadar işe yarayacağını test etmekti. Half-Life ve onun modlarındaki modelleri, kaplamaları vs. kullanan başka bir freeware oyunla karşılaşmamıştım ve açıkçası Karanlık Ormanda Kayıp üzerinde çok uzun bir süre çalıştıktan sonra da elimde patlamasını istemiyordum (her türlü ihtimali düşünmüştüm; insanların oyunu bu yüzden oynamamalarından, bana karşı yasal işlem çıkarılmasına kadar.) (bu arada, özellikle Medieval World olmak üzere modellerini ve kaplamalarını kullandığım tüm modların yapımcılarına ne kadar teşekkür etsem azdır. Keşke onlara ulaşabilsem de teşekkür edebilsem, hatta belki iskender kebap falan ısmarlayabilsem. Mail adresleri çalışmıyor.).
1-1,5 yıl daha üzerinde çalışacağım oyunun bu tersliklerle karşılaşması yerine 1-2 ayda yaptığım Asporia: GT'i kaldırmak zorunda kalmak daha mantıklıydı zira.



Şunu itiraf edeyim...

Bir 'oyun' olarak incelersek, kalitesiz bir oyun çıkacak karşımıza. Savaş ve hareket sistemi kötüydü, oyuncuyu oyunda ilerleyiş konusunda çok daha fazla bilgilendirmem gerekiyordu.

Ama öte yandan, oyundaki ara sahnelerde yakalamayı başardığım sinematik hava dahil olmak üzere oyunun bazı özellikleri beni bugün hâlen etkilemekte. Açıkça söyleyeyim; biraz önce oyunun AGS içi kaynak dosyalarını incelediğimde, 16 yaşına yeni girmiş olan benin
bunları yapabilmiş olması beni şaşırttı. AGS'nin içerisine RPG öğelerini ekleyen kodları yazabilmiş olmam mesela... Kaynak dosyaları inceleyince canım tekrar bir RYO yapmak istedi (bu arada pek çok 'RYO' oyunundan farklı olarak Gizli Tehdit'te gerçekten rol yaptığımızı, verdiğimiz bazı kararların oyunu etkilediğini de belirteyim).

Aslında Asporia: Gizli Tehdit hakkında daha epey konuşabilirim, özellikle de bazı detaylar hakkında. Çok ayrıntılı bir yazı yazmayı isterdim, ama bu yazının da diğer yazılarım gibi aşırı bir uzunluğa sahip olmasını istemiyorum (gerçi o zaman da bu yazının ne kadar post-mortem niteliği taşıdığı da tartışılır; sanırım bu yazılarda oyunlarımdan çok oyun yapımı tarihimi masaya yatırmış oluyorum. Sanırım başta LitN olmak üzere, tüm oyunlarımı ileride teker teker otopsiden geçireceğim. Hele bir bol zamana ulaşayım da...).


Asporia: Gizli Tehdit beğenildikten ve herhangi bir sorun ortaya çıkmadıktan sonra 'Karanlık Ormanda Kayıp' üzerinde çalışmamam için bir engel çıkmadı. Bu oyun oldukça ciddi bir projeydi, yapabileceğim en iyi oyun o olacaktı. Üzerinde çok çalıştım; hikayeyi, hazırladığım map'leri (ve dolayısıyla arkaplanları) defalarca değiştirdim. Sonucunda mükemmel bir oyun olmadı belki, hâlâ bazı "keşke"lerim var. Ama biraz önce incelediğim o ilk demolara göre oldukça fazla yol kat ettiğimi de söylemeliyim.








Oyunun yapımı sürecinde değiştirilen grafiklere örnek vermek istiyorum.

<- Ameliyattan önce














Ameliyattan sonra... ->
(gerçi oyunda bu kadar güzel görünmüyordu bu sahne ama olsun).

Buradan çıkarılması gereken ders şu: Oyun yaptığınız zaman, memnun kalmadığınız bir şeyleri değiştirmekten veya yeniden yapmaktan çekinmeyin.

Ve bu da oyunun tam sürümünde göremediğiniz, sadece demosunda olan bir sahne. Memnun kalmadığım için bu sahneyi kaldırdım.


Ufff.
Gerçek hayatta geveze birisi değilimdir. Ama hem söz konusu hem benim yaptığım oyunlar olunca hem de yazılı bir ortamda kendimi ifade etme sanşına sahip olunca, çenem düşüyor.

Bu oyunun her sahnesi hakkında yazı yazabilirim. Ama gerçekten haddinden uzun bir yazı olurdu.

İleride LitN'ın çok ayrıntılı bir otopsisini yazmayı düşünüyorum. Benim için bu oyunun anlamını, falan filan...
Bu yazı çok havada kaldı, farkındayım. Ama en azından oyun yapmak isteyen diğer kişiler için, şimdiye kadar yazdığım tüm tarihçemin güzel bir kaynak olacağına inanıyorum. Görebilenler için çok ders var.

Bu yazıya noktayı koyuyorum... Ama tarihçemin bittiğini düşünmeyin sakın. Daha LitN 2: Unforgettable Memories adlı bir başarısızlık örneğinden bahsedeceğim zaman bulduğum zaman (aslında benim bu yazıyı yazmak yerine integral testi çözmem gerekiyordu, biliyor musunuz?).
Neyse, hunimi takıyorum ve sizlere kısa bir süre için vedamı ediyorum.

11 Nisan 2007 Çarşamba

Oyunları Anlamak

Merhabalar, bu yazım biraz kısa olacak. Sizinle internette rastladığım 4 küçük animasyonu paylaşmak istiyorum.

Understanding Games: Episode 1
Understanding Games: Episode 2
Understanding Games: Episode 3
Understanding Games: Episode 4


Understanding Games adlı bu animasyon serisi eğlenceli bir anlatım ile oyunların temelindeki mekanikleri inceleyip en basitinden en kompleksine doğru giderek bir bilgisayar oyununun nasıl olması gerektiğini anlatıyor. Kesinlikle izlemelisiniz. Bu arada kusura bakmayın animasyonlar ingilizce. Ama bu konuda yapabileceğim bişey yok.

8 Nisan 2007 Pazar

Web'de Bağımsız Oyun Geliştiriciliği

Daha önceki yazımda size bağımsız oyun geliştiriciliğini elimden geldiğince tanıtmıştım. Bu yazımda sizinle internet'te bu konuda bulabileceğiniz birkaç güzel kaynağı paylaşmak istiyorum.

GameProducer.net : Oyun yapımcılığı ve bağımsız oyun geliştiriciliği hakkında oldukça faydalı yazı ve linklere erişebileceğiniz güzel bir blog. Bir başka özelliği ise birçok bağımsız oyunun satış istatistiklerini yayınlamış olmaları. Burdaki sayılara bakarak az gaza getirmedim kendimi :). Bunun dışında bünyesinde Oyun geliştiricilere özel ve gelişmiş birçok hizmet sunan bir abonelik servisleri de (Insiders) mevcut. Bu hizmetler üyelere özel, kaliteli tartışma forumlarından, üyelerin yararlanabileceği basın bülteni dağıtım aracına kadar değişmekte.

GameTunnel.com : Internet'te bağımsız oyunları inceleyen bir iki siteden biri GameTunnel. Ve belki de en popüleri. Oyun incelemeleri, haberler, geliştiricilerle röportajlar, çeşitli makeleler, aylık (o ayın oyunlarından oluşan) topten listeleri ve yıllık Game of The Year ödülleri ile bağımsız oyun sektöründe önemli bir yayın olarak hayatını sürdürmekte.

Great Games Experiment : Garage Games'in web2.0'ı bağımsız oyun sektörüne taşımasının sonucu. Oyunların, oyuncuların, geliştiricilerin ve dağıtımcıların bir araya geldiği bir sosyal ağ GGE. Kısa zaman öncesine kadar üyelik sadece davet usülü ileydi ama o zaman bile binlerce üyesiyle oldukça kalabalık bir üye sayısına sahipti. Şimdi ise isteyen herkes üye olabiliyor. Bence sizde üye olup bu siteyi deneyin. En azından geliştiricileri için oyunlarının reklamını yapmak için güzel bir mekan. Bu arada Türk oyun geliştiricileri için şöyle bir grubumuz var http://www.greatgamesexperiment.com/group/turkgd/, GGE'ye üye olacak geliştiricileri bekleriz.

IGDA Indie Game Dev Forumu : Benim pek takip etmediğim bir forum ama sonuçta IGDA'nın forumu ve belirli bir kitlesi var, bakmaya değer.

IndieGamer.com : İşte bu forum bağımsız oyun geliştiriciliğini öğrendiğim yerlerin başında gelir. Çok güzel bir kaynaktır. Forumun çok iyi bir kitlesi bulunmakta, projenize yardımcı olacak insanlar bulmaktan tutunda, teknik konularda yardım almaya ya da pazarlama hakkında birşeyler öğrenmeye kadar herşeyi bulabilirsiniz. Kesinlikle takip edilmesi gereken yerlerden biri.

Tales of the Rampant Coyote : Rampant Games'ten Jay Barnson'ın blog'u. Oyun yapımı ve bağımsız oyun geliştiriciliği üzerine oldukça güzel yazılar bulabileceğiniz bir blog. Takip edilmeliler listesinde üst sıralarda tutmanız gereken bir adres. Güvenin bana :).

Games * Design * Art * Culture : Manifesto Games'ten Greg Costikyan'ın blog'u. İçerik olarak bağımsız oyun geliştiriciliğinin daha çok sektörel kısmını ve bu işin felsefesini ele alan bir blog. Takip edilesi blog'lardan biri.

Vereceğim linkler şimdilik bu kadar. Ama nette bulabileceğiniz kaynaklar bu kadarla kısıtlı değil tabi ki. Onlarıda sizin keşfetmeniz gerekecek. Keşfettiklerinizi bizimle paylaşmayı unutmayın.

2 Nisan 2007 Pazartesi

Hergün bedava bir bağımsız oyun ve program!

Kısa bir site tanıtımı yapmak istiyorum.
Her 24 saatte bir ücretli bağımsız (indie) bir oyunu ve bir de programı tamamen ücretsiz olarak temin edebileceğiniz "Give away of the day" sitesini hergün ziyaret etmenizi tavsiye ederim. Bazen oldukça güzel oyunlar ve kullanışlı programlar bulabiliyorsunuz. Güle güle oynayın / yararlanın.