Bagaimana cara menerapkan shotgun dalam game?


14

Pistol dan senapan mesin mudah - Anda hanya dapat memiliki peluru yang terbang ke arah tertentu, jadi saya sudah menerapkannya. Senapan senapan, di sisi lain, tidak merusak apa pun di daerah tertentu yang terlihat seperti kerucut. Bagaimana saya menerapkannya? Saya punya beberapa saran di sini, tetapi saya bisa menggunakan beberapa saran:

  • Membagi peluru menjadi beberapa peluru kecil, yang tidak terlalu merusak sendiri, tetapi terbang ke arah yang sama (musuh yang lebih dekat lebih mungkin terkena serangan)
  • Tidak menggunakan peluru - hanya memiliki efek partikel dari tembakan senapan dan menghitung berapa banyak kerusakan musuh berdasarkan posisi / orientasi dll.
  • Memiliki peluru besar yang tidak terlihat (kubus misalnya) yang merusak barang-barang, serta efek partikel yang akan membuatnya terlihat seperti itu sebenarnya adalah tembakan senapan.

Terima kasih sebelumnya!


Semua opsi itu valid (meskipun yang pertama, mengapa tidak mulai dengan banyak peluru?) Dan keputusannya didasarkan pada desain gim Anda.
congusbongus

Terkait: Akurasi vs formula jarak dan "kerucut api" mungkin istilah pencarian yang bagus untuk ini.
MichaelHouse

Jawaban:


21

Sebagian besar permainan menerapkan senapan sebagai senjata yang menembakkan beberapa proyektil sekaligus, tetapi masing-masing dengan pengacakan tertentu dari sudut mereka meninggalkan aktor. Di sebagian besar penembak orang pertama modern, hampir semua senjata memiliki setidaknya beberapa penyebaran untuk setiap tembakan yang mereka buat untuk membuatnya kurang akurat pada jarak jauh, sehingga implementasi yang sama dapat digunakan untuk senapan.

Implementasi sederhana: Bila Anda menginginkan penyebaran 10 ° dan pemain melihat ke arah 0 ° vertikal dan 50 ° horizontal, proyektil akan membiarkannya dalam sudut antara -5 ° dan + 5 ° vertikal dan antara 45 ° dan 55 ° horizontal.

Implementasi yang lebih baik: Sebarkan proyektil tidak dalam persegi panjang tetapi di area melingkar di sekitar crosshair pemain.

Efisiensi yang dirasakan berkurang pada hasil jangka panjang dari penyebaran proyektil yang berarti bahwa target yang jauh dan kecil tidak akan terkena semuanya. Ketika Anda ingin lebih menekankan ini untuk membuat senapan Anda menjadi senjata jarak pendek murni, Anda juga dapat mengurangi kerusakan setiap proyektil untuk setiap kerangka logika permainan yang dilalui.

Dalam penembak top-down atau side-scrolling, lebih jarang menyebar pada semua senjata karena area bermain terlalu kecil untuk masuk akal, tetapi ketika Anda menginginkan senjata seperti senapan, ini masalah yang berbeda dan sama. Teknik dapat digunakan, hanya saja Anda tidak perlu peduli dengan dimensi ke-3. Atau Anda bisa saja menembakkan proyektil dalam sudut tetap Seperti -6 °, -4 °, -2 °, 0 °, 2 °, 4 °, 6 °. Dalam konteks 2d itu tidak akan terlihat semanis dalam konteks 3d dan gamer tantangan akan menyukainya, karena itu mengurangi peluang.


Implementasi yang lebih baik sama mudahnya. Pendekatan pertama membutuhkan dua sudut acak (horizontal dan vertikal), seperti halnya yang kedua (off-axis [0, + 5 °] dan rotasi sepanjang sumbu [0, 360 °])
MSalters

@ MSalters Itu tidak secara seragam mendistribusikan proyektil di dalam lingkaran. Sebaliknya, itu berkonsentrasi mereka di sekitar poros. Ini mungkin atau mungkin bukan efek yang ingin dicapai seseorang. Untuk mendapatkan distribusi acak yang seragam di dalam lingkaran, lihat jawaban ini .
Daniel AA Pelsmaeker

@ Virtlink: benar, meskipun kerapatan probabilitas seragam di dalam lingkaran bukan yang saya inginkan. Distribusi normal cenderung menjadi yang terbaik untuk hal-hal fisika seperti ini, dan itu juga sangat mudah dilakukan: sebarkan saja nilai ϑ dengan distribusi normal 1D, dan nilai φ dengan distribusi normal yang sama yang diskalakan oleh ϑ. Tidak perlu pergi ke koordinat dua kutub.
leftaroundabout

Ini adalah halaman yang membahas penyebaran senapan , Anda mungkin melihat dan melihat apa yang mereka lakukan.
AJMansfield
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.