Saya sedang mengerjakan game (C ++) pertama saya, dan saya ingin menggunakan desain berbasis komponen. Saya sudah membaca banyak tentang ini akhir-akhir ini dan kemarin saya memutuskan untuk menyimpan data objek dalam file JSON eksternal, agar lebih fleksibel dan mudah diakses.
Kemudian saya sadar bahwa meninggalkan file-file ini di pohon direktori permainan akan memungkinkan para pemain untuk memodifikasi apa pun yang mereka inginkan dengan sangat mudah.
Saya tidak khawatir menunjukkan kode kepada pengembang, karena gim ini akan bersifat open source, tapi saya khawatir seorang gamer yang tidak berpengalaman akan merusak gamenya atau setidaknya merusak kesenangannya.
Apakah saya melewatkan sesuatu? Apa kebijakan tentang menyembunyikan data game (dalam game open source)? Apakah normal jika segala sesuatunya mudah diakses oleh siapa pun?
Jika tidak, apa cara yang baik untuk menyembunyikan data?
Jawaban:
Jika pemain bermain-main dan merusak kesenangan, saya akan mengatakan itu masalah mereka. Bagi sebagian orang, setengah bersenang-senang adalah melihat apa yang istirahat.
Ini seperti khawatir bahwa pemain akan menggunakan kode cheat mode dewa dan khawatir bahwa pemain tidak ditantang.
Saya tidak akan melakukan apa pun selain meletakkan file-file konfigurasi ke dalam file zip (yang mungkin harus Anda lakukan untuk memuat kali) dan memastikan kode Anda dapat menangani data yang rusak dengan anggun.
sumber
Jika mereka ikut campur dengan data gim, maka itulah yang mereka anggap 'menyenangkan'. Anda tidak perlu melindungi mereka dari ini. Data komponen entitas bukan spoiler. Mungkin jika Anda memiliki data dialog atau pencarian di sana, itu akan menjadi masalah, tetapi mungkin tidak. Kebanyakan gamer bahkan tidak tahu ke mana harus mencari hal semacam ini, apalagi mencari atau mengeditnya.
Saran saya adalah zipkan dan ganti ekstensi file. Ini akan membuat Anda terlihat biasa-biasa saja tetapi tidak akan sulit bagi Anda untuk bekerja dengannya. Anda dapat menggunakan sesuatu seperti PhysicsFS untuk bekerja dengan file.
sumber
txt
ekstensi standar . Setelah bermain cukup banyak, saya memutuskan untuk membuat permainan lebih sulit dengan menyesuaikan parameter-parameter itu. Kemudian saya membagikan pengaturan itu dengan teman-teman. Itu menyenangkan ...Anda bisa menyimpan data dienkripsi , menggunakan skema enkripsi simetris (AES), tapi ini adalah sia-sia: perangkat lunak opensource , sehingga semua orang bisa membaca kunci dan karena itu mendekripsi data. Ini hanya akan "menghentikan" gamer kasual dari kecurangan.
Dan itu akan menjadi semacam gunanya bahkan dalam proyek sumber tertutup, karena cukup mudah untuk menemukan kunci ke dalam biner game.
Jadi, Anda memiliki dua kemungkinan:
sumber
Saya akan meninggalkannya. Ada komunitas mod yang sangat besar dan para pemain menyukai permainan ubah / modding. Jika mereka merusak sesuatu, itu ada pada mereka. Mereka selalu dapat menginstal ulang.
Juga memudahkan pengembang lain untuk bekerja dengannya.
sumber