Online Oyun Yapımı: Teknolojiler ve Mantık
Tarih: Haziran 3rd, 2009 | Yazar: Ertuğrul Erkan | Kategori: Makaleler | Etiketler: online oyun, online oyun yapımı, online oyun yapma, oyun programlama, oyun yapımı, php ile oyun | 11 Yorum »Merhaba arkadaşlar. Bugün online oyun konulu yazı isteğinde beşincisini aldım ve yazmaya karar verdim. Anladım ki birçok insan oyun yapımı konusunu çok merak ediyormuş. Aslında öyle şatafatlı birşey değil.Yazacağımız oyun wordpress’ ten bile daha az satır gerektiyor. Neyse ben yinede sizlere mantık ve teknolojiler konulu birşeyler anlatacağım.
Bundan iki ay önce yeni bir oyun daha yazdım. Amacım yeni teknolojileri test etmekti. Tek tek neler kullanabilirim diye baktım ve oldukça geniş bir yelpaze gördüm. Her zaman olduğu gibi php & mysql kullandım. Bunun yanında JQuery ve RIA konularına uygun olan Flex vardı…
Kullanıcılarınız sizden tam anlamıyla bir oyun bekliyor olabilir. Bu gibi durumlar için çıtanızı her zaman yüksekte tutmakta yarar var. Yani matematikteki gibi sayıların en ufağına uyarmala değil; en üstüne uyarlama yapmalısınız. Örnek vermem gerekirse; oyuna bağımlılık için yetenek özelliği koydum. Kişi seviye arttıkça yetenekler kazanacaktı. Şimdi en başta ezilen karakter bir süre sonra seviye atladıkça istediğine ulaşacaktır. Bu süre zarfında da oyuna bağlanmış hale gelecektir…
İşte en önemli adım oyuna bağımlılık. Kişiyi kolay yollardan üst seviyelere çıkartmamalısınız. Yapacağınız her türlü hamle bir algoritma üzerinden gitmesi lazım. Yani kişinin bir seviye alabilmesi için ; ((guc+tecrube)*itibar)/seviye gibi bir tür matematiksel işlem koymalısınız. Bu sayede sadece tecrübe değil; oyunun kendisinden zevk almayı gerektiren tüm işlemler yapıltılmış olacaktır. Bu noktadan bakınca kişi tecrübe kazanmak için eğlenmek zorunda kalacaktır…
Kullanacağımız teknolojilere gelirse; anlık iletişimi sağlayacak bütün teknolojilerin içerisinden en kolay yüklenen ve işlem yapılanı seçmek akıllıca. Çünkü zaten sunucuya aşırı yükleneceksiniz; bunun yanında kasan bir programlama iyice durumu kötüye götürebilir. Jquery kullanmamın sebebi interaktif tüm işlemleri gerçekleştirmesiydi. Binlerce eklenti içerisinden birkaçını seçtim ve Php sistemime uygun hale getirdim. Unutmadan Php kısmı tamamen OOP mantığına göre yazılmıştı. Hatta ve hatta veri iletişimini sağlayan Ajax kodlarımı da tek bir fonksiyon halinde yayına sokmuştum. Önemli olan güzel ve az satırda yazmak.
Jquery yanında Flex de kullandım. Çünkü Flash teknolojileri sayesinde kullanıcı tamamen bir bilgisayar, bir ortam havasına girecektir. Normal Flash yerine Flex kullanmamın sebebi ise Flash ın HTML Flex in ise HTML + AJAX gibi olmasıydı. Kullanıcıya tamamen bir sanal ortam oluşturduktan sonra geriye tek amaç kalıyor ki bu da sistemin algoritması…
Google amcanın ünlü olmasını sağlayan ve diğer arama motorlarından ayıran en büyük özelliği PageRank algoritmasıdır. Stanford üniversitesi üzerine kayıtlı olan bir algoritma bütün sistemin yapı taşlarından biri. İşte bizde böyle bir algoritma kuracağız ki kişilerin merakı artsın; yapının nasıl işlediğini bulana kadar bağılılıkları artsın. Yukarıda örneğini verdiğim gibi bir sistem kurarsanız interaktif katılımın yanında bilinçsiz oynayış gelebilir. Yani kullanıcı önünü görmeden devam eder ve bir süre sonra seviye atlar. Bunun yerine görünür tecrübe puanı yaratılmalıdır. Yani üstteki puanı alarak yüzdesel değerle kullanıcıya vermelisiniz. Bu sayede o arttıkça kişi de neyin neye yaradığını anlar…
Bazı arkadaşlar hazır sistemleri tanıtmamı istemişler. Arkadaşlar piyasada ücretsiz olarak dağıtılan bütün sistemlerin çok kritik açıkları bulunuyor. Mesela şu anda ünlü olan bir mafya oyununu bizzat test ettim ve en ufak bir değer yanlışında bana bir sürü cephane verdi. İşte böyle bir durumda oyunun yapısı çökmüş demektir. “Açık Beta” sürümlerde bunun çözülmesi şart ama sistemde bir defa hata yakalayan aç gözlü kullanıcılar vazgeçmeyecektir. Velhasıl sizlere hazır sistemleri pek önermiyorum. Çünkü çoğu basit. Yukarıda verdiğim şartların birçoğuna uymuyorlar…
Şimdilik bu kadar arkadaşlar. Daha sonra tekrar görüşmek üzere…
Benzer Yazılar;
- Online Oyun Yapımı: İşleyiş Düzeni Kuruyoruz...
- Online Oyun Yapımı: Beta Süreci
- Online Oyun Yapımı: Yönetici Olmak
- Online Oyun Yapımı: Oyuncuyu Oyuna Bağlayalım
- Online Oyun Yapımı - Off bu nedir yav?

