Kalıcı Tarayıcı Tabanlı Oyun: Captcha'ya mı Captcha'ya mı?


12

Oldukça eski bir okul olan bir pbbg üzerinde çalışıyorum. Eğer Carnage Blender'ı oynadıysanız, o zaman fikri anlarsınız.

Değilse, çok yapılan basit bir fikir: Bir oyuncuya her gün belirli sayıda "puan" tahsis edilir ve bu puanları diğer oyunculara saldırmak için harcar. Belirli bir sınıra kadar puanlar zamanla birikir.

Puan sistemi, aşırı başarılıların sıradan oyuncuları tamamen geride bırakmasını önlemek için tasarlanmıştır.

Katliam blenderi durumunda, bir CAPTACHA sistemi, kullanıcının her gün tüm noktalarını minimum çabayla kullanmak üzere tasarlanmış bir bot veya komut dosyasıyla sistemi "oynamasını" önler. Arada bir rastgele CAPTCHA görüntülenir ve geçilmezse kullanıcı bir saat askıya alınır.

Merak ettiğim, bunu oyunum için nasıl daha kullanıcı dostu hale getireceğim. Bunun gibi kötü davranışları önlemem gerektiğinin farkındayım ve kolayca aynı CAPTCHA yaklaşımını uygulayabilirim, ancak daha kullanıcı dostu bir alternatif var mı?

İlk araştırma Microsoft tarafından ASIRRA'yı ortaya çıkardı, ancak kabarık / sevimli vibe, amaçladığım oyun temamla iyi çalışmıyor.

GÜNCELLEME
En çok ilgilendiğim şey, standart "bu kelimeyi hecele" CAPTCHA'ya alternatifler. İyi oyuncular için oyun oynamayı olabildiğince kesintisiz tutmaya çalışmak istiyorum.

Bir kerelik Kullanım CAPTCHA'ları dediğim gibi, bir kullanıcıya "beş artı altı eksi iki nedir?" Ancak bu, kötü niyetli kullanıcıları folyolamak için yeterince büyük bir veri tabanı derlemek için çok fazla çaba gerektirecektir. Özellikle CAPTCHA'nın bu kadar sık ​​kullanılması amaçlandığından.

GÜNCELLEME # 2
Joe Wreschnig'in cevabında belirttiği gibi, botların oyunu insanlardan daha hızlı oynamasını sınırlamak için bir CAPTCHA sistemine sahip olmak, dönüşler her gün sınırlıysa biraz gereksizdir. Nokta sistemimi mektuba açıklamamıştım ve bu benim hatamdı. Gerçekte, birkaç dakikada bir 10 veya 20 puan toplanır ve 200'de kapar. Böylece, çok rekabetçi bir oyuncu birkaç saatte bir geri dönüp puanlarını kullanabilir. Oyunumu beğenen insanları o kadar çok ödüllendirmek istiyorum ki sık sık geri dönüyorlar. Eğer puanlarını aldıkları bir sonraki güne kadar oynamalarını engellersem, aksi takdirde web oyunumdan keyif alacak oyuncuları geri çevirirdim. Bu, bir oyuncunun sürekli olarak puan harcamasını ve her birkaç dakikada bir birkaç puan vermesini önler .

Bu kötüye kullanıma açıktır.


1
Yeniden Güncelleme # 2: Puan sisteminizin tarif edilen amacı basitleştirilmiş: "Günde en az 2,4 kez oynayan oyuncuları ödüllendirmek istiyorum." Neden? Neden sadece bir kez yerine günde 2,4 kez oynamayı umursuyorsunuz? "Oyunumu beğenen oyuncuları ödüllendirmek istiyorum" diyorsunuz, ama günde 5 kez veya sadece bir kez giriş yapıp yapmadığım, oyununuzu ne kadar sevdiğimin bir ölçüsü değil. Burada gerçekten ne yaptığınızı ve neden yaptığınızı düşünün . Daha sonra bunu yapmanın farklı bir yolunu bulun, böylece oyuncularınızı bot yapmaya teşvik eden günde 2,4 kez puan sistemi bulmak zorunda kalmazsınız.
doppelgreener

1
Ben gerçekten 2.4 ziyaretleri / Optimum oyun için gün isteyerek kabul umut sen edilir botting teşvik birçok kişi bu bağlılığı yapamaz çünkü. Hatta gerekli değil: botlar ve potansiyel oyuncuların yabancılaşması dışında hiçbir şey elde edemezsiniz! Günde 40 tur (eşyalarla boyanabilir) veren olağanüstü başarılı bir oyun olan Kingdom of Loathing'i düşünün. 200 kapakla bir seferde 5 güne kadar bekleyebilirsiniz. Kaos Krallığı da benzer bir şey yapıyor. İkisi de sık oyun için belirli bir ödül vermez, ancak her ikisinin de günde birden çok kez giriş yapan oyuncuları vardır.
doppelgreener

