06.12.2009

CGH

Bir oyundaki oynanış öğelerinin tasarımı ve seçimi, o oyunun zevkli bir oyun olmasından, oyunun programlamanın ne kadar kolay veya zor olacağına kadar pekçok kritik sonuca etki eder. Bu yüzden şimdi oyun öğelerini nasıl tasarlayacağımıza daha da yakından bakalım.

Geçen yazıda oyun öğelerinin Kapalı olmasının öneminden bahsetmiştim. Bundan daha detaylı bahsetmek istiyorum. Kapalılık terimi küme matematiğinden gelen bir terim. Bir küme ve bir işlem ile ilgili. Bir işlem, bir kümeden bir veya birkaç elemanı alır ve sonucunda yeni bir eleman üretir. Eğer işlem sonucu, başladığımız kümenin her zaman üyesi ise bu işlem bu küme üzerinde kapalıdır.

Örneğin toplama işlemi gerçel sayılar kümesinde kapalıdır. Her iki gerçel sayının toplamı yine bir gerçel sayıdır.

Tekrar oyun tasarımına dönersek, kapalılık demek, oyuncunun bütün oyun öğeleri ile oyun dünyasında yapabildiği herşeyin sonucunun yine oyun dünyası içinde olması demektir. Eğer bu baştan iyi düşünülmezse ya yazılım hataları ortaya çıkar, ya da oyun içinde gereksiz öğeler var demektir. Başka bir deyişle, oyun dünyamız ve içindeki mekanlar, nesneler, ve bütün karakterler, kümemizdir. Oyun öğeleri de bu kümenin elemanları üzerinde yapılan işlemlerdir. Oyun öğeleri, oyun dünyası üzerinde kapalı olmalıdır.

Fakat oyun öğelerinin asıl can alıcı noktasını kavramak için şimdi bambaşka bir açıdan olaya yaklaşalım.

Bir oyuncu neden sizin oyununuzu oynasın? Yani sizin oyununuzun türündeki diğer binlerce oyunu oynamak yerine neden sizin oyununuzu oynamayı tercih etsin. Veya daha ciddi ele alalım aynı soruyu. Beş kişilik arkadaş grubunuzla bir oyun yapmaya karar verdiniz, ve bunu yapabilmeniz için gereken sermayeyi sağlayacak bir iş adamı ile konuşacaksınız. Bu iş adamı size neden para versin. Ona ne diyeceksiniz.

İşte oyun öğeleri bu noktada önem kazanıyor. Oyununuzdaki bu öğelerden bazıları, oyununuzu benzer onbinlerce oyundan farklılaştırıyor mu?

Bu noktada bambaşka bir dünyaya açılmış oluyoruz. Zevkli ve özgün oyun öğeleri tasarlayabilmek oyununuzu diğer oyunlardan farklı kılan asıl olaydır. Peki bu farklılaşmayı sağlayacak oyun öğelerini nereden bulacağız. Bunun birkaç yolu var

Öncelikle en kolay yollardan biri türler arası füzyonlar yapmaktır. Örneğin FPS türünden bir aksiyon oyununa bazı FRP öğeleri eklemeyi düşünebilirsiniz. Ya da belki bir RTS oyununa, bazı şehir yönetim oyunu öğeleri ekleyebilirsiniz. Bu tip füzyon fikirleri ile kafanızda oynamaktan çekinmeyin. Sevdiğiniz oyunları düşünün. Farklı türlerden sevdiğiniz iki oyunda en çok sevdiğiniz oyun öğeleri birleştirilebilir mi mesela? Bunları birleştirseniz ortaya çıkan oyunu kendiniz zevkle oynarmıydınız.

Diğer bir yol yine kendi oyun deneyimlerinize bakıp, sevdiğiniz oyunlarda, oynarken size eksik gelen, ” ya şu oyunda bir de şunu yapabilseymişiz ne güzel olurmuş” dediğiniz yerleri tespit etmek. Bunun sizin için verimli bir kaynak olabilmesi için bol bol oyun oynamanız lazım tabii. Hay Allah yazık size :)

Son olarak, yeterince oyun tüketir ve yeterince oyun tasarlarsanız, bir noktada tamamen özgün ve daha önce hiç görülmemiş bazı oyun öğeleri de tasarlayabilirsiniz. Bu en zor yol olsa da, sonuçta şu an dünyada oyunlarda kullanılan bütün fikirler bir tarihte birileri tarafından ilk olarak böyle bulundu.

Oyununuzda olmasını istediğiniz bir grup oyun öğesini listelediğiniz zaman, son bir gözden geçirme zamanıdır. Bu noktada düşündüğünüz oyun öğelerinden bir kısmını elemeniz gerekebilir. Eğer tek kişi çalışıyorsanız veya küçük bir ekipseniz olabildiğince fazla öğeyi eleyip sadece oyunu en zevkli kılacak birkaç öğeyi geride bırakmalısınız. Yoksa oyunu bitirebilmeniz çok zorlaşır. Az oyun öğesi içeren bitmiş bir oyun, çok öğe içeren bitmemiş bir oyundan, hem sizin için, hem dünya için daha iyidir.

Bu eleme süreci şu şekilde işler. Listenizdeki her bir oyun öğesine bakıp şu soruları sorarsınız.

Son olarak oyununuzdaki öğe sayısını azaltmanın en güzel yollarından biri öğeleri gruplar olarak değerlendirmektir. Öğeler genelde savaşla ilgili öğeler, ticaret ile ilgili öğeler, bilmece çözme ile ilgili öğeler gibi gruplar halinde olurlar. Bu grupları komple eklemek ve çıkarmak genelde oyunun kapalılığını korur. Örneğin FPS’nizden bütün ticaret öğelerini bir kalemde keserseniz geride kalan öğeleri kapalı kılmak kolaylaşır. Oysa ticaret ile ilgili bir öğeyi kesip birini bırakırsanız, ihtimalen kapalılığı bozarsınız.