güzel bir yazı olmuş, beğendim
Ama şöyle bir şey var.Eğer bir online oyun yapılcak ise Mysql veri tabanıyla yola bence çıkılmaz.Çokta iyi bir veri tabanı sistemi değil mysql.PHP ile bağlanılabiliyormu bilmiyorum am MSSQL kullanmak daha iyidir.Tabii php ile bağlanılsa bile ne kadar performanslı çalışır orası bilinmez.En iyisi ASP.NET+MSSQL kullanmak.
Php nin gücünü alsa hafife almayın. Javascript Apiler geliştiriliyor şu anda ve çokta iyi uyum teknolojileri var. Tabi doğru söylüyorsunuz Mysql yerine Mssql kullanılmalı ( Evet bağlanma mümkün. Birkaç ufak değişiklikle bağlanılıyor ) . Ama illa da her projede Asp.net kullanılması gerekmez…
Şahsi olarak Php nin kendi performanslarını test ettim. Unutmayalım ki artık Php ile geliştirilen çok büyük projelerde var…
Ben zaten Php’yi küçümsemiyorum.Benim söylemek istediğim Mysql yerine Mssql kullanımınız daha doğru olması.Ama Php’nin mssql ile tam uyumlu çalışabildiğini bilmediğim için Asp.NET kullanılmalı dedim.Bu arada sizde Asp.NET’i hafife almayın derim.
Hhehhe
Asp.Net tabi ki de asla küçümsenemez bir dil. Bunu kabul etmek bir zorunluluk
Yalnız her projeyide onunla yapmak gerekmez ( yukarıda da belirttiğim gibi ). Php birçok sistem ile uyumlu zaten. Sonradan geliştirilen sınıflarda buna dahil durumda
Tabiiki her proje Asp.NET ile yazılamaz.Mesela Facebook’un asp.NET ile yazılması imkansız gibi birşeydir.Ama php ile yazılabiliyor hemde en alası.Yani öyleki Php bir sistem olan Facebook’a .NET ortamı üzerinden uygulama geliştirilebiliyor.Ama özellikle B2B uygulamalarda Asp.NET baya öne çıkıyor.
Aslında çok doğru bir noktaya parmak bastınız; hangi teknoloji gerekiyorsa onu kullanmak günümüzde şart gibi. Bütün diller ortak bir noktada buluşuyor gibi; Javascript. Aslına bakarsanız birbirlerine bağlı şekilde; tam bir API geliştirmek için böyle yöntemler kullabiliriz.
Çünkü bütün diller farklı bir yerde performans gösteriyor. Php esnek yapısı sayesinde popüler hale geldi. Fakat .NET gibi kendini kabul ettirmiş teknolojiler de bütün bir API nin iskeletini oluşturacak güçte…
Yorumlar için teşekkürler…
Aslında sizde doğru bir noktaya değindiniz Javascript olmadan brişey olmaz.
Ba arada gerçekten güzel bir siten var çok yararlı makalelerle dolu.Bir kaç kere internette görmüştüm bu siteyi.Şimdiden kaynak siteler arasına girmiş gibi görünüyor.İyi bir yazar ekibi kurulup başka kategorilere’de el atılırsa Türkiye’nin kalbur üstü programlama sitesi olabilir.
Teşekkür ediyorum hocam. Birkaç ortak arayışım olmuştu zamanında fakat bulamadım. Özellikle C# ve Asp.Net konusunda yazarlar arıyorum.
Yakında 1 yaşımıza gireceğiz. Umarım herkese yararlı bir site olmuştur…
evet güzel yazı olmuş, elinize sağlık..