@Jonathan: Genellikle insanların günde ortalama x kez giriş yapmalarını önemsemenizin nedeni, sahip olduğunuz reklam oranlarına göre oyununuzu karlı hale getirmek için ihtiyacınız olan şeydir. KoL'nin para kazanma stratejisi oyun içi satın alımlardır, bu geçerli değildir.

1
@Joe: O zaman alternatif bir reklam / para kazanma stratejisini düşünürüm, oyuncuları yabancılaştırmazsam daha yüksek oyuncu nüfusu nedeniyle genel olarak daha fazla reklam gösterebilirim . Benim oyun başarıyla tasarlanmış ise, olanları o olur günde birkaç kez ziyaret yüzden zaten yapacak - çünkü oyun gibi ve onlar oyun mekaniği şeffaf bunu yaparken onları baskı yapıyorlar çünkü, tercih (not: bu araçlar Stephen ödüllendirici olacak değil "bu insanlar kim bu kadar benim oyun gibi" , sadece "o benim basınç mekanik işleri" )
doppelgreener

Yanıtlar:


8

"daha kullanıcı dostu bir alternatif var mı?"

Hangi amaca daha kullanıcı dostu bir alternatif? Sisteminizde elde etmek için tasarlanan captcha nedir?

Botların normal oyunculardan "daha hızlı" oynayabileceği öncülünde, botları önlemek için tasarlanmış gibi görünüyor. Ancak, aynı zamanda bir kullanıcının günde gerçekleştirebileceği işlem sayısını zaten sınırlamışsınızdır. Yani captcha gereksiz görünüyor.

Kingdom of Loathing'in alternatif ön uçlarına bakmanızı öneririm . Günde benzer bir dönüş sistemi kullanıyor ve KoLmafia gibi birçok popüler alternatif ön uca sahip , bu da birçok yönden oyunu "şişelemekten" ayırt edilemez. Çoğu oyuncu bunların sıradan oyuncular için bile oyundan uzaklaşmak yerine eklediğini düşünür. Aksiyonları toplu hale getirmeyi, daha yavaş parçaların bazılarını otomatikleştirmeyi ve oyun içi kullanıcı arayüzü için daha fazla seçenek sunar.

Yapay zekaların insanlardan daha hızlı oynayamayacağından emin olmak için oyununuzda zaten kontrolleriniz varsa ve günlük dönüşlerle böyle bir kontrole sahipsiniz - o zaman tasarımınızı sanki oyununuzu otomatikleştirmeye teşvik etmenizi öneririm dengeli, sadece oyuncu deneyimini artırabilir.


1
Çok iyi fikir! günlük dönüşler yanıltıcıdır ve bu benim hatamdı. Soruyu ayrıntılı olarak güncelleyeceğim.
Stephen

Ne kadar çok düşünürsem, o kadar çok hoşuma gider. Biraz daha düşünmek zorundayım ve sorunun burada biraz demlenmesine izin vereceğim.
Stephen

1
Örnek olarak, KolMafia'nın otomatik savaş sistemleri o kadar kullanışlıydı ki, savaş makro sistemini gerçek oyuna entegre ettiler.
coderanger

RuneScape'te bir Genie tarafından sorulan basit sorular olduğunu hatırlıyorum, eğer doğru yaparsanız size bir hediye verir.
Jonathan Connell

3

Captchas gerektiren bir oyun oynamak için hiç uğraşmazdım: gerçekten kaçınılması gereken korkunç bir uygulamadır.

Oyununuz zaten bundan daha derin problemlere sahip gibi görünüyor: ideal olarak bir oyun aptal bir bota hiçbir avantaj vermemelidir, böylece ilk etapta aptal bir bot kullanmak anlamsız olacaktır. Bunu başaramazsanız, bu gerçek bir çözümü olmayacak bir tasarım problemidir, sadece az çok geçerli geçici çözümler.

"Aptal bot" ile, anlamlı bir karar almayan botlar demek yerine sadece "farm" (burada olan). Akıllı botlar (hedef botlar veya satranç oyun botları gibi) tamamen farklı bir konudur.

Yine de, tasarım kusurlu bir oyun yapma fikrinden memnun olduğunuzu varsayarsak, iyileştirmeler için hala yer var.

Gerçekten kararlı bir botu durduramayacağınızı kabul edin ve bunun yerine yapabileceğiniz tek şeye odaklanın: bir bot kullanmayı işe yaramaz hale getirin. İnsanların bir bot kullanmak için bir nedenleri yoksa ... kullanmazlar (ve yine de yaparlarsa önemli olmaz).

Olası bir çözüm, günde bir giriş yerine haftada bir giriş yapılmasına izin vermektir. İnsanlar bir haftadan daha uzun süre giriş yapmayı unutursa, yine de oynamakla ilgilenmeleri pek olası değildir, bu nedenle kredi kazanmaya devam etmek için botları kullanmayacaklar. Öte yandan, haftada bir günlüğe kaydeden ve sonra üç ay sonra rasgele insanlara saldırmak için geri dönen bir bot yapan çok vidalı bir kişi varsa, iyi, sizi yine de çatlatacak kadar kararlı bir kişi buldunuz, her neyse seçtiğiniz sistem (tabii ki kusurlu olmayan bir sistem seçmediğiniz sürece).

