Kullanıcılarımın programımın içeriğini programın dışında bulmasını engellemek için şifreleme kullanma fikrine sahibim. Gibi kullanıcılar oyunda hiç kullanılmamış dokuları bulabilirler, oysa oyun verisine giderken bir tür Paskalya yumurtasının parçası olurlar. Bu, örneğin çevrimiçi olarak yayınlanması durumunda herkes için mahvedebilir.
Oyuncunun oyunda bir güvenlik kapısında doğru numaralara basması gerektiği, eğer doğru ise doğru şifre çözme anahtarını üretmesi ve ardından seviyenin bu kısmının şifresini çözmesi ve kapıyı açması gereken gizli bir oda düşünün. Böylece Paskalya yumurtasını aksi takdirde erişilmez hale getirmek, aslında anahtar olarak saklanmadığından oyun verisine bakarken bile kullanıcı girişine dayanarak üretilir.
Hayal ettiğim şeye bir örnek daha. Diyelim ki her biri farklı bir anahtar kullanarak şifrelenmiş 20 seviye olan bir puzzle oyunum var. Şifre çözme anahtarını doğrudan programın birisinin programı çözmesine ve bulmasına izin vermesiyle doğrudan programa depolamak yerine, bunun yerine önceki bulmacanın çözümüne dayanarak şifreleme / şifre çözme anahtarını oluşturuyorum. Bu şekilde oyuncu, oyun verisine bakarken bile, bir sonraki seviye hakkında herhangi bir bilgi edinmeden önce bulmacayı çözmelidir.
Eğer bilgiliyse, oyuncu yapboz çözümlerinin sayısının muhtemelen şifre çözme anahtarlarının sayısından daha az olduğu düşünüldüğünde “kolayca” zorlayabilmektedir. Bu gerçekten bulmacanın bir konu karmaşıklığı ve burada çok önemli değil. Yine de buraya bir cevap yazdım.
Bugün böyle bir şey yapan programlar / oyunlar var mı? Şifrelenmiş içeriği oyunlarında depolamak? Ya neden olmasın? Mağaza ya da ülke düzeyinde bununla ilgili birçok kural ve düzenleme var mı? Kaybettiğim bariz tuzaklar gören var mı? Kullanıcı deneyimi gibi şeyleri görmezden gelmekle birlikte, fikir bana doğru geliyor ve neden bunu daha önce görmediğimi merak ediyor.
Düzenleme : Söylediklerim tam olarak belli olmayabilir, bu yüzden burada daha somut bir örnek var.
Diyelim ki 20 karakterlik bir karakter dizisinde yer alan ve oyundaki bazı içerikleri şifrelemek / şifresini çözmek için kullanabileceğim simetrik bir anahtar ürettiğimi varsayalım. Kullanıcının bu içeriğe ulaşmasının tek yolu bu 20 karakteri tanımak ve aynı anahtarı oluşturmaktır. Bu anahtar hiçbir zaman doğrudan saklanmaz ve kullanıcı girişi temelinde anında oluşturulur. Bu karakterler oyunda kitap olabilir, NPC'lerle diyalog, hatta oyunun dışında bile kutunun arkasına bile gizlenebilir.
Yani 2 * 10 ^ 28 denemek için olası kombinasyonlar muhtemelen insanların oyun verilerini incelemek yerine içeriği amaçlanan şekilde bulması daha muhtemel olacaktır.
Düzenleme 2 : Söz konusu içerik , tüketiciye gönderilmeden önce isteğe bağlı ve gizli bir anahtarla şifrelenir . Bu anahtar açıkça oyunla birlikte gönderilmez. Bir şekilde, anahtarı temel alan bir dizi ipucu verilmiş ve oyun boyunca ya da başka bir yerde gizlenmiş olan ipuçlarını bir şekilde bulması gerekecekti. Ancak bu sistem kullanıcı için şeffaf olacaktır, çünkü oyun verilerini incelemeden içeriğin şifreli olduğunu bilemezsiniz.
Birçok kişinin belirttiği gibi, kullanım durumunun sınırlı olması nedeniyle bunun bir dezavantajı vardır. Tek bir kişi bunu çözdükten sonra, anahtar / çözüm değil, içeriğin kendisi değilse, onu herkesle paylaşabilir. Ancak, niyetimiz, o kadar gizli bir şeyi tek bir kişinin çözemediği ve insanların çözmesi için birlikte çalışması gerektiği ya da paskalya yumurtanızın (tasarım tarafından) bu kadar iyi gizlendiğinden korkuyor olmanız gerektiğidir. daha büyük olasılıkla oyun oynamak yerine birileri kodda bulacaktır. O zaman bunun çok işe yarayacağını düşünüyorum.
Şahsen, sadece oyun başına sadece bir kez ve yalnızca çekirdek oyun oynamayı etkilemeyen şeyler, örneğin paskalya yumurtaları, gizli bir bitiş için kullanmanızı öneririm. Herhangi bir yapbozun, insanları içeriğe şifrelemeye yetecek kadar yavaşlatması için çok karmaşık olması ya da iyi gizlenmesi gerekir ve eğer bu ilerleme ilerleyen insanların önünde durursa, o zaman kimse muhtemelen hiç eğlenmiyordur.