Saya belajar membuat mesin game dari awal di XNA. Saya mencari contoh mesin gim yang sangat kecil, khususnya arsitektur dan struktur file sumber, dll. Ini harus mencakup mesin skrip. Artikel juga dihargai.
Lebih khusus, saya punya masalah mengetahui bagaimana menghubungkan mesin skrip ke mesin gim lainnya, seperti memuat model dari skrip.
open-source
Shawn Mclean
sumber
sumber
Jawaban:
The Malaikat Mesin adalah sangat bagus, kecil mesin Open Source ditulis dalam C ++ dan OpenGL. Plus itu memiliki antarmuka skrip Python. Meskipun mesinnya tidak ditulis dalam C # itu harus memberi Anda beberapa petunjuk dan ide, dan dari sedikit saya bermain dengan itu kode sangat bersih dan mudah dimengerti bahkan jika Anda tidak sepenuhnya pada C ++.
sumber
Saya suka buku Programming Role Playing Games with DirectX (2nd edition) untuk bagian scripting-nya; Saya belum benar-benar melihat tutorial mulai-ke-selesai tentang cara membuat mesin scripting di tempat lain. Dan tentu saja, menjadi sebuah buku, itu akan memandu Anda melalui langkah-demi-langkah menciptakan bagian skrip mesin (dan seluruh sisa mesin gim yang ia buat di seluruh buku, tentu saja). Sayangnya kode sumber tidak tersedia online.
Setelah Anda memiliki mesin skrip, saya akan memisahkan model 3D dari skrip . Skrip biasanya dalam sisi logika hal-hal, sedangkan model 3D paling pasti sisi presentasi / tampilan hal, dan mereka tidak boleh benar-benar dicampur. Saat skrip memerintahkan karakter untuk "berjalan ke (3,5)", skrip tidak perlu mengatakan "memuat animasi berjalan, setel kecepatan ke (-1,1), tunggu 3 detik, setel kecepatan menjadi nol, muat idle animasi "; Anda biasanya hanya memiliki
walkTo(x,y)
fungsi yang tersedia untuk skrip, dan kode perantara akan menangani model 3D, animasi, dll.Tapi hei, jika Anda benar-benar perlu, maka tentukan fungsi Anda sendiri dalam juru bahasa scripting Anda yang mendapatkan model 3D dan melakukan apa pun yang Anda butuhkan dengan mereka. Saya pikir Anda berpikir terlalu jauh ke depan; khawatir dulu tentang menulis juru bahasa skrip sederhana, dan kemudian tambahkan fungsi yang diperlukan ke juru bahasa saat Anda sedang menulis skrip Anda.
sumber