24 Mart 2008 Pazartesi

http://deniz-demir.spaces.live.com

15 Şubat 2008 Cuma

YENI BLOG

Bir suredir blogumda resimler yok ve hatta yazılar da guncellenmedi....
Çünkü anket sonuclarını da goze alarak yeni bir blog hazırlamaya karar verdim, yeni bir adres yeni bir blog.....
Çok kısa bir sure sonra linkini buradan yazacagım :)

04 Ocak 2008 Cuma

Imagine Cup Yazılım Tasarımı Semineri


Imagine Cup Yazılım Tasarımı Kategorisi Seminerine davetlisiniz :)


Seminere katılmak için kayıt olmanız yeterlidir : http://www.msakademik.net/seminer_kayit.aspx?etkinlik_id=232
Tarih: 5 Ocak 2008, Cumartesi
Saat: 14:00 - 18:00
Yer: Microsoft Türkiye İstanbul Ofisi, Marmara SalonuKonuşmacılar: Şahin Ekşioğlu, Kerem Özsü, Imagine Cup 2007 Yazılım tasarımı Türkiye finalisti proje ekibi - İTÜ

02 Ocak 2008 Çarşamba

İTÜ KLASİK MÜZİK KLÜBÜ

4 Ocak 2008 Cuma gunu

Bahçeşehir Üniversitesi - Fazıl Say Salonu (Beşiktaş)

saat 18:30 da

ITU Klasik Muzik Kulubu Oda Orkestrasi konserine hepinizi bekleriz.

Giriş ücretsiz olup, konser oratlama 1 saat 15 dk sürecektir.

Farklı Ayakkabı Tasarımları













Yeni Yılınız Kutlu Olsun

Yeni yılın hepimize mutluluk getirmesi dileğiyle...



12 Aralık 2007 Çarşamba

Oyun Tasarımı ve Imagine Cup 2008 Oyun Geliştirme Kategorisi


