Apa kelebihan dan kekurangan menggunakan mesin game? [Tutup]

28

Bagaimana saya tahu apakah menggunakan mesin game atau tidak? Saya ingin membuat game 2D yang relatif kompleks untuk Android. Faktor-faktor apa yang harus saya timbang untuk memutuskan apakah akan menemukan, menginstal dan mempelajari mesin permainan atau hanya melakukan semuanya secara manual?

cstack
sumber
Tidak yakin apakah desain game adalah tag terbaik, di sini; tetapi mesin telah dimasukkan daftar hitam. Pertanyaan ini mungkin sebaiknya dihapus saja.
Gnemlock

Jawaban:

25

Keuntungan:

  • Kebanyakan jika tidak semua pengkodean dilakukan untuk Anda, jadi yang perlu Anda khawatirkan adalah konten, tata letak level, dll.

  • Sejalan dengan itu, manajemen memori, pemuatan aset, pencahayaan (dalam mesin yang rumit), dll semuanya telah dirancang dan diuji secara menyeluruh (mudah-mudahan).

  • Seperti disebutkan di bawah ini, jika mesinnya adalah platform silang, Anda harus melakukan sedikit atau tidak ada pekerjaan untuk port game Anda.

Kekurangan:

  • Jika Anda memodifikasi sesuatu, Anda sekarang harus terbiasa dengan basis kode baru.
  • Jika ada bug di mesin, kecuali itu open source, Anda tidak bisa memperbaikinya.
  • Mesin itu tidak dirancang khusus untuk gim Anda, jadi mungkin kurang efisien daripada kode yang Anda tulis khusus untuk gim Anda.
  • Mesin game umumnya tidak gratis.
  • Jika gim kecil, biaya overhead menggunakan mesin mungkin tidak sepadan dengan waktu yang diinvestasikan untuk menulis kode sendiri.
  • Jika mesin permainan Anda juga memiliki editor atau alat, Anda harus membuat dan mengujinya juga sebelum menyerahkannya kepada artis atau mengandalkannya sendiri.

Jangan biarkan fakta bahwa daftar kerugiannya lebih lama: ketika waktu yang dihabiskan mengkodekan dan menguji semua sistem yang Anda butuhkan terlalu lama untuk siklus produksi Anda, atau jika Anda memiliki lebih banyak keterampilan dengan seni daripada kode, menggunakan mesin game adalah pasti ide yang bagus.

Sebuah perbandingan mesin gim sedang dikerjakan dalam pertanyaan ini: Pro dan Kontra dari Berbagai Mesin Game 3D

Sean James
sumber
3
Ini adalah jawaban yang cukup bagus secara keseluruhan, tetapi saya mengerutkan alis saya pada kalimat pertama. Saya akan sangat menyarankan penulisan ulang "Kebanyakan jika tidak semua pengkodean dilakukan untuk Anda" menjadi "Sebagian besar pengkodean tingkat rendah dilakukan untuk Anda"; itu menyesatkan ke titik yang tidak bertanggung jawab untuk mengabadikan mitos "membuat game tidak diperlukan coding!"
jhocking
Selain itu, mesin mungkin membatasi apa yang dapat Anda lakukan dengan mudah - misalnya, hampir semua orang tidak mendukung medan modifikasi gaya Minecraft atau Dwarf-Fortress. Itu bagus untuk gim yang tidak membutuhkannya, tapi semoga berhasil membuat klon Minecraft dengan gim.
user253751
15

Dalam kasus saya, saya menghabiskan banyak waktu (berbulan-bulan) untuk menyelesaikan masalah karena mesin permainan. Saya sekarang biasanya menghindari mereka seperti wabah, meskipun saya mengerti mereka harus digunakan dengan bijaksana dan tidak berlebihan.

Bagi saya, saya akan terobsesi dengan semua kemungkinan ! Melihat daftar panjang fitur di mesin X, itu seperti "Wow saya bisa melakukan semua ini! Permainan saya bisa jadi hebat!" Jadi saya akan mengunduhnya, menjalankan demo dan terpesona oleh fitur-fitur tersebut dalam tindakan, dll. Lalu saya akan membuat proyek baru di IDE saya dan tidak akan tahu harus mulai dari mana. Saya akan menulis beberapa kode, saya bisa belajar dan mendasarkannya pada proyek demo, tetapi itu hanya demo.

Saya tidak tahu bagaimana memulainya dari nol dan menghasilkan sesuatu. Saya tidak tahu langkah pertama. Saya menyukai ide mesin, itu mengesankan saya dan membuat saya termotivasi untuk membuat sesuatu, tetapi pengetahuan saya tentang pengembangan aktual sangat terbatas sehingga bahkan setelah mengetahui bagaimana cara menambahkan mesin ke jalur pembuatan, dan mungkin menulis beberapa baris untuk memulai mesin dan kemudian mematikannya lagi, di luar itu saya tidak pernah membuat sesuatu yang berharga.

Saya jauh lebih dari jenis langkah bayi orang. Saya lebih suka membuat game sendiri selangkah demi selangkah, refactoring keluar fungsi-fungsi yang berguna dan mengumpulkan fungsi-fungsi ke perpustakaan yang suatu hari saya mungkin menganggap "mesin". Jadi untuk sekarang, saya menghindari hype mesin dan tetap dengan hal-hal tingkat rendah.

