Apakah ide yang bagus untuk menyederhanakan mesin gim yang digerakkan oleh karakter ke titik di mana tidak perlu mempelajari scripting / pemrograman?

9

Saya ingat, dan saya masih berpikir, bahwa seseorang bahkan tidak dapat membuat game 3D prototipe untuk menguji perilaku sederhana tanpa menggunakan alat raksasa seperti persatuan atau mengetahui pemrograman C ++ yang luas, pola desain, mesin 3D yang layak atau dasar, dll.

Sekarang saya bertanya-tanya, karena saya tahu pemrograman, apakah saya bahkan lebih beruntung daripada mereka yang perlu belajar pemrograman sebelum tahu bagaimana membuat sesuatu. Bahkan mesin yang ditulis seperti Unity bukan untuk anak-anak, dan menurut saya mereka cenderung mendikte cara mereka melakukan sesuatu. Ini tidak terjadi dengan mesin seperti Ogre atau Irrlicht.

Sekarang saya berpikir bahwa permainan berbasis karakter menempati sebagian besar pasar permainan. Apakah Anda pikir itu ide yang baik untuk membuat mesin game berorientasi karakter yang hanya memungkinkan pembangunan AI dengan mengesampingkan hal lain?

Ketika saya mengatakan prototipe, saya juga berarti "generik" dalam arti bahwa seseorang dapat dengan cepat memilih dari seperangkat parameter gameplay seperti manajer adegan, POV kamera pemain, kontrol, beberapa tabrakan / fisika yang sangat mendasar, dan integrasi kemudi dasar (OpenSteer misalnya). Gagasan utamanya adalah membuat AI kotak pasir tetapi dalam 3D, sehingga dapat didemonstrasikan tanpa kendala 2D (dan juga membuatnya lebih cocok untuk prototipe dalam 3D untuk proyek 3D daripada 2D).

jokoon
sumber
Mesin 3D 'dasar' tidak besar, dan C ++ mengerikan untuk prototipe. Coba Python untuk itu.
Bebek Komunis

Jawaban:

6

Saya sangat suka mesin game yang kurang dihargai di Blender. (http://www.blender.org) Model sensor-controller-actuator benar-benar mudah diikuti bahkan untuk non-programmer, dan dimungkinkan untuk membuat game yang cukup lengkap (memindahkan karakter animasi, menembakkan senjata, menghancurkan target) , tampilkan skor, pantau kesehatan, setel ulang level, atau pindah ke yang baru) tanpa pemrograman apa pun.

Tentu saja, beberapa hal memang memerlukan pemrograman (terutama mendapatkan input mouse untuk FPS.) Namun, blender sudah memasukkan Python, dan skrip Python terikat dengan sangat baik ke dalam model sehingga Anda tidak perlu mengganti sensor-aktuator dengan Python. Sebagai gantinya, Anda hanya beralih dari pengontrol 'pass-through' yang sangat sederhana ke skrip Python lengkap yang dapat membaca semua sensor dalam adegan dan memberikan kontrol ke semua aktuator.

Sangat mungkin untuk membuat prototipe game dalam beberapa hari di Blender (saya melakukannya untuk proyek di museum anak-anak lokal tahun lalu.)

Tentu saja, tidak ada yang menggantikan pengetahuan pemrograman yang baik, dan pada akhirnya, pengembang tidak perlu memahami pemrograman.

Dua pi
sumber
Itu akan sangat bagus untuk menggunakan mesin permainan ini dengan kode alih-alih kotak ... mungkin itu tidak cukup bersih untuk digunakan, tapi saya ingin tahu ...
jokoon
4

Terlepas dari mekanisme input, pada akhirnya Anda masih perlu mengatur semacam cara untuk memberi tahu permainan apa logika itu. "Scripting" adalah istilah sehari-hari yang baik untuk ini. Jadi pada dasarnya saya tidak setuju dengan pernyataan bahwa Anda dapat menyederhanakan sesuatu ke titik di mana Anda tidak perlu tahu "scripting".

Karena itu, tidak semua skrip perlu dilakukan dengan bahasa pemrograman berbasis teks. Ada beberapa pekerjaan (tetapi tidak banyak) untuk membuat sistem scripting visual. Alat scripting tingkat Unreal, Kismet, adalah contoh yang cukup bagus. Mesin sumber memiliki mekanik yang serupa, tetapi menggunakan entitas di dunia alih-alih pada bidang datar.

Pada dasarnya Anda memiliki kotak yang Anda tarik di beberapa jenis lingkungan yang memiliki input dan output. Jika Anda memerlukan semacam output percabangan Anda memiliki beberapa kotak yang memiliki satu input dan beberapa output. Keluaran tersebut dapat menuju ke tindakan yang memiliki data yang terkait dengannya (yaitu "pindah ke titik ini", "katakan baris ini", "ajukan pertanyaan ini", dll.). Biasanya halangan yang secara signifikan lebih rendah untuk masuk untuk mendapatkan sesuatu dan berjalan dalam bahasa visual karena Anda tidak perlu tahu kata kunci atau sintaksis, Anda hanya memiliki satu set kotak terbatas untuk memilih dari mana semua telah mendefinisikan perilaku, dan Anda hanya hubungkan mereka bersama.

Namun menurut pendapat saya bahwa mesin scripting visual tidak sepadan dengan masalahnya. Anda harus bisa berpikir terstruktur dan logis agar berhasil memberi tahu mesin apa yang ingin Anda lakukan. Jika Anda bisa berpikir seperti itu, membuat lompatan dari kotak dengan input / output ke pernyataan percabangan dasar dan panggilan fungsi dalam bahasa scripting bukan masalah besar. Bahkan, setelah beberapa saat bagian visual itu mungkin menjadi penghalang. Plus, ini lebih banyak pekerjaan di sisi mesin. Anda harus melakukan hal-hal seperti mengimplementasikan undo, copy / paste, mungkin memiliki beberapa fitur tingkat yang lebih tinggi untuk mengatur skrip Anda. Dengan bahasa berbasis teks Anda dapat menyerahkan semua itu kepada IDE.

Tetrad
sumber
Maksudmu seperti Unreal Kismet?
DeadMG
1

Secara umum ini akan menjadi trade off. Jika Anda benar-benar ingin menghapus kebutuhan untuk melakukan skrip apa pun, Anda biasanya akan berbicara tentang membuat semacam antarmuka yang akan menyatukan skrip di latar belakang (atau hanya menghubungkan objek logika atau yang tidak). Ada seluruh permainan di mana itu adalah titik keseluruhannya, sebuah lingkungan yang terdefinisi dengan baik di mana Anda menyeret fungsionalitas untuk melihat bagaimana interaksi dengannya.

Namun pada akhirnya, itu akan selalu menjadi trade off .. Semakin mudah Anda mencoba untuk membuat antarmuka semakin sederhana hal-hal yang dibuat melalui antarmuka itu.

James
sumber