arckép

Neuwirth István

programtervező informatikus MSc – ELTE

Computational and Software Techniques MSc – Cranfield, UK

Elérhetőség
pitta2@gmail.com
+36 30 329 3039

Valid XHTML 1.0 Transitional

Valid CSS!

XNA

Játékfejlesztés egyszerűen, gyorsan, hatékonyan .Net alatt

xna cco logoA játékfejlesztéshez a grafikus hardverek fejlődése miatt egyre több ember, idő és pénz szükségeltetik. Az újgenerációs grafikai tartalmak előállítása több tucat művész sokévi munkájának gyümölcse egy komolyabb projekt esetén. A programozóknak is egyre összetettebb kódbázist kell létrehozni: komplex fizika, mesterséges intelligencia, bonyolult grafikai algoritmusok a minél élethűbb játékélményért. A radikálisan növekvő költségek lefaragásának egyik módja a tartalom automatikus előállítása: tárgyak, textúrák generálása. Erre azonban jelenleg nincsenek általános eszközök, az egyes cégek saját megoldásukat használják. A másik megoldás, ha a lehető legkevesebbet kell programozni, a fejlesztés kreatív részére fordítható az idő. Erre ad megoldást az XNA: egy könnyen programozható fejlesztői környezet egy jól strukturált keretrendszerrel. Ideális költséghatékony fejlesztésekhez, hobbiprogramozóknak, egy-két főből álló garázsfejlesztésekhez.

A XNA beépül a Visual Studio-ba: új projekt létrehozásánál megjelennek a megfelelő sablonok. Visual C# alá települ, azonban bármely CLS-kompatibilis nyelvvel használható. A sablonok között egy játék is található PC és Xbox 360-ra, ami nem véletlen, hisz a XNA Game Studio egyaránt alkalmas mindkét platformra való fejlesztésre és az átjárás minimális változás árán megvalósítható.

A Microsoft.Xna.Framework névtérben fontos alaposztályokat találunk, amelyeket így nem kell külön implementálnunk (mátrixok, vektorok, görbék, stb.). Ebben a névtérben található a keretrendszer egyik fő osztálya, a Game, amellyel az inicializálást, a tartalmak betöltését, a képek kirajzolását menedzselhetjük. Külön névterek osztályai segítenek hangok kezelésében, a tartalmak eltárolásában, a bemeneti eszközök és a hálózat kezelésében. Természetesen emellé a teljes .Net keretrendszer a rendelkezésünkre áll.

Az XNA számos terhet levesz a fejlesztő válláról: a memóriamenedzsmentet a .Net szemétgyűjtője vállalja, a textúrák, modellek betöltését radikálisan leegyszerűsíti, az eszközelvesztés (device lost) esetén automatikusan visszatölti a szükséges tartalmakat, a fent említett osztályok megléte pedig lerövidíti a fejlesztési időt. Emellett hasznos grafikai osztályok állnak rendelkezésre árnyalók használatára: mivel minden shader alapú, egy BasicEffect osztály használható általános árnyalóként. Épp ezért szükséges egy DirectX 9.0c kompatibilis és legalább Shader Model 1.1-et támogató grafikus kártya megléte.

Az XNA 2.0-s verziója szervizcsomaggal rendelkező Visual Studio 2005 vagy Visual C# 2005 Express Edition alá telepíthető. Link: http://creators.xna.com/.