Video oyunları her geçen gün eğlence dünyasının vazgeçilmezleri arasında yerini alıyor. Imagine Cup bu sene Oyun tasarımı kategorisiyle öğrencilere hem eğlenceli hem de temamız olan sürdürülebilir çevre konusunda mesaj içeren bir oyun geliştirme fırsatı sunuyor.
Geçtiğimiz günlerde hem bu blogda hem de msakademik web sitesinde duyurulan Oyun Geliştire Seminerine katılma şansı buldum. Oyun sektöründe çok öenmli işler yapan sobee ekibinden oyun programlamada dünyada çok sayıda ödül alan Mevlüt Dinç ve sobee ekibinden Cem Sermen bizimle tecrubelerini paylaştılar. Hatta ben de seminer sonunda 5dk da olsa geçen seneki Imagine Cup maceramızdan bahsettim.Seminere katılamayanlar için sunumlar http://imaginecup.msakademik.net/IC2008_OYUN_DEV.pdf adresinde mevcut. Ancak ben seminerden kendi notlarımla da sizekısaca hangi konualrdan bahsedildiğini anlatmak istiyorum. Bundan sonra düzenlenecek olan kategori bazlı seminerler ile ilgili de özet yazılar yazacağım...
Bilgisayar oyunları ile ilgili bir kaç veri ile başlayalım. 2006 yılında ABD’de yapılan araştırmalara göre video oyunları sektörünün yıllık cirosu 6.4 milyar dolar ve 2007 yılında oyun sektörünün %41’ini online oyunlar oluşturmuş. Rakamların da ifade ettiği gibi oyun geleceği parlak ve sürekli gelişmekte olan bir alan. Peki oyun nedir? Aslında oyun ilk yaşlarımızdan beri bizim için önemli bir ihitiyaçtır. Türü ne olursa olsun günlük hayatımızdan ve meselelerden arınıp başka bir dünyaya dalarız oyun oynarken.
Bilgisayar oyunlarını sınıflandırmak için çeşitleri, hitap ettikleri insanlar gibi bir çok kriter kullanılabilir, ancak en önemli sınıflandırma oyunun kaç kişiyle oynandığı oluyor. Bu kritere göre teknik gereksinimler, planlamalar ve alt yapılar oldukça farklılık gösteriyor.
*Tek kişilik oyunlar *Çok oyunculu oyunlar *Devasa çevrim içi oyunlar
Bilgisayar oyunu geliştirme sürecinde ilk önce düşünülmesi gereken birkaç önemli nokta var.
1-Oyunun hedef kitlesinin belirlenmesi; belirli bir yaş aralığı, bir etnik grup yada aynı özellikleri paylaşan insanlar
2-Bu hedef kitleye nasıl ulaşılacak; (oyunun tarzı) korku, merak, bilgilendirme,eğlendirme
3- Senaryo gereksinimi varsa bunun hazırlanması ;bir kitap, öykü ya da filmden uyarlama yapılacaksa materyallerin toplanması. Ancak her oyunun bir senaryosu olması da gerekmez, örneğin mayın tarlası oyununun herhangi bir senaryosu yoktur ama sıklıkla oynanır :)
4-Kaynakların belirlenmesi; insan kaynağı, para kaynağı, donanım gereksinimleri. Ayrıca oyunun konusuna göre kullanılacak kütüphanelerin belirlenmesi gerekir. Bu asamada sınırların belirlenmesi gerekir, örneğin ekibinizde grafik tasarımı konusunda güçlü bir kişi yoksa oyunun gidişini buna göre şekillendirebilir, mesela uzayda geçmesini düşünebilirsiniz.
Oyunun Geliştirilmesi aşamaları
Oyun kurgusu: Daha önce de bahsettiğim gibi senaryonun, oyunun türünün ve amacının belirlenmesi gerekir.
Oyun içeriği: Oyun dünyasında en önemli noktalardan biri de görsel ve işitsel içeriğin uyumlu ve yeterli düzeyle olmasıdır. Oyun tasarımında garfiklere, 2B veya 3B ortamların hazırlanmasına, animasyonlara, dokuların ve kamera açılarının belirlenmesine verilen önem, konuşmaların hazırlanmasına, müziğe ve ses efektlerine de verilmelidir. Çünkü oyunu oynayan kişinin büyük bir çoğunlukla sadece görme ve duyma bazen de dokunma duyularına hitap edebilirsiniz. Bunların hepsini çok iyi kullanmak başarı sağlamak için önemli.
Görsel içerik hazırlanmasında genellikle önce karakalem çalışmalarıyla karakterler ve doklar belirlenir, ayrıntılı çizimler yapılır. Ardından bilgisayar ortamına aktarırken önce çok ayrıntılı örnek modeller oluşturulur ve son olarak oyun ortamında hem aşırı yer tutmayacak hem de istenen görselliği verecek animasyonlara dönüştürülür.
Oyunun programlanması: Öncelikle oyunun çalışacağı platform seçilmeli ve bu platforma uygun araçlar kullanılmalı. Örneğin oyunun Pclerde Vista ve XP üzerinde çalışmasını istiyorsak XNA farmework kullanmak bize zaman kazandırır.
Program dizaynı: yazılacak dilin seçilmesiyle başlanır. C, C#, C++ ya da hangi dil kullanılacaksa belirlenmelidir ve bu dile uygun kütüphanler belirlenmelidir. Dil seçiminde programcının hakim olduğu herhangi bir dilin seçilmesinin fark yaratmadığı söykenmekte ancak seminerde Cem Bey’in belirttiğine göre son projelerinde C#ve .Net Framework kullanmanın zaman kazanma açısından daha avantajlı olduğunu görmüşler. Uzmanların görüşü bu yönde J Kütüphanelere bakıldığında, DirectX’in OpenGL’e göre çok daha fazla özelliği buluması sayasinde programcıya hız kazandırdığının artık kesin olarak kabul edildiğinden bahsedildi.Hatta verdikleri örneğe göre .Net framework ile yaptıkları son bir projeyi 5 ay gibi bir sürede ortaya çıkarmışlar ancak “bunu başka bir ortamla yapmış olsaydık en az 4 katı zamanda daha düşük kalitede olmak üzere ancak bitirebilirdik” dediler.
Özetlersek oyun programlamada; grafik programlama, ses programlama, network programlama, kullanıcı arabirimi programlaması, yapay zeka gibi alt başlıklar var. Bunların belirli bir sırayla yapılması gerektiğini düşünmek en büyük hata olur. Çünkü oyun şekillenirken bunların paralel olarak devam etmesi çok önemli bir faktör. Örneğin sizin oyun programlarken yaptığınız bir takım fonksiyonlar karakterin şeklinin değişmesini gerektirebilir ya da grafiklerdeki ilerlemeler sizin koddda değişiklikler yapmanızı gerektirebilir. Oyun tasarımında programlama ve tasarım aynı anda devam eden, birbiri ile sürekli iletişim içinde çalışan dallardır.
Yapay zeka ise profosyonel boyutlu oyunlar için çok önemli. Örneğin; hepimizin bildiği quake oyununda birbirine ateş eden iki rakip olduğunda eğer biri hareketli ise internetin hızından dolayı siz ateş ettiğinizde rakibi hedefte görseniz bile o kısa bir süre önce hareket etmiş ve hedefinizden çıkmış olabilir. Oyuncuların bu tarz durumlarda adil yarışabilmeleri için yapay zeka kullanılan bir network ile oyuncunun vurulup vurulmadığına ağbağlantısının etkisi de göz önüne alınarak karar verilmekte.
Kalite Kontrol ve test bütün yazılım konularında olduğu gibi oyunda da çok önemli rol oynuyor. Oyunun beta versiyonları çıkarılarak, demoları hazırlanarak oyunculara denetilmesi ve hataların bulunup giderilmesi en yaygın yöntem denebilir.
Tebrikler artık bir oyununuz var :)
Umarım bu oyunu Imagine Cup 2008 finalleri için tasarlamışsınızdır. Oyun kategorisi kuralları hakkında da detaylı yazılar yazacağım. Kurallar ve başvuru için;
http://imaginecup.msakademik.net/Game_Development.aspx
http://imaginecup.com/Competition/mycompetitionportal.aspx?competitionId=12
Deniz Demir