ps: çalışma tasarım kusurları için daha fazla çaba koyarak sonra aslında onları çözme hata yapmayın!


1
"ideal bir oyun aptal bir bot hiçbir avantaj vermemelidir," iyi tavsiye +1
Stephen

İyi tavsiye, ama insanlık tarafından ulaşılamaz mı?
Kzqai

Tamamen ulaşılabilir, rastgele şeyler kodlamak yerine gerçek oyun tasarımı yapmanız gerekiyor. Kalite maliyetleri.
o0 '.

2

Başarısız bir CAPTACHA'yı bir saat boyunca yasaklamam, sert görünüyor, CAPTACHA'yı başarıyla tamamlayana ve yeni bir CAPTACHA görüntüsünün gösterilmesine izin verene kadar ilerlemelerini önleyeceğim.

Ben de sadece talepleri çok hızlı yaparlarsa captcha'yı görüntülerdim, her istekte bir DateTime saklayabilirim ve daha sonra bir sonraki taleple karşılaştırabilirim, eğer 2-4 saniyeden azsa, CAPTACHA'yı görüntülerseniz, aksi halde onlar gider. Oyununuz, sunucunuz ve bant genişliğiniz için makul bir aralığın ne olduğunu belirlemeniz gerekir.

Bir eylemin gerçekleştirildiği her X defada bir "zorla" CAPTACHA yapabilirsiniz, bu, pauseyerleşik bir otomatik komut dosyasının bile CAPTACHA zaman sınırını tetiklemesini önleyecektir.


Sağ. Bunların hepsi bir CAPTCHA'yı daha kullanıcı dostu hale getirmek için geçerli fikirler ve CAPTCHA yoluna gidersem elbette bu gibi kavramları uygularım. Aradığım şey varsa iyi alternatifler.
Stephen

Oyununuzu Flash veya Silverlight'ta yazın, böylece bir bot uygulamanızı uzaktan kontrol etmek daha zor olur mu?
Nate

Bu konuda fazla bir şey bilmiyorum, ama KingsOfChaos.com sizinkine çok benziyor (her dakika puan / dönüş) nasıl uyguladıklarını görebiliyordunuz.
Nate

2

Oyuncular başka oyunculara saldırmak için puan harcarlar ve puanlar sınırlıysa, bariz kötüye kullanım bana birden fazla hesap oluşturmak gibi geliyor.

İnsanları tek bir hesapla başarılı bir şekilde sınırlamayı başarırsanız, o zaman bana botlarla ilgili sorun, sisteminizin altında insanların uykuda veya işte olduklarında onları kovabilecekleri olacaktır.

Kısıtlamalar göz önüne alındığında: (1) botlar için bir avantaj yok (2) insanları günde birden çok kez giriş yaptıkları için ödüllendiriyor

Bana öyle geliyor ki, ideal olan şey, bir gün boyunca kullanabilecekleri eylem sayısını makul bir sayıyla sınırlamak.

Örneğin, birisinin 8 saatlik bir süre içinde birden çok kez oturum açabileceğine ve sistemi uygun şekilde ayarlayabileceğine karar verebilirsiniz. Ya da birisi sabah okula / işe gitmeden önce kontrol edebilir, eve geldiğinde kontrol edebilir, akşam yemeğinden sonra tekrar kontrol edebilir ve yatmadan önce kontrol edebilir.

'İdeal' kullanıcınızın ne yaptığını belirleyin ve puan sisteminin bunu ödüllendirmesini sağlayın.


Bir seferde bir yığın puan harcamayı ödüllendiren bir sistem inşa ederdim. Bunu yapmak için puanlar üzerinde değişken bir şarj oranı olurdu. Her puan harcadığınızda, bir sonraki noktayı elde etmek için şarj süresi artar ... bu nedenle bir bot onları aldıkları kadar hızlı harcıyorsa, bir sonrakini almak daha uzun ve daha uzun sürer, sabah evden ayrılmadan önce bir gecede biriktirdikleri nokta, işten / okuldan eve geldiklerinde (8-12 saat sonra) hepsini geri alacaklar.


Kullanıma göre değişken bir şarj oranı düşünmedim. İlk bakışta dahi geliyor. Bunun hakkında düşünmek zorunda kalacağım. TBH, sıradan oyuncuyu ödüllendiriyor ve sert / ölmek zor oyuncuyu cezalandırıyor, bu yüzden bilmiyorum.
Stephen

2

Bir oyunda, "captcha" yı "puzzle mini-game" ile değiştirmenizi tavsiye ederim. Aradaki fark, eğlence seviyesidir. Özel bir mini oyunu denemediyseniz ve hala bot tutulmuyorsa, bir oyunda captcha için gerçekten çok az neden var. Bu durumda daha akıllı taktikler gerektirir.


1

Tchalvak'ın önerdiği gibi, 'bulmaca mini oyun' rotasına giderdim, ancak daha kullanıcı dostu hale getirmek için geçtiği için birkaç puan ödüllendiririm

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.