Saya telah berpikir tentang menerapkan stealth dalam game multi-pemain. Ini adalah permainan gaya MOBA, jadi pikirkan League of Legends (LoL) dan Heroes of the Storm (HotS). Beberapa klien terhubung ke satu server, yang menyiarkan kondisi permainan ke semua klien. Klien mengirim data input mereka ke server, yang mungkin menolaknya ketika menemui perintah yang tidak valid, sehingga rendering kecurangan tidak mungkin (well, secara teori).
Sekarang, saya menyebutkan game-game ini dengan sengaja karena keduanya menerapkan stealth secara berbeda. LoL memiliki sembunyi-sembunyi dengan dua kemungkinan status: Anda benar-benar terlihat atau sepenuhnya tidak terlihat. Di sisi lain, HotS mengimplementasikan siluman sedemikian rupa sehingga Anda dapat mengetahui dengan kilau di udara:
Saya pikir ini adalah mekanik yang rapi, karena mempromosikan / memberi imbalan memperhatikan lingkungan Anda. Namun, ini menjadi permainan multi pemain membuat saya menyadari bahwa ini mungkin terbukti mudah dieksploitasi.
Ketika Anda menerapkan stealth dengan cara 'LoL', Anda bisa berhenti mengirim koordinat pemain ke klien lain. Ketika karakter pemain memecahkan stealth, server dapat menyiarkan lokasi lagi. Namun, dengan model HotS, kilau dapat terlihat di udara di mana karakter bergerak. Ini berarti bahwa server harus mengirim lokasi pemain ke klien lain. Yang berarti bahwa pemain yang mengubah tekstur atau model atau bahkan kode permainan itu sendiri dapat membuat mekanik jubah tidak berguna. Berikut adalah utas di papan HotS tentang hal itu.
Pertanyaan saya adalah apakah ada beberapa cara untuk mengimplementasikan cloaking (dengan 'shimmer', à la HotS), tanpa memiliki masalah bahwa pemain licik dapat memodifikasi game (data) dan 'beat the system'. Apakah ini mungkin, dan jika tidak, bagaimana gim multi-pemain lainnya dengan mekanik ini menangani ini? Apakah gaya kasat mata LoL tidak terlihat?
Saya berpikir tentang meminta server mengirim lokasi 'jubah' palsu sesekali, tetapi ini juga membahayakan pemain adil yang hanya memperhatikan, sehingga tidak akan berhasil.
sumber
Jawaban:
Anda tidak dapat menerapkan efek kilau tanpa membuatnya mudah dieksploitasi ... tetapi bagaimana jika Anda menggunakan cara tidak langsung untuk menunjukkan bahwa seseorang ada di sekitar, cara yang juga berlaku untuk pemain yang terlihat?
Sebagai contoh, bagaimana jika pemain meninggalkan jejak kaki, dan pesan "jejak jejak dibuat" dikirim dari server terlepas dari lokasi pemain? Setiap pemain meninggalkan jejak kaki sehingga Anda tidak dapat membuat model jejak lebih terlihat tanpa menutupi arena di dalamnya dan membuat setiap orang cetak kurang terlihat, tetapi jika seorang pemain melihat jejak muncul tanpa karakter yang terlihat mereka tahu ada seseorang di sana.
Anda juga dapat melakukan hal-hal seperti memiliki kerikil kecil yang terguling-guling, gemerisik rumput ketika seseorang berjalan melewatinya, atau riak yang muncul ketika seseorang bergerak melalui air. Jika 'tanda' hanya berlaku untuk lokasi atau bahan tertentu, ini dapat menambah strategi tambahan yang memaksa karakter yang tak terlihat bergerak dengan hati-hati dan menghindari hal-hal yang akan memberikan posisi mereka.
sumber
without making it easy to exploit
-> Ini berlaku untuk semua mekanik game, bukan hanya yang ini.Ketika Anda melihat pertanyaan lain yang tak terhitung jumlahnya tentang mencegah kecurangan dalam permainan multi-pemain yang ada di situs ini, Anda akan dengan mudah melihat bahwa sebenarnya tidak ada langkah teknis untuk mencegah kecurangan dari sisi klien.
Yang bisa Anda lakukan adalah memberikan lebih sedikit informasi tentang entitas berjubah. Semua klien perlu tahu untuk membuat efek distorsi adalah bahwa ada sesuatu yang terselubung pada posisi itu. Tetapi tidak perlu tahu apa-apa tentang itu, seperti apa tepatnya, berapa banyak kesehatan yang tersisa dan apa yang dilakukannya sekarang. Bergantung pada gim Anda, itu saja bisa menjadi defisit informasi yang mengubah gim bagi pemain.
sumber
Ya, informasi apa pun yang Anda kirim ke klien, dapat ditampilkan lebih jelas daripada yang Anda maksudkan. Tapi ini triknya:
Mitigasi dampaknya
Tentu, klien mungkin memiliki beberapa informasi, tetapi dengan memikirkan dengan hati-hati informasi apa yang ingin Anda bagikan, dan tentang apa yang dapat dilakukan oleh para pemain, Anda setidaknya dapat mengurangi dampak peretasan klien.
1. Apa yang diamati pemain?
Sebuah. Anda melihat sesuatu tetapi tidak di tempat (Bridge atau semak bergerak, tetapi besar sehingga Anda tidak tahu ke mana harus membidik; langkah kaki hanya menjadi terlihat dengan penundaan 2 detik): Dalam hal ini klien hanya tahu bahwa ada sesuatu, tetapi tidak di mana / apa tepatnya.
b. Anda mengamati sesuatu dengan cara yang berbeda (berbunyi jika ada sesuatu di daerah; indikasi kedekatan seperti radar dengan atau tanpa arah)
Tangkapan layar dalam pertanyaan tampaknya berada di antara 1 dan 2 karena mungkin didasarkan pada informasi yang terbatas, tetapi Anda masih melihat garis besar yang dapat memberikan beberapa informasi.
2. Apa yang bisa dilakukan pemain?
Misalkan Anda berpikir seseorang berada di koordinat XY, apa yang dapat Anda lakukan? Berikut ini beberapa pilihan umum:
Menyerang
Bergerak
Jika pemilihan rute biasanya dilakukan sisi klien
sumber
Efek riak dapat dilakukan melalui kode shader. Anda dapat menonaktifkan penggunaan tekstur dalam mode ini sehingga perubahan tekstur sederhana tidak lagi menjadi masalah.
Dalam 3D, ketika model mulai dimainkan, Anda masih bisa mengubah shader menjadi yang mensimulasikan refraksi, menggunakan permukaan model saja, membuang warnanya. Bahkan ketika model diganti entah bagaimana, efeknya tetap ada.
Memodifikasi shader yang telah dikompilasi sebelumnya akan sama sulitnya dengan memodifikasi kode gim dan saya pikir ini satu tingkat lebih sulit daripada beberapa pencarian tekstur dalam file gim.
sumber
Which means that players that change the texture or model or even the game code itself could render the cloak mechanic useless
. Dan saya tidak mengerti mengapa saya melewatkan pertanyaan ituwhether there is some way to implement cloaking (with a 'shimmer', à la HotS), without having the issue that crafty players can modify the game (data)
. A: Ini iklan terselubung dengan shimmer, B: lebih sulit untuk memodifikasi daripada perubahan tekstur sederhana. DI MANA untuk membuat sebenarnya adalah sisi lain. Jika posisi adalah satu-satunya hal yang kita perlukan untuk menerapkan efek riak sekitar, itu harus menjadi satu-satunya data yang dikirim ke pemain.