Oyun Programlama

OYUN PROGRAMLAMA
Android İşletim Sistemi
Android; Google ve Open Handset Alliance tarafından, mobil cihazlar için geliştirilmekte olan, Linux tabanlı özgür ve ücretsiz bir işletim sistemidir. Sistem açık kaynak kodlu olsa da, kodlarının ufak ama çok önemli bir kısmı Google tarafından kapalı tutulmaktadır. Google tarafından ücretsiz olmasının sebebi, sistemin daha hızlı ve çabuk gelişmesi, birçok popüler marka tarafından kullanılması ve bu sayede reklamlarını daha fazla kişiye ulaşmasını sağlamaktır. Google, Android sistemi üzerinde çalışan Google Play marketteki oyun ve uygulamalar üzerinde aldığı reklamları yayınlayarak para kazanmaktadır. Android'in desteklenen uygulama uzantısı ".apk"dır.  Android, aygıtların fonksiyonelliğini genişleten uygulamalar yazan geniş bir geliştirici grubuna sahiptir. Android için hali hazırda 1 milyondan fazla uygulama bulunmaktadır. Google Play Store ise, Android işletim sistemi uygulamalarının çeşitli sitelerden indirilebilmesinin yanı sıra, Google tarafından işletilen kurumsal uygulama mağazasıdır. Geliştiriciler, ilk olarak aygıtı, Google'ın Java kütüphanesi aracılığıyla kontrol ederek Java dilinde yazmışlardır. Open Handset Alliance, 5 Kasım 2007'de Android' i kurduğunu duyurmuştur ve ardından 34 adet donanım, yazılım ve telekom şirketi, mobil cihazlar için telif hakkı olmayan bir işletim sisteminin teknolojinin gelişimi için yararlı olduğu konusunda hemfikir olmuşlardır. Android, Linux çekirdeği üzerine inşa edilmiş bir mobil işletim sistemidir. Bu sistem ara katman yazılımı, kütüphaneler ve API C diliyle yazılmıştır. Uygulama yazılımları ise, Apache harmony üzerine kurulu Java-uyumlu kütüphaneleri içine alan uygulama iskeleti üzerinden çalışmaktadır.

Sprite Nesnesi ve Özellikleri
Sprite, bilgisayar grafiklerinde daha büyük bir sahneye entegre edilmiş iki boyutlu bir bitmaptır.
Başlangıçta sprite donanım ile arka plan gibi diğer öğeler ile birbirlerine birleştirilen bağımsız nesneler idi.[1] Bu, her bir tarama çizgisinin bir ana ekran işlemcisi olmadan ve bir tam ekran çerçeve tamponuna ihtiyaç duymadan CRT gibi video çıkış cihazı için hazırlandığında gerçekleşir. Spritler, donanım oluşturma işlemi sırasında kullanılan nitelikleri ayarlayarak konumlandırılabilir veya değiştirilebilir. Donanımsal spriteye sahip sistemler arasında Atari 8-bit ailesi, Commodore 64, Nintendo Entertainment System, Sega Genesis ve 1980'li yılların jetonlu atari makineleri yer almaktadır.

Fizik Motorunun Temelleri
Fizik motoru, video oyunlarında ve simülasyon yazılımlarında kullanılan, üç boyutlu nesnelerin geometrilerinin kesişim testleri ve bu gibi fiziksel etkileşimlerini test eden bir yazılımdır. İçinde birçok fizik formülü tanımlıdır. Video oyun motorlarının bir parçasıdır. Video oyunlarında ve çeşitli simülasyon yazılımlarında kullanılırlar, üç boyutlu nesnelerin geometrik kesişimlerini test ederler. Fakat yöntemler yani kullanılan algoritmalar çeşitlidir. Bazı fizik motorları nesnelerin kutulanmış ve kürelenmiş geometrik sınırlarını denetleyerek kesişim testini gerçekleştirirler, bu dünyada yaygınlıkla kullanılan yöntemdir, ayrıca çok basit bir algoritma yapısı vardır. Lakin, bu basit yöntemler nesnelerin gerçek davranışlarını yansıtmazlar. Bundan dolayı video oyun motorlarından farklı olarak, simülasyon yazılımlarında daha gelişmiş ile geometrik kesişim testleri gerçekleştirilir. Fizik motoru, video oyunlarında ve simülasyon yazılımlarında gerçekçiliği belirleyen en büyük unsurlardan biridir. Ücretli olanların değeri onlarca dolardan yüzbinlerce dolara kadar varabilir. Fizik motoru olarak isimlendirilen yazılımların ücretli olanları olduğu gibi ücretsiz ve açık kaynak kategorisinde olanları da vardır. Örneğin "Half Life 2" adlı video oyunu "Havok" adlı ücretli bir fizik motoru yazılımını kullanmıştır.

Sensör Kullanımı
Günümüzde pek çok cihaz üzerinde hareket sensörleri eklenmiş halde satılmaktadır. Bu sensörler cihazın çeşitli eksenlerde yaptığı hareketleri takip ederek uygulamaya bildirir ve kullanıcının hareketine göre bir eylem gerçekleştirilmesini sağlar. Özellikle son dönemde yarış ve FPS (First-person shooter) türündeki oyunlarda cihaz hareketiyle oyun karakterlerinin kontrol edilmesi bu sensörler sayesinde gerçekleşir. Biz de bu bölümde sizlere bu sensörlerin kullanımına dair basit bir örnek sunacağız.
Sol yanda örnek proje kodlarını indirebileceğiniz uygulamada amacımız, öncelikle sensörden gelen veriyi takip etmek olacak. Bunun için sensör verisine ihtiyaç duyduğumuz sınıfta Sensor Event Listener sınıfını gerçeklememiz gerekiyor. Bu şekilde sensörden gelen verileri izleme şansı elde ediyoruz.
 
Temel Yapay Zekâ Kullanımı
Yapay zekâ, bir bilgisayarın veya bilgisayar kontrolündeki bir robotun çeşitli faaliyetleri zeki canlılara benzer şekilde yerine getirme kabiliyeti.[1] İngilizce artificial intelligence kavramının akronimi olan AI sözcüğü de bilişimde sıklıkla kullanılır. Yapay zekâ çalışmaları genellikle insanın düşünme yöntemlerini analiz ederek bunların benzeri yapay yönergeleri geliştirmeye yöneliktir. Bir bakış açısına göre, programlanmış bir bilgisayarın düşünme girişimi gibi görünse de bu tanımlar günümüzde hızla değişmekte, öğrenebilen ve gelecekte insan zekâsından bağımsız gelişebilecek bir yapay zekâ kavramına doğru yeni yönelimler oluşmaktadır. Bu yönelim, insanın evreni ve doğayı anlama çabasında kendisine yardımcı olabilecek belki de kendisinden daha zeki, insan ötesi varlıklar meydana getirme düşünün bir ürünüdür.


Yorumlar

Bu blogdaki popüler yayınlar

VLSI Devre Tasarımı

Yapay Sinir Ağlarına Giriş

İnsan Bilgisayar Etkileşimi