Saya pikir ini cukup banyak disepakati secara universal bahwa hanya memetakan tongkat analog ke kecepatan rotasi karakter tidak cukup baik untuk membuat penembak orang pertama konsol merasa baik.
Jadi apa sajakah paradigma input yang membuat FPS modern di konsol berfungsi dengan baik?
console
first-person-shooter
aiming
Tetrad
sumber
sumber
Jawaban:
Saya pergi ke sesi GDC tahun ini yang disajikan oleh orang-orang di pukulan pengisap, membahas bagaimana mereka menangani tujuan dan gerakan yang dibantu untuk inFamous. Pemahaman saya adalah bahwa Halo menggunakan sistem yang sangat mirip untuk tujuan berbantuan, dan inilah dasar-dasarnya:
Ada dua hal yang membuat sasaran "merasa senang": Anda perlu merasa seperti Anda memegang kendali, dan Anda perlu merasa seolah-olah permainan itu tidak membohongi Anda. Menyesuaikan persepsi gim tentang arah input dan pengaturan waktu tombol dalam toleransi adalah cara yang bagus untuk melakukan hal ini, karena PERNAH menghasilkan situasi yang mustahil di mana bidikan otomatis sebenarnya berkinerja lebih baik daripada pengontrol yang secara teoritis sempurna. Jika Anda mencoba menyelesaikannya secara ad-hoc setelah pemrosesan input selesai, Anda akan berakhir dengan beberapa situasi samar di mana pemain merasa seperti mereka kehilangan kendali.
sumber
Ada jawaban yang bagus di sini. Saya harus mencari tahu sendiri tentang proyek yang sedang saya jalani, tetapi sampai pada kesimpulan yang sama dengan orang-orang Sucker Punch (dan saya pikir saya membuat sesuatu yang baru. Baww :().
Saya merasa berguna untuk mempertimbangkan "panorama" 360x180 derajat orang pertama Anda sebagai "bidang akselerasi". Semua target yang valid membuat sumur gravitasi yang menekuk input pemain (hanya subtley) sedemikian rupa sehingga gerakan makro (beralih ke target wajah) terasa seolah-olah itu adalah jalur yang "dilumuri". Namun, ini tidak mempengaruhi crosshair sepanjang waktu - hanya ketika giliran pemain delta menunjuk dengan kemiringan sumur (seolah-olah). Itu benar-benar kuncinya - Anda hanya memberikan kecepatan belokan ekstra ini ketika pemain berputar secara kasar ke arah target. Itu tentang satu-satunya kesimpulan yang dapat Anda buat dari input pemain.
Jauh lebih banyak, dan Anda mendapatkan terlalu banyak "efek ouija" yang nyata. Anda menginginkan kebalikan dari ouija: Di mana papan ouija bergerak tidak cerdas karena pengguna, tanpa sepengetahuan mereka, Anda ingin crosshair pemain bergerak dengan cara yang cerdas tanpa pengguna menyadari bahwa itu BUKAN murni input mereka. Ini benar-benar semacam trik sulap.
Gunakan produk titik dari delta pitch / yaw memutar pemain vs delta pitch / yaw dari crosshair ke setiap target. Jepit nilai antara 0 dan kecepatan maks (sehingga Anda mengabaikan input saat mendorong menjauh dari target), lalu gunakan fungsi jarak sebagai pengubah falloff.
Saya menemukan bahwa meningkatkan bonus "gerakan makro" ini ketika crosshair vs target angular delta besar (yaitu ketika musuh ada di belakang Anda) benar-benar membantu dengan masalah pengendali konsol klasik karena tidak dapat membalikkan muka dengan cukup cepat. Dalam hal "pilihan penargetan", jika Anda diserang dari belakang, dan tidak ada target di depan Anda, panorama di depan Anda adalah "ruang mati", dan Anda mungkin juga memberi pemain kemampuan untuk terbang melintasinya dengan kecepatan tinggi dengan kursor mereka. Dan jika ada target ADA di depan, mereka mungkin lebih tinggi di pikiran pemain dan karena tujuan lembab / lengket, tidak terpengaruh oleh kekuatan makro yang lemah.
Tak banyak kebutuhan bagi Anda untuk meredam sensitivitas ketika pemain mencoba untuk mengubah diri dari sebuah objek (ini akan menghasilkan perasaan mencoba untuk "melarikan diri" orbit target ini). Peredam digunakan lebih banyak untuk membidik presisi, dan juga untuk menghentikan overshooting sasaran pemain saat bergerak dari makro ke presisi mikro - Ini adalah hal yang paling mencemaskan: pemain (terutama pemula) memiliki kecenderungan untuk hanya menggunakan ekstrem defleksi tongkat, sehingga Anda harus untuk melakukan banyak usaha untuk mereka.
Tujuan lengket adalah kompensator gerakan relatif. Perhatikan perbedaan antara sudut ke target Anda (dari kamera, bukan dari asal entitas), bingkai ini, dan bingkai terakhir. Lihat seberapa dekat Anda membidik target. Untuk menghindari efek ouija ketika tidak ada input pengguna, periksa defleksi kedua tongkat: Lihat apakah Anda telah bergerak secara fisik (aktuasi tongkat kiri) ATAU jika ada yang aktif membidik "dengan" arah target. Tambahkan yaw / pitch delta step * kedekatan bertujuan * Max (move.length, aim.length) untuk tujuan lengket yang belum sempurna.
Di mana masalah kebingungan target muncul (yaitu, sebuah target menghalangi pandangan Anda saat Anda membidik sesuatu di belakang, "mencuri" fokus Anda), cukup lacak target Anda, dan "panaskan" satu saja ketika sedang aktif. bertujuan. Kemudian, gandakan komponen pelembap dan lengket dengan parameter panas ini sehingga target yang tidak dipanaskan diabaikan. Jika pemain INGIN bantuan pada target lain, mereka akan secara manual membidiknya, dan dengan sangat cepat, itu menjadi target yang paling dipanaskan sementara yang sebelumnya dilupakan.
Kami juga membuat target assitance bertujuan "hantu" untuk membantu Anda berpaling dari hal-hal yang tidak menarik (yaitu menghadap tembok - tidak perlu berkeliaran memandangi permukaan kosong yang dekat jika itu tidak berguna secara interaktif), tetapi mungkin lebih daripada yang bisa saya bicarakan tentang - Anda dapat menerapkan hal ini pada apa pun yang menarik untuk ditunjukkan oleh pemain, baik itu barel peledak, objek interaktif (bioshock menggunakan peredam saat membidik objek yang dapat berinteraksi dalam jarak dekat ... tetapi tidak melakukan lengket pada mereka, Saya tidak berpikir). Setelah Anda menyadari bahwa ini semua hanya untuk memuji konsep inti dari membidik, Anda menyadari itu bukan hanya tentang bidikan bidikan, tetapi peningkatan penggunaan secara umum yang dimasukkan ke dalam mekanika yang bergantung pada tujuan. Dan dalam FPS, sungguh,
Yang tidak penting dengan semua ini adalah penyetelan. Butuh waktu lama untuk mendapatkan yang benar, dan untuk menangani gangguan target, dan masalah dengan target yang begitu dekat sehingga "zona sasaran" mereka membanjiri panorama pemain, memperlambat 60 derajat rotasi ke bawah hingga merangkak.
Ya ampun, aku harus tidur. Maaf jika beberapa matematika tidak jelas. Ini benar-benar terlambat, tetapi saya senang membaca posting ini.
sumber
Agar masukan terasa enak di konsol, Anda ingin beberapa pemrosesan dilakukan untuknya.
Pertama-tama kami mengonversi input linear yang berasal dari batang analog menjadi kurva yang memberi kami lebih banyak kepekaan di sekitar pusat tongkat dan lebih sedikit kepekaan di perbatasan. Ini dapat dilakukan dengan alat kecil yang membantu Anda membuat dan memvisualisasikan kurva ini dan meludahkan kode. (http://www.arachnoid.com/polysolve/)
Sebagai langkah kedua kami menerapkan semacam akselerasi. Itu menendang setelah beberapa saat ketika input stick setidaknya 97%, dan meningkatkan rotasi kamera dari waktu ke waktu. Kami menangani sumbu X dan Y secara independen. Itu memungkinkan Anda untuk secara entah bagaimana meningkatkan jangkauan input stick. 97% pertama dapat digunakan untuk penyesuaian yang relatif baik, tetapi karena akselerasi Anda dapat memiliki gerakan cepat juga.
Jika Anda memiliki FOV kamera yang berbeda (misalnya saat membidik / memperbesar) maka perlu ada faktor yang mengatur kecepatan rotasi cam oleh FOV yang saat ini digunakan.
Beberapa trik bagus lainnya yang membuat hidup pemain lebih mudah adalah "auto centering". Ini menaikkan level pitch kamera perlahan ke horizon saat tidak ada input yang diberikan. Ini membantu untuk tetap berorientasi.
Hal lain yang harus diperhatikan pada konsol adalah zona mati. Ketika pengontrol bertambah tua, stik analog mulai kehilangan presisi dan cenderung memberikan input "salah". Untuk mencegahnya, Anda harus mengabaikan beberapa persen input tongkat (hingga 20%) pertama.
Kami juga telah melakukan beberapa percobaan dengan bantuan bertujuan berbasis gesekan seperti yang disebutkan sebelumnya (menambah input saat bergerak ke arah musuh di layar, memperlambat input saat bergerak menjauh) tetapi kami merasa bahwa ini sangat terlihat bagi pemain. Juga downside adalah bahwa Anda tidak memiliki gerakan cam halus lagi ketika ada sederetan musuh. Kami memilih efek "peluru magnetik", di mana peluru itu sendiri cenderung condong ke arah musuh dalam jarak tertentu. Namun Anda harus berhati-hati di sini juga.
sumber
Untuk gim konsol, Anda harus bekerja dengan stik analog. Sementara stik analog terasa intuitif untuk gim 3D, ini mengerikan selama momen intens di mana Anda harus benar-benar membidik. Solusi terbaik adalah membuat tongkat menjadi akurat pada saat-saat ini.
Inilah solusi sederhana: Saat crosshair bergerak lebih dekat ke musuh, sensitivitasnya turun. Ini akan memungkinkan pemain menjadi lebih akurat dengan tembakannya.
Anda juga dapat menerapkan "tujuan lengket". Ini menjadi sangat memuaskan jika ada banyak musuh dan pemain harus membunuh satu di depan mereka.
sumber
Saya pribadi menyukai paradigma "penguncian" untuk penembak konsol. Ie tahan tombol untuk mengunci ke musuh kira-kira di depan Anda (tekan beberapa kali untuk menggilir beberapa musuh) dan kemudian tujuan Anda secara otomatis mengikuti mereka. FPS pertama yang menggunakannya yang bisa saya pikirkan (saya yakin ada orang lain sebelumnya) adalah Metroid Prime di GC. Membuat ketidakakuratan yang lamban dari tongkat analog tidak masalah. ... tidak yakin bagaimana ini akan diterjemahkan ke multi-pemain.
Saat kami menggunakan Metroid Prime, saya juga menyukai teknik yang mereka gunakan untuk bit platform di mana tampilan akan sedikit miring secara otomatis ketika Anda melompat. Itu halus, tetapi itu membuat kontrol terasa jauh lebih alami.
sumber