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?
game-design
cstack
sumber
sumber
Jawaban:
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:
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
sumber
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?
sumber
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:
sumber
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.
sumber
Anda perlu merinci apa yang Anda maksud dengan "kompleks". Mesin permainan yang baik menangani semua hal berikut:
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?
sumber
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.
sumber