Dan mesin memiliki tempat mereka. Jika Anda menemukan mesin dan berpikir kepada diri sendiri, "Inilah yang akan saya tulis! Mereka sudah melakukan pekerjaan untuk saya, saya tidak harus menemukan kembali kemudi, dan saya tahu persis bagaimana menghubungkannya ke dalam permainan bahwa saya sudah mulai [atau setidaknya sepenuhnya direncanakan dan siap untuk memulai] "maka itu mungkin cocok. Anda akan tahu persis bagaimana menggunakannya, dan bagaimana menulis kode Anda sendiri untuk menggunakan mesin untuk menciptakan sesuatu yang bermanfaat. Tetapi jika Anda mendapatkan mesin hanya karena memiliki segalanya kecuali wastafel dapur dan Anda pikir Anda berdiri di atas bahu raksasa, Anda sangat keliru. Anda memiliki raksasa berdiri di depan Anda, dan Anda harus memanjat ke atas bahunya.

Jadi kerugian besar bagi saya: jangan terjebak dalam semua hal yang bisa Anda lakukan. Mesin apa pun yang Anda pilih, akan memiliki banyak potensi. Tetapi jika Anda tidak tahu bagaimana sebenarnya memanfaatkan potensi, jika itu tidak membuat hidup Anda lebih mudah atau membantu Anda menyelesaikan pekerjaan Anda, lalu mengapa Anda menggunakannya?

Ricket
sumber
4

Kerugian terbesar dari mesin gim adalah Anda harus mempelajarinya. Jika Anda baru mengenal pemrograman pada umumnya, itu mungkin masih lebih cepat daripada belajar menulis kode untuk melakukan semua hal yang ditangani mesin untuk Anda di luar kotak, tetapi jika Anda berpengalaman maka tidak perlu waktu untuk duduk turun dan mulai coding, tetapi cukup banyak waktu di muka untuk belajar jalan di sekitar mesin asing

Hal terbesar yang harus dicari adalah dukungan, karena mesin permainan tidak sempurna dan mereka tidak membaca pikiran Anda, dan Anda AKAN terjebak pada SESUATU di beberapa titik. Begitu:

  • Apakah ada dokumentasi?
  • Apakah dokumentasinya sebenarnya bagus?
  • Apakah ada dukungan teknis (umumnya tidak, kecuali Anda membayar untuk itu)? Apa waktu penyelesaiannya?
  • Apakah ada forum komunitas di mana Anda dapat memposting pertanyaan dan mendapatkan jawaban nyata?
  • Apakah ada tutorial yang menunjukkan kepada Anda cara mulai menggunakan mesin? Apakah kode sumber sampel disertakan? Seberapa berguna Anda menemukan ini dalam mempercepat?
Ian Schreiber
sumber
2
+1 untuk menempatkan dokumentasi di depan ... di situlah banyak mesin game open source gagal
LearnCocos2D
3

Sebagai seseorang yang memiliki banyak pengalaman pengembangan perangkat lunak dan yang hanya benar-benar mencoba untuk mengembangkan game dari awal baru-baru ini, inilah 2 sen saya.

Jawaban sejauh ini telah menyediakan daftar panjang pro dan kontra. Saya akan memberikan apa yang bagi saya adalah alasan terpenting untuk TIDAK menggunakan mesin game. Ketika saya mengambil tugas belajar menulis game murni untuk tantangan dan hadiah, saya memutuskan untuk melakukannya dari awal tanpa mesin, hanya OpenGL dan SDL, karena saya ingin belajarsemuanya di atas level abstraksi itu. Pada tahap apa pun saya tidak menyesali keputusan itu. Gim saya adalah versi gulir 2D Asteroid yang bagus, sederhana namun lancar. Saya tidak mencoba untuk bersaing dengan permainan yang jauh lebih unggul, tetapi saya mendistribusikan permainan saya dan orang-orang menikmati bermain itu. Saya akan mengambil pendekatan yang sama dalam membuat game multi player. Ini adalah tantangan besar dan menggunakan perpustakaan mungkin membuatnya lebih mudah, tetapi saya tujuan saya bukan untuk membuatnya mudah. Tujuan saya adalah belajar, dan bagi saya itu adalah kegiatan paruh waktu, jadi saya tidak punya banyak waktu dan kemajuan lambat. Tapi saya punya alasan untuk pendekatan ini. Sebut saja "pendidikan tinggi".

Jadi, jawab pertanyaan Anda sendiri, apakah Anda ingin mempelajari cara melakukan hal-hal yang dilakukan oleh mesin permainan untuk Anda demi manfaat yang mungkin didapat dari pembelajaran ini? Jika demikian, jangan gunakan mesin game.

Ciaran
sumber
2

Anda perlu merinci apa yang Anda maksud dengan "kompleks". Mesin permainan yang baik menangani semua hal berikut:

  • Rendering pada framerate yang stabil
  • Penanganan input
  • Antarmuka pengguna
  • Suara / musik
  • Manajemen sumber daya (gambar, suara, file data)
  • Menyimpan / memuat game Anda
  • Fisika (2d atau 3d)

Pikirkan diri Anda sendiri, apakah saya tahu cara membuat kode masing-masing? Berapa lama saya akan memprogram masing-masing, dan berapa lama untuk mempelajari cara membuat mesin melakukan masing-masing?

zaratustra
sumber
1

Keuntungan terbesar: banyak hal dilakukan untuk Anda. Anda tidak harus terus menciptakan kembali roda.

Keuntungan lain: Mesin game mungkin juga cross-platform (Unity).

Kerugian? Kontrol? Mesin sedang menangani beberapa hal untuk Anda (seperti rendering) sehingga jika memiliki masalah bug atau kinerja, maka Anda tidak bisa memperbaikinya sendiri.

Bryan Denny
sumber