XNA etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
XNA etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

9 Ekim 2011 Pazar

Projeye İçerik (Content) Eklenmesi ve Çizdirilmesi

Bir projede en önemli bileşenlerden biri de içeriktir. Hatta öyle ki, büyük oyunlarda (3 GB gibi) içerik projenin %99.99'unu kaplar. Çünkü çalıştırılabilir program olarak adlandırılan .EXE dosyaları sadece basit derlenmiş koddan başkasını içermez (gömülmüş içerikler hariç).

İçerik dosyaları o kadar gelişmiştir ki bazıları kod bile içerebilir. Bazen sadece kod içeren içerik dosyalarımız da olabilir. Bunlara script deriz. Bunları işlemek için kendimiz bir işleyici yazmamız gereklidir. Kendi script dilimizi yazmak istiyorsak önümüzde üç yolumuz vardır:
  1. Dosyayı gerçek zamanda kendimiz çözümleriz ve gerekli komutları yürütmeye çalışırız.
  2. Interpreter (Yorumlayıcı) şablonunu kullanırız.
  3. Parser Generator (Çözümleyici Üretici) kullanırız.
Bu üç seçeneği de kullanmak işimize gelebilir. Küçük çaplı ve çözümlemesi kolay bir dil tasarlamışsanız birinci seçenek çok daha iyi olacaktır. Fakat biraz genişletilebilirlik ve düzen istiyorsanız artık ikinci seçenek sizin için daha iyi olacaktır. İkinci seçenek script dilleri için yeterli olabilir. Fakat gerçekten günümüzde kullanılan programlama dillerine (Java, C++ gibi) yakın bir dil tasarlamak istiyorsanız üçüncü seçenek kaçınılmaz olacaktır. Oyunlarda genellikle ikinci seçenek kullanılmakla beraber bazı büyük oyun motorlarında üçüncü seçeneğinde kullanıldığına rastladım.

Bu kısımda iki boyutlu ve üç boyutlu içeriğin nasıl eklenileceğini göstermeye çalışacağım. İlk olarak iki boyutlu içerik ile başlayalım:

Bir önceki bölümde oluşturduğumuz projenin alt projesi olan içerik projesine Add>Existing Item... seçeneği ile diskimizde olan içerikleri ekleyebilir.

Oyunun içerikleri içerik projesine (Content Project) eklenir. Örnek olarak bir iki boyutlu doku (texture) dosyası ekleyelim.

5 Ekim 2011 Çarşamba

XNA 4.0 ile 3D Oyun Programlamaya Giriş

Bu bölümde boş bir XNA 4.0 projesi oluşturmanın adımları ile başlayacağım. İlk önce gereksinimlerden bahsedelim:

Sistem Gereksinimleri
  • Windows Vista SP2 ve üstü
  • En azından Shader Model 1.1  ve DirectX 9.0c destekleyen bir grafik kartı

Gerekli Ortam ve Kütüphaneler
  • Visual Studio 2010 Express Edition (C#)
  • .NET Framework 4.0
  • XNA Framework 4.0
  • Bu sistem, ortam ve kütüphane şartları sağlandıktan sonra artık projemizi oluşturabiliriz.

Gerekli Programlama Bilgisi
  • C# .NET (4.0 ve sonrası)

VISUAL STUDIO 2010 EXPRESS EDITION (C#)

Visual Studio XNA projeleri geliştirmek için gerekli tümleşik geliştirme ortamıdır (TGO, ing. IDE). Microsoft firması tarafından tavsiye edilen sürüm bedava olan Express Edition'dır. Bu yayın serisinde C# ile geliştirme yaptığım için Visual Studio Express Edition C# indirilmelidir.

 .NET Framework 4.0 ve XNA Framework 4.0

Şu anda kullanılan ve destek verilen en son XNA framework sürümü 4.0'dır.  Aslında 3.0 sürümü olmasına karşın bu sürümde çok önemli optimizasyonlar yapılmıştır. XNA Framework 4.0 en az .NET Framework 4.0 ile çalışır. .NET Framework 4.0 zaten Visual Studio 2010 Express Edition ile birlikte ekli olarak gelir.

Yeni Bir Proje Oluşturmak
1) İlk olarak başlangıç sayfasında File>New>Project seçilir. (Bu işlem Ctrl+Shift+N kombinasyonu ile de kısaca yapılabilir).


2) Burada Visual C# kategorisinden Windows Game (4.0) seçilip projeye adı koyulur. Ben örnek olarak TutorialProject ismini tercih ettim.

