Saya bertanggung jawab atas klub pengembangan game di sekolah saya dan saya ingin mengerjakan proyek musim panas ini yang dapat saya gunakan sebagai tutorial semester depan. Saya belum pernah melakukan hal seperti ini jadi saya bertanya-tanya apakah ada yang punya garis panduan atau ide.
Yang ingin saya lakukan pada dasarnya adalah membuat game yang sangat sederhana. Sesuatu seperti penembak top-down di mana musuh datang terburu-buru agar Anda membunuh mereka dan mengambil beberapa jarahan. Namun, saya ingin semuanya mudah dimodifikasi. Orang-orang di klub memiliki sedikit pengalaman pengembangan game, jadi jika saya dapat mengatur game saya sedemikian rupa sehingga orang dapat memodifikasi dan menambahkan fungsionalitas dengan mudah, itu akan bagus untuk mereka.
Hal-hal seperti memiliki kelas musuh di mana perilakunya mudah dimainkan, atau membuat senjata menembak secara berbeda / menambahkan senjata baru, dan menjarah baru. Bahkan menambahkan elemen baru ke dalam game. Apa yang akan menjadi cara terbaik untuk membangun game untuk memungkinkan kelenturan seperti ini?
sumber
Jawaban:
Cara tradisional untuk mencapai tujuan ini dalam pengembangan game adalah menggunakan arsitektur berbasis data untuk sistem game.
Pada intinya, ini berarti bahwa kode tidak menerapkan jenis senjata tertentu (senjata) dengan nilai yang ditentukan secara eksplisit untuk jangkauan / kerusakan / penetrasi melainkan mengisi konsep generik dari senjata jarak jauh (jangkauan / kerusakan / penetrasi ...) dari sumber data eksternal (ke kode). Sumber eksternal ini dapat bervariasi dari file parse-mampu (mungkin XML) membaca dari disk, ke file biner atau elemen database yang dihasilkan melalui alat internal atau eksternal ke mesin permainan itu sendiri.
Mendefinisikan sesuatu seperti musuh, sistem AI mungkin dirancang untuk mendukung sejumlah perilaku generik (agresif, defensif, dukungan, pengecut) yang kemudian diubah oleh elemen berbasis data.
Musuh Baru saya, dimulai dengan perilaku AI pangkalan yang agresif dengan nilai-nilai yang digerakkan oleh data untuk: -memutuskan pemain> level saya + X -mengejar pemain hingga unit X di luar titik spawn -mengungsi saat kesehatan <X-prioritas kemampuan terentang-prioritas kemampuan jarak jauh (untuk saat pemain terlalu dekat)
Skema penggerak data yang lebih rumit mungkin memungkinkan definisi titik data tertentu (peristiwa) di mana keadaan AI transisi (mesin keadaan terbatas) ke keadaan lain (atau bahkan peluang untuk beralih ke salah satu dari N negara lain) yang memungkinkan pengguna Anda untuk menentukan hierarki perilaku yang rumit.
Semua ini tentu saja lebih berfungsi daripada sekadar mengkode perilaku secara eksplisit, tetapi merupakan tantangan yang menyenangkan untuk memungkinkan pengguna menghasilkan konten tanpa modifikasi sumber.
Ada poin bonus yang ingin dicapai:
Untuk game tutorial yang ditargetkan sebagai kerumunan yang lebih teknis, sebagian besar pekerjaannya adalah dalam kelas / objek yang dirancang yang mengekspos antarmuka yang bersih bagi pengguna untuk memperluas yang pada gilirannya juga mungkin didorong oleh data.
sumber
Jika Anda mencari beberapa ide tentang bagaimana memulai proyek Anda dan membangunnya langkah demi langkah sehingga dapat dikonversi menjadi tutorial, lihatlah XNA Game Programming Adventures . Penulis memiliki beberapa tutorial yang diatur, dengan penjelasan dan kode sumber yang meningkatkan langkah demi langkah.
sumber
Saya sarankan melihat tutorial Java Game Development di www.thenewboston.com
Ini mungkin bukan apa yang Anda cari dalam hal dudes dengan senjata dan semua jazz itu, tapi itu memberikan rincian langkah demi langkah yang bagus dari sejumlah faktor kunci dalam pengembangan game. Presenter "Bucky" juga memiliki gaya mengajar yang santai dan menyenangkan. Nikmati.
sumber