No especificas el tipo de juego, por lo que me inclinaré mucho hacia los juegos RPG / MMO. Pero mucho de esto puede aplicarse a los juegos de FPS, Estrategia y Acción. La forma en que las grandes compañías de juegos multijugador como Blizzard tratan este problema en sus juegos es:
- Haga todos los cálculos y las acciones del juego del lado del servidor, el cliente es solo una terminal tonta y un motor gráfico. Entonces, si los jugadores usan un cliente diferente, realmente no importa en términos del juego, no pueden engañar a la física del juego.
- Busca programas / clientes de bot obvios buscando acciones obvias de la computadora como la repetición perfecta de eventos de clic y movimientos del mouse.
- Comprueba si hay programas / clientes de bot no obvios y alerta a los moderadores del juego sobre el problema.
Luego aparecen en el juego (si es posible, para los mismos juegos como Starcraft 2 no lo es) o de lo contrario miran / hablan con el jugador sobre sus acciones como un "control humano". O al menos así es como debe manejarse. Blizzard es bastante bueno en esto, pero históricamente otras compañías de MMO no lo han sido.
Buscar bots no obvios no es fácil, pero algunas reglas básicas a seguir incluyen
- Buscando jugadores que, con solo una ligera variación, estén realizando las mismas acciones una y otra vez. Esto podría estar sentado en un nodo de recursos en un MMO y cultivarlo cuando reaparece, o podría estar corriendo en círculos entre los paquetes de salud / munición en un FPS y nunca desviarse de una ruta específica y siempre usando la misma arma. (Los bots subóptimos en los FPS son raros, pero si su juego tiene una escalera para subir donde el número de juegos es más importante que el talento del jugador como algunos FPS modernos, los bots vuelven a ser valiosos)
- Buscando jugadores que ejecutan la misma carrera o estrategia exacta una y otra vez en un RTS. Hay ciertas órdenes de construcción en Starcraft que pueden ser casi imbatibles cuando las realiza un bot.
- Buscando jugadores que hayan reunido grandes sumas de recursos y ahora estén trabajando sin parar en un elemento. Este fue un gran problema en Ultima Online.
El problema es que cuanto más popular sea tu juego, y cuanto más fructíferos puedan ser los bots para reducir el tedio en tu juego, más probable será que las personas usen y creen estos bots. Y es trivial restringir la velocidad de movimiento del mouse, agregar variaciones humanísticas aleatorias a los clics, incluso hacer que el bot cometa errores a un ritmo humano, abriendo y cerrando partes del menú, presionando el botón incorrecto y luego cerrando la ventana, cambiando entre el teclado y El ratón funciona como los humanos para reducir la fatiga de las manos. (Ni siquiera te das cuenta de que lo haces)
Entonces, el último paso cuando alguien o un bot está haciendo algo repetitivo durante mucho tiempo realmente tiene que ser un mod humano que se acerque al jugador y le hable. Si están allí y responden con respuestas humanas, son humanos. Por lo general, los mods le pedirán al jugador que se detenga por un tiempo, o los siga a alguna parte y realice otras acciones, los aros se vuelven más complejos con el tiempo.
Tanget
Por supuesto, eventualmente alguien creará un bot que no se puede distinguir de una persona real, pasando la prueba de Turing. Y hay muchos escritores de bots por ahí que pretenden hacer precisamente eso.
Yo mismo tenía una fascinación pasajera con la idea cuando comencé a programar y creé bots inútiles para Ultima Online que se pararía en la ciudad e imitaría a los NPC. Los comandos eran súper simples, por lo que eran fáciles de hacer, solo presionando las teclas para avanzar en diferentes direcciones, y mirando el registro del chat por su propio nombre y enviando los mensajes a ALICE a través de una versión web de la IA. No recuerdo cuál y probablemente ya no exista.
/Tangente
El punto es que debes decidir dónde dibujar la línea. Si no puede permitirse el lujo de un ejército de moderadores para hablar con las personas que su sistema identifica como bots, probablemente sea mejor dejar que la comunidad marque a las personas como bots, y luego, cuando sea suficiente, patear al jugador durante aproximadamente una hora. No prohibir, solo patear. El verdadero problema para la mayoría de los jugadores es que los bots acaparan recursos que otros jugadores humanos podrían estar usando. Si las turbas son escasas, como era el problema con Ragnarok Online, entonces los bots que deambulan y limpian áreas enteras de enemigos mientras recogen objetos (o no) son comunes, y arruinan el juego para otras personas. Para que pueda evitar el costo de los ejércitos administrativos de esa manera.
Finalmente, también puedes vivir con bots como una realidad de tu espacio de juego y fomentar su uso. Esto requiere diseñar su juego alrededor del uso eventual y común de bots, entrenadores y programas de ayuda. Quiero decir que hubo un MMO que hizo esto hace unos 10 años, pero no recuerdo cuál era. Deletreó el final del juego, porque los MMO son muy pesados y significa que el 95% de los jugadores nos alejamos de sus teclados en cualquier momento y destruyeron la comunidad. Si sigues esta ruta, ten cuidado.