Jeśli ludzie chcą botować, nie sądzę, że naprawdę możesz ich powstrzymać.
Możesz oczywiście wdrożyć wiele środków, które sprawiają, że botowanie jest mniej lub bardziej bolesne. Ale możesz zrobić tylko tyle, zanim baza kodu zamieni się w gigantyczny bałagan, który jest piekło w utrzymaniu, podatny na błędy i denerwuje legalnych użytkowników. Tymczasem osoby zajmujące się butelkami zawsze znajdą sposób na pokonanie środków zaradczych:
- Jest ich więcej niż ty
- Mają więcej wolnego czasu (musisz podzielić czas między rzeczywisty rozwój i sprawdzanie botów, mogą włamać się do kodu bota przez cały dzień)
- Gdy tworzysz dziwaczne, wymagające zabezpieczenia, autorzy botów będą zachęcani, ponieważ fajnie jest przełamać ochronę bota
- Jeśli istnieje czarny rynek ludzi komercyjnie czerpiących zyski z botów, im trudniej jest napisać bota, tym bardziej wartościowe stają się roboty, więc zachęca się do botowania
Zasadniczo zostaniesz uwięziony w wyścigu zbrojeń z dnem, a na podstawie logiki zgodnej z powyższymi punktami, a także mojego doświadczenia z takimi grami, nie będziesz w stanie nadążyć.
Niektórzy twórcy gier stosują wyjątkowo agresywne środki zapobiegające oszustwom: na przykład Steam skanuje pamięć i system plików w poszukiwaniu hacków, a przestępcy mogą zostać ukarani za utratę kont wartych setki dolarów. Jednak nadal są boty i inne hacki do gier Steam, a niektóre z nich działają nawet o połowę krócej. W przeciwieństwie do nich masz interfejs API, który jest szeroko otwarty dla użytkownika i nie ma kontroli nad komputerem użytkownika. Od samego początku jest to bitwa pod górę.
Problem, który próbujesz rozwiązać, to zasadniczo test Turinga: z wyjątkiem tego, że jest to bardzo łatwy test Turinga, ponieważ nie możesz oszukiwać, wymagając trudnych problemów AI, takich jak język. Bez względu na to, ile heurystyk stworzysz, botter może w niewielkim stopniu dodać losowości do działania bota, aby naśladował niemal dokładnie człowieka. Nie byłoby nawet trudno mieć bota, który grał przez chwilę, i uczyć się, jak mierzyć czas akcji dokładnie tak jak ty. Wtedy, kiedy zakaz BOT, słupki Botter ogromny rant na forum o tym, jak on jest tylko dedykowany odtwarzacz (a może on jest rzeczywiście fałszywy alarm) a rdzeń publiczność zapalonych graczy wzrośnie z bronią w ręku przeciwko tobie.
Spraw, by gra była zbyt zabawna, by botować
Głównym powodem, dla którego ktoś używa bota, jest to, że istnieje część gry, którą chce pominąć. Gdyby ta gra sprawiała im przyjemność, nie mieliby bota w nią grać, graliby sami.
Ale jeśli gra jest tak nudna, po co w ogóle grać? Przypuszczalnie niektóre części gry są nudne i obowiązkowe, aby dostać się do części, które są zabawne. Na przykład w MMO wszyscy uwielbiają awansować na wyższy poziom, ale nikt nie chce zabijać 42 324 strasznych nieumarłych szczurów, aby zdobyć XP. Pozwolili więc botowi się zgryźć i wpaść, by zagrać w zabawną rolę.
To nie jest krytyka ciebie ani twojej gry, ale najwyraźniej niektórzy gracze uważają niektóre części gry za nudne. Powinieneś sprawdzić, czy możesz zmniejszyć te żmudne części, i zastanowić się nad dodaniem trudniejszych, znaczących decyzji: Boty nie są dobre w głębokiej strategii lub myśleniu bocznym w porównaniu z ludzką inteligencją, a poza tym ludzie lubią podejmować trudne decyzje w grze.
Z twojego opisu mam wrażenie, że jest to gra przeglądarkowa podobna do Traviana, w której jest kolejka budowania z pojedynczą najlepszą kolejnością budowania i pewnymi zadaniami „konserwacyjnymi” (takimi jak utrzymywanie nalotów farmy), które należy wykonać. Mówisz, że nie ma konfliktu, ale w żadnym dramacie MMO i drobna polityka jest nieunikniona (IMO to główna atrakcja), więc jestem pewien, że twoi gracze znajdą sposoby na uderzenie głową. W tego rodzaju grach większość nudy pochodzi z zadań „utrzymania” - gracze naprawdę chcą zrobić sojusze i grać w grę dyplomacyjną z rywalizującymi klanami, utrzymanie staje się wtedy rodzajem podatku, w którym trzeba się obudzić aż do alarmu w dziwnych godzinach, aby dostać się do tej zabawnej części dyplomatycznej. Wytnij więc nudę:
Takie podejście nie zawsze może niestety działać. Nie wszyscy gracze mają taką samą tolerancję na nudę lub tę samą koncepcję zabawy. Możesz mieć wybitną mechanikę, która spodoba się 99% graczy, ale 1% uważa za nudne. Co jeśli 1% zacznie pisać boty, rujnując zabawę dla 99%? Ale ostatecznie jest to kwestia stopnia. Nigdy nie możesz całkowicie usunąć botowania, ale możesz zminimalizować obrażenia.
Podcięte butelki
Wiele naprawdę negatywnych efektów botów pochodzi od autorów botów, którzy komercjalizują swoją pracę. Jeśli tak jest w twoim przypadku, możesz po prostu konkurować z botami. Wiele gier online opartych na czasie rzeczywistym ma już funkcje premium, które umożliwiają pomijanie czasu i automatyzację (takie jak rozbudowane kolejki kompilacji). Kwoty te stanowią oficjalny bot usankcjonowany przez programistę. Jeśli je posiadasz i odpowiednio je wycenisz, gracze kupią twoją premię zamiast kupować boty. Dobrą wiadomością jest to, że jesteś odpowiedzialny za API, więc zawsze masz silną przewagę w opracowywaniu wysokiej jakości automatyzacji własnej gry, więc tym razem jest to przegrana walka o dno.
Nie wyeliminuje to amatorów-amatorów, ani osób, które uważają, że twoja premia nie jest dobra w stosunku do ceny, więc ponownie skuteczność tego podejścia zależy od sytuacji.
Poszukaj ich ręcznie
Jak powiedziałem powyżej, to, co robisz, jest zasadniczo testem Turinga. Ponieważ interakcja z ludźmi jest znana jako trudne wyzwanie testowe Turinga, możesz spróbować to wykorzystać.
Ręcznie sprawdź graczy na najwyższym poziomie i sprawdź, czy znajdziesz coś podejrzanego. Może nawet uda ci się uciec od czasu do czasu sondowania ich w sposób ograniczony tylko do twojej wyobraźni, aby sprawdzić, czy możesz oszukać bota, aby zrobił coś, czego nie zrobiłby.
Chociaż trudno jest napisać algorytm, który niezawodnie wykrywa boty, nie jest tak trudne dla człowieka, aby nauczyć się je wykrywać. Myślę, że wiele gier przeglądarkowych korzysta z tej strategii i może być całkiem skuteczna. Wadą jest to, że albo musisz cały czas nudzić się, albo płacić mistrzom gry za regularny patrol bota.