17 Eylül 2011 Cumartesi

XNA Race Game

Oyun projem için bir Facebook sayfası hazırladım buradan bakabilirsiniz.


Yakında oyunda kullandığım teknolojiler hakkında blog yazmaya başlayacağım. Özellikle işleyeceğim konu başlıkları şöyle:

Temel
  • XNA 4.0 ile temel bir proje nasıl oluşturulur
  • Yardımcı sınıflar (RandomHelper, InputController)
  • Temel lineer cebir ve oyundaki uygulamaları*
  • Oyuna içerik eklemek (2D Texture, 3D Model, Effect, Sound)
  • Modelleri sınıflar ile temsil etmek (ModelManager, StaticModel, AnimatedModel, SkinnedModel)
  • Kamera, ışıklandırma ve özel efektler (HLSL) *
  • 2D ve 3D birlikte çizdirme ve 2D textureları 3D ortamda çizdirmek (Billboard Effects)
  • Yer şekilleri oluşturma (Terrain Generation)*
  • 2D Animasyon*
  • 3D Animasyon
  • 3D Ses*
Extra
  • Screenshot capturing
  • 3D Studio Max'ten XNA 4.0 için model çıkartma
  • XNA 4.0 için kurulum projesi
  • Tasarım şablonlarının oyundaki kullanımlarının listesi
  • Geliştirme boyunca karşıma çıkan sorunlar ve çözümleri
* Bu konular hakkında ayrıca çalışma yapmadan yayın yapmayacağım

14 Eylül 2011 Çarşamba

Açık Kaynaklı 3B Oyun Projesi Hakkında

Son zamanlarda oyunumu açamayanların sayısı artınca söylemeyi unuttuğumu farkettim:

Oyunum XNA 4.0 Framework kullandığı için ilk önce bu framework'ü kurmanız gerekli.
Buradan indirebilirsiniz.

XNA 4.0 Framework de .NET Framework 4.0 kullandığı için ilk olarak onu kurmanız gerekli. Onu da buradan indirebilirsiniz.

6 Eylül 2011 Salı

Açık Kaynak Kodlu Oyun Projesi

Bugün itibariyle 2 haftadır uğraştığım XNA tabanlı 3B yarış simulasyonumu Google Code ile yayınlamış bulunuyorum. Projeme buradan erişiblirsiniz. Ayrıca ilerleyen zamanlarda projede kullandığım irili ufaklı teknolojileri (middle-ware) de açıklayacağım.

19 Ağustos 2011 Cuma

XNA ile bir hafta

Bugün itibariyle bir haftadır XNA ile uğraşıyorum. Ancak bugün yavaş yavaş animasyonları kontol eden sınıflar yazmaya başlayabildim. Ufak bir yarış simulasyonunun da en önemli kısmı bitti. Tam anlamıyla oynanabilir olduktan sonra burada yayınlayacağım. Eğer ilgilenen olursa indirip eleştirilerini yorum olarak bırakırsa sevinirim.
Ayrıca başarabilirsem bir ayın sonunda XNA hakkında tamamen uygulamaya yönelik çok genel amaçlı olmayan bir tutorial dizisi de yayınlamayı düşünüyorum (İngilizce ve Türkçe olarak). Sizce yararlı olur mu?