Tersedia Mesin Game Open Source Kecil untuk tutorial [ditutup]

8

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.

Shawn Mclean
sumber
Hanya karena ketertarikan, mengapa Anda membutuhkan mesin scripting? C # sendiri sudah memecahkan hampir semua masalah yang digunakan mesin scripting untuk menyelesaikannya. Dan XNA sudah menjadi "mesin game yang sangat kecil" yang dapat memuat model.
Andrew Russell
Orang yang bekerja sama dengan saya mengatakan dia menginginkan mesin scripting sehingga dia tidak perlu mengkompilasi ulang game setiap kali ada perubahan dalam cerita.
Shawn Mclean
Asal tahu saja, ada solusi C # murni untuk masalah itu: stackoverflow.com/questions/1353456/… (kompiler C # adalah bagian dari runtime).
Andrew Russell

Jawaban:

2

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 ++.

Muttley
sumber
4

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.

Ricket
sumber