Saya ingin membuat game 2D tetapi saya ingin memiliki karakter untuk memakai banyak peralatan yang berbeda pada kombinasi yang berbeda, seperti RPG atau sesuatu.
Jadi misalkan pengguna mengganti pundak dan celananya, ini harus diperlihatkan kepada pemain dan semua peralatan yang berbeda ini harus mengikuti aksi karakter yang berbeda (memukul, dipukul, sihir ejaan, dll.).
Saya melihat beberapa masalah yang ingin saya ketahui pendekatan / algoritma / arsitektur terbaik untuk dipecahkan.
1 - Sprite atau Animasi
Haruskah saya membuat sprite yang berbeda untuk setiap peralatan di setiap animasi tindakan?
Apakah lebih baik memiliki sprite peralatan dan menghidupkannya langsung pada kode seperti memutar dan menerjemahkan (menggunakan sesuatu seperti tween di Flash)?
Apakah ada opsi lain yang lebih baik? (Saya benar-benar tidak suka ide-ide di atas)
2 - Posisi
Katakanlah selama salah satu gerakan karakter dia mulai melihat langsung di depan pandangan pemain tetapi mengakhiri gerakannya menunjukkan sisi kanannya ke pemain (seperti jika dia mengayunkan pedangnya dari satu sisi ke sisi lain).
Jika kita mempertimbangkan satu bagian dari pengguna, seperti kepalanya misalnya, itu dimulai di depan dan kemudian belok kiri.
Ini berarti setidaknya 3 posisi berbeda untuk setiap peralatan kepala (helm, topi, apa pun).
Ini tentu mempengaruhi jawaban pertanyaan # 1. Bagaimana cara terbaik untuk mencapainya?
3 - Lapisan
Mari kita perhatikan gerakan karakter di mana ia berputar 360 derajat dengan tangan terbuka. Pada awal animasi, tangan kanannya dekat dengan pandangan pengguna dan kemudian, di tengah gerakan, ini mungkin di belakang tubuh karakter pada animasi.
Apa pun pilihan pada pertanyaan # 1, Anda tentu perlu menggunakan semacam model lapisan untuk membuat sprite atau animasi ini untuk mulai lebih dekat dengan tampilan pemain dan kemudian berubah menjadi jauh dari tampilan pemain.
Apakah ada cara yang baik untuk melakukan itu?
Saya tahu pertanyaannya cukup panjang dan sulit dimengerti. Beritahu saya jika Anda pikir lebih baik memiliki beberapa gambar untuk mencoba menjelaskan yang mana dan saya akan mencoba melakukannya.
Jawaban:
Saya pikir ini kedengarannya seperti Anda mencari sistem animasi kerangka 2D? Sayangnya, saya tidak tahu sistem apa pun yang tersedia, karena sebagian besar telah digantikan oleh tren game 3D-gfx-tapi-2D.
sumber
Seperti yang dikatakan Zorba, sebagian besar game retro tidak melakukan ini secara khusus karena Anda akan membutuhkan (dengan sprite) untuk memiliki animasi multi-bingkai untuk setiap peralatan.
Beberapa alternatif "malas":
sumber
Dalam game lama seperti seri Ultima, mereka memang akan menggambar satu peralatan dalam setiap pose karakter yang mungkin. Penyumbatan akan ditangani dengan tidak menggambar persneling (jika sarung tangan kiri berada di belakang sprite pemain Anda tidak perlu khawatir tentang hal itu) atau dengan hanya menggambar persneling dalam urutan back-to-front.
Jelas ini sangat padat karya, dan sebagai hasilnya ada relatif sedikit potongan-potongan gigi unik, dengan banyak versi palet-swapped dan modifikasi palet dari gigi itu.
Dalam gim modern, saya sangat merekomendasikan membuat karakter 3d. Jika Anda ingin seni yang tampak 2d atau platform Anda tidak memiliki tenaga kuda untuk 3d yang sebenarnya, Anda masih cenderung lebih baik memodelkan semuanya dalam 3d, merender, dan kemudian men-tweak hasil akhir dengan tangan.
Atau, jika Anda memutuskan tidak perlu mengubah, tidak memiliki tenaga kuda untuk 3d penuh, tetapi tidak ingin mengirim pustaka sprite besar, Anda dapat mengemas model 3d dan membuatnya menjadi tekstur secara realtime saat Anda tahu model akan segera muncul dalam game.
sumber
Periksa buku James Da Silva di mana dia menjelaskan bagaimana dia melakukannya The Dishwasher: Dead Samurai. Ini akan menunjukkan kepada Anda bagaimana KISS bisa menyelesaikan ini. Saran menggunakan animasi kerangka 3d atau 2d valid, dan agak di ranah yang sama.
sumber
Ini adalah pertanyaan yang bagus tetapi saya pikir Anda telah menjawabnya sendiri - Anda memerlukan sistem tulang 2D yang mendukung perubahan lapisan tulang, sehingga anggota tubuh yang berbeda dapat pergi ke belakang dan di depan satu sama lain saat karakter diputar. Anda juga perlu menggambar sprite Anda dari sudut 4 atau 8 (atau berapa banyak yang Anda butuhkan). Bergantung pada keterampilan apa yang ada di tim Anda, mungkin lebih mudah untuk membuat aset ini dalam 3D dan mengeluarkannya dari sudut yang Anda butuhkan.
Menggunakan mesin 3D juga merupakan solusi yang baik, meskipun ini akan membawa tantangan tersendiri.
sumber