

El objetivo de desarrollar este juego es en realidad el estudio de los controles realizados en la comunicación cliente / servidor. Además de la conexión entre todos los jugadores, se desarrolló el tratamiento de fallas, lo que considero la parte más importante.
Supongamos que hay varios jugadores jugando conectados, y luego uno de ellos pierde la conexión, debido a problemas técnicos. El juego depende de que todos los jugadores estén presentes para proceder con los movimientos. De esta manera, se implementó un tratamiento en el que se detiene el juego, lo que permite que el servidor decida qué quiere hacer:

Algunos juegos bien conocidos y de buena reputación utilizan la técnica de votación, donde todos los jugadores restantes deciden juntos lo que se hará. Aquí esta decisión es tomada solo por el servidor, para facilitar el proceso.
Puedes jugar con tantos oponentes como quieras. Elija uno para ser el servidor, y el resto serán los clientes que se conectarán al servidor. En el servidor, recuerde permitir conexiones entrantes al firewall de Windows (generalmente la primera vez que se abre el juego en modo servidor, Windows en sí mismo le preguntará si desea abrir el puerto de juego para acceso externo). El servidor puede definir las reglas del juego, mientras espera que todos los jugadores se conecten.
Recuerde establecer el diccionario correcto en las reglas del juego (este no es el lenguaje del juego, sino el diccionario para obtener letras aleatorias).
Cuando todos los jugadores están conectados, el servidor puede iniciar el juego. Puedes chatear con todos los jugadores en cualquier momento usando el panel lateral.
Cada jugador tiene su turno, en orden secuencial, indicado en el panel lateral. Inicialmente, todos los jugadores recibirán la misma cantidad de letras. La idea es construir palabras, usando tantas letras como sea posible. El juego termina cuando un jugador alcanza el puntaje definido en las reglas (letras de gol). Cada vez que complete su movimiento, todos los demás jugadores deben aceptar las palabras que ingresó. Si algún jugador no acepta, su movimiento no se tendrá en cuenta. Puedes usar el chat para discutir.
Al final de cada movimiento, sus cartas siempre se completarán para mantener la misma cantidad. Si no usa ninguna letra en un movimiento, todas sus letras se intercambiarán.
Un movimiento solo se puede completar cuando todas las palabras ingresadas son válidas. Los jugadores deben definir entre sí antes de comenzar el juego qué tipo de palabras serán aceptadas. Normalmente, solo se aceptan palabras en el diccionario.

Hay una carpeta que contiene archivos de traducción (.lang). Puedes enviarme una nueva traducción de idioma si lo quieres.
Por ahora, el juego admite letras en:
Para cada idioma, hay un archivo de recursos de diccionario, que básicamente indica todas las letras del alfabeto admitidas y cuántas veces ocurre cada una.
Hay una carpeta que contiene archivos de diccionario (.dic). Puedes enviarme un diccionario en el idioma deseado.
Presa: https://github.com/digao-dalpiaz/dam
Dzsocket: https://github.com/digao-dalpiaz/dzsocket
Me estoy desarrollando en Delphi 10.3.3 Community Edition. Todavía no sé especificar en qué versiones anteriores es posible compilar.
Usted puede enviar errores y sugerencias, así como convertirse en un probador. Por favor, no dude en abrir tantos problemas como desee. Si desea probar el juego, contácteme por correo electrónico en mi perfil Github.
El servidor funciona en el puerto TCP 6631.