‘oyun’ etiketli içerik

Polonya’daki stajımın son haftasında bilim günü isimli etkinlikte küçük çocuklar için sergilenmek üzere kamera kontrollü küçük bir oyun geliştirdim. Oyunu kullanıcı etkileşimi ve oyun mantığı olmak üzere iki bölümde inceleyebiliriz.

Kullanıcı Etkileşimi
Oyun kontrolünün farklı renklerde başlıklar giyen oyuncuların kuş bakışı bir kameradan alınan görüntüleri aracılığıyla sağlanması amaçlanmaktadır. Ancak test aşamasında kullanım kolaylığı nedeniyle normal kamera ve kullanıcıları temsilen renkli işaretçiler kullanılmıştır.

Her kullanıcı için bir renk aralığı tanımlanmakta ve bu aralığa göre eşikleme uygulanmaktadır. Elde edilen görüntünün ağırlık merkezi bulunarak kullanıcının konumu belirlenmektedir. Ağırlık merkezinin x ve y koordinat değerleri görüntü momentleri kullanılarak bulunabilir. Aşağıdaki formülde I(x,y) görüntünün (x,y) koordinatlarına karşılık gelen piksel değerini ifade etmektedir.

Position(x) = M10/M00
Position(y) = M01/M00

Oyun Mantığı
Oyunda kullanıcılar, oyun nesneleri ve bunların ilişkileri aşağıdaki oyun kuralları çerçevesinde tasarlanmıştır:
(1) Her oyuncu yalnızca kendi rengindeki bayrakları alabilir ve her bayrak için bir puan değeri oyun başlangıcında tanımlanabilmektedir. (2) Bomba ikonu bütün kullanıcılar tarafından alınabilmektedir ve alınması durumunda bütün diğer oyuncular kurulum sırasında tanımlanmış değer kadar puan kaybetmektedirler. (3) Her nesne için belirli bir zaman aşımı bulunmaktadır ve hiçbir oyuncu tarafından yakalanmayan nesneler tanımlanan süre sonunda kaybolmaktadır.

Bu arada telif hakları problem olmasın diye oyun grafiklerini de kendim tasarladım. :)

 

Bu küçük oyunda akademik kariyerin çeşitli aşamalarında önemli bir yere sahip olan tez savunması oturumlarına mizahi bir yaklaşımda bulunmaya çalıştım. :) Oyunda kontrol edilen mezuniyet durumundaki öğrenci, tezi hakkındaki soru yağmuruna cevap yetiştirmeye çalışıyor ve tez savunması sırasındaki performansına göre bir harf notu alıyor.

Başarı oranı öğrenci sorulara zamanında ve isabetli cevaplar verdiğinde yükseliyor, cevaplanamayan soru olduğunda veya isabetsiz cevap verildiğinde ise düşüyor. Sorular bittiğinde oturum sona eriyor ve öğrencinin notu kesinleşiyor.

Oyunu aşağıdaki linkten ücretsiz olarak oynayabilirsiniz:

Hemen Oyna: DefendYourThesis! ]

Bu arada arka plan müziği de kendi parçalarımdan biri, parçanın tamamını aşağıdaki MySpace bağlantısından dinleyebilirsiniz:

Müzik: EnerjiPozitif - Ritmi Dinle ]

8-Puzzle problemi 1’den 8’e kadar sayılarla doldurulmuş ve bir karesi boş olan 3×3 boyutunda bir matrisin istenilen bir hedef duruma getirilmesinin amaçlandığı bir oyun olarak tanımlanabilir. Puzzle üzerindeki elemanların yalnızca boşluk ile yer değiştirdiği (kaydırıldığı) hareketler geçerli kabul edilmektedir.

Çözüm uzayında herhangi bir durumdan en fazla 4 duruma geçilebilmektedir. Çözüm uzayının ağaç yapısıyla ifade edilmesi mümkündür, ancak bu uygulamada sezgisel arama sırasında en küçük durumun bulunmasını kolaylaştırdığı için kuyruk yapısının kullanılması tercih edilmiştir. Bu çalışmada sezgisel arama yöntemi olarak A* algoritması ve sezgisel olmayan arama yöntemleri olarak önce enine arama ve önce derinliğine arama algoritmaları gerçeklenmiştir.

Geliştirilen uygulamayı aşağıdaki linkten indirebilir, çözüm detaylarını yazının devamında okuyabilirsiniz.

[8-Puzzle Çözücü v1.1] (0,4 MB)

Devamını Oku »

Kodlamasını az önce tamamladığım basit bir oyun “Adam Kurtarmaca”. Adam asmaca oyununa iyimser bir bakış açısı… Artık kendimizi kötü hissetmeden, vicdan azabı çekmeden adam asmaca oynayabileceğiz. :) Aslında oynanış olarak adam asmacadan pek farkı yok. Tek fark adam asmacada oyuncu katil,zalim,acımasız bir karakteri oynarken, adam kurtarmacada masumu kurtaran iyi adam rolünde oynuyor. :)

Kaynak Kodlar:

Devamını Oku »

Arşivler
Meta