Tekrar söylemekte fayda görüyorum. Özellikle küçük kişisel oyun projelerinizde benim tavsiyem, her zaman mümkün olduğunca az oyun öğesi bulundurmanız ve bu öğeler grubunu yukarıda anlattığım metodlardan birini kullanarak, mümkün olduğunca özgünleştirmenizdir.

Yazıyı burada kesiyorum. Oyun öğeleri ile senaryo ve oyun dünyası arasındaki ilişkilerden de gelecek yazıda bahsedeceğim. Böylece oyun yapımında bana göre en zevkli konulardan olan oyun dünyası tasarımına geçeceğiz.

Share

Comments

  1. Emir Akaydın on 06.12.2009

    Abi bu yazı dizisini okdukça Türkiye’de sık sık gördüğüm (birçoğumuzun bildiği / gördüğü) bitmemiş oyun projeleri geliyor aklıma. Hazır bir 3d engine, dummy modeller, collision yok duvarların içinden geçiyorsun ve hepsinden önemlisi ortada oyun yok! Yani bir amaç, yapabildiğin birşey yok. Parkta yürüyüşe çıkmış takılıyorsun… Bu tür ziyan projeleri sona erdirmek için bu yazıların dikkate alınması lazım. Çünkü genel mantık hala “ben hele bir oyunun ortamını yaratiim, gerisi gelir nasılsa”. Sanırım senin de bu yazıları yazmandaki neden bu olsa gerek.

    Sen tetris örneği veriyorsun, ben daha çok pacman’i severim. Herkese o kadar ilkel ve o kadar yapılması basit gelir ki, ben her oyun programcısı olma hayalindeki gence ilk olarak bir pacman klonu yapmasını öneriyorum. “Ne var canım pacman’de, tiled bir labirent, şapşal yaratıklar” diye lafa başlayan gençlerin akşamına path finding tutorialı okuyor olması hep hoşuma gitmiştir 😉

  2. arda on 06.12.2009

    eheh evet, emir’in söylediklerine katılıyorum. sene 1990, basic ile bir pacman klonu yazdım. o zaman . “Ne var canım pacman’de, tiled bir labirent, şapşal yaratıklar” diye başladığım macera bittiğinde sanki halflife2’yi tamamlamışım gibi bir hisse kapılmıştım. Oyunu gösterdiğim arkadaşlar ve kadıköydeki satıcılar bir bakıp burun kıvırdığında ise, ulen bu iş göründüğünden de zor demiştim elbetteki.

    Tabii bu beni yıldırmadı, bakın hala burada konuşuyorum.

    Bu konuda pek fazla türkçe kaynak yok. Ama oyun tasarımı konusunda her tasarımcının “Eğlence teorisi” konusunda bilgilenmesi gerekmekte. Son zamanlarda konu ile ilgili okuduğum akademik yazılarda da farkettiğim bir başka öge de, özellikle toplu oynanan oyunlarda oyunun insanlara üzerinde konuşacak ve tartışacak birşeyler vermesi gerektiğidir. Belki bir giz ya da gizemler serisi, ulaştıkça ulaşamayanlara ballandıra ballandıra anlatacağın ödüller…

    Neyse bu yazı güzel oluyor, aklımdaki dağınık parçalar toparlanmış ve ortaya konmuş gibi geliyor, eline sağlık nightlord.

  3. Nightlord on 06.17.2009

    Emir: Oyun yapımında realistik hedef seçme konusunda benim de yıllardır fikrimi oluşturan en temel makalelerden biri, Gamedev’de Geoff Howland’in “How do I make games? A Path to Game Development” yazısı idi. O yazıda da bu işlere kalkışan her kişinin ilk olarak şu dört oyunu yapmasını önerir. Tetris, Breakout, Pacman ve Mario. Bu 4 oyunun her biri sırayla yapıldığında, programcı her aşamada bazı önemli oyun yapım yetenekleri kazanır (ki senin de belirttiğin gibi Pacman stepinde AI ile tanışır programcı).

    Zaman içinde Howland’in önerdiği dört oyunla başlamak konusundaki düşüncelerim çok çok az da olsa biraz değişti ama hala büyük ölçüde katılıyorum. Ben bundan çok küçük farklar içeren bir yol öneriyorum. Bununla ilgili yazacağım önümüzdeki günlerde.

    Bu arada ben de Pacman’deki teamwork AI’ın hastasıyımdır, belirtmeden geçemeyeceğim :)

  4. Nightlord on 06.17.2009

    Arda: Senin de söylediğin gibi bir oyunun nasıl eğlenceli kılınacağı konusu kritik bir konu ve bu konuda çok da fazla Türkçe kaynak yok. Hatta aman aman bir miktarda İngilizce kaynak olduğu da söylenemez. En azından örneğin programlama veya grafik gibi dallarla kıyaslandığında bir avuç makale ve bir avuç kitap olduğunu söyleyebiliriz. Bu konularda yazdığım yazılarda genel olarak yüksek sesle düşünme ve bulabildiğim, yaşadığım şeyleri paylaşma şeklinde bir ton tutturmaya çalışıyorum.

    Bir de MMO’lar gibi nispeten yeni oyun formları, ayrıca Wiimote ve Project Natal gibi yeni etkileşim modları da bu konuda bildiğimiz şeylerin geçerliliğini zorlayıp yeni imkan ve problem öbeklerini getiriyorlar. Sanırım bizim yapabileceğimiz tek şey bu konularda tartışmaya ve deneyler yapmaya devam etmek.

Leave a Reply