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:
- Dosyayı gerçek zamanda kendimiz çözümleriz ve gerekli komutları yürütmeye çalışırız.
- Interpreter (Yorumlayıcı) şablonunu kullanırız.
- 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.

