Configurando la conexión

Para que dos computadoras se comuniquen necesitarán cierto protocolo de conexión. Como la mayoría de los juegos, el Game Maker ofrece cuatro diferentes tipos de conexión: IPX, TCP/IP, Módem y Serial. La conexión IPX (para ser más precisos, se trata de un protocolo) funciona casi completamente transparente. Puede emplearse para jugar juegos con otras personas en la misma red local. Se necesita que esté instalada en tu computadora para que pueda emplearse. (Si no funciona, consulta la documentación de Windows. O ve a la opción Red dentro del Panel de Control y agrega el protocolo IPX). TCP/IP es el protocolo de internet. Puede usarse para jugar con otros jugadores en cualquier lugar mediante internet, suponiendo que conozcas su dirección IP. Una conexión modem se realiza a través del modem. Tienes que introducir cierta información del modem (una cadena de inicialización y un número telefónico) para usarla. Finalmente,

al usar la línea serial (una conexión directa entre las computadoras) necesitas introducir varias opciones de puertos. Hay cuatro funciones dentro del GML que pueden emplearse para inicializar estas conexiones:

 

mplay_init_ipx()inicializa una conexión IPX.

mplay_init_tcpip(addr)inicializa una conexión TCP/IP. addr es una cadena que indica la dirección web o IP, p. Ej. 'www.gameplay.com' o '123.123.123.12', posiblemente seguida por un número de puerto (p. Ej. ':12'). Sólo se necesita la dirección para unirse a una sesión (ve a continuación). En una red local no se necesitan direcciones.

mplay_init_modem(initstr,phonenr)inicializa una conexión vía módem. initstr es la cadena de inicialización para el módem (puede estar vacía). phonenr es una cadena que contiene el número telefónico a marcar (p. Ej. '0201234567'). Sólo se necesita el número telefónico al unirse a una sesión (ve a continuación).

mplay_init_serial(portno,baudrate,stopbits,parity,flow) inicializa una conexión en serie. portno es el número de puerto (1-4). baudrate es la velocidad a emplear en baudios (100-256K). stopbits indica el número de bits de parada (0 = 1 bit, 1 = 1.5 bit, 2 = 2 bits). parity indica la paridad (0=ninguna, 1=impar, 2=par, 3=mark). Y flow indica el tipo de control de flujo (0=ninguna, 1=xon/xoff, 2=rts, 3=dtr, 4=rts and dtr). La función devuelve si la conexión se efectuó con éxito. Una llamada típica a esta función es mplay_init_serial(1,57600,0,0,4). Si especificas 0 al primer argumento se abre un diálogo para que el usuario pueda cambiar la configuración manualmente.

Tu juego debe llamar una de estas funciones una sola vez. Todas las funciones indican si han tenido éxito (si se logra la conexión). No tiene éxito si el protocolo en particular no está instalado o soportado por tu máquina. Para checar si hay una conexión exitosa disponible puedes emplear la siguiente función

mplay_connect_status()devuelve el estado de la conexión actual. 0=no hay conexión, 1=conexión IPX, 2=conexión TCP/IP, 3=conexión vía módem, y 4=conexión serial.

 

Para finalizar la conexión llama a la función

mplay_end() finaliza la conexión actual.

 

Cuando empleas una conexión TCP/IP tal vez quieras decirle a la persona con la que deseas jugar cuál es la dirección ip de tu computadora. La siguiente función te será de ayuda:

mplay_ipaddress()devuelve la dirección IP de tu máquina (p. Ej. '123.123.123.12') como cadena. Puedes p. Ej. mostrarla en pantalla. Nota que esta rutina es lenta por lo que mejor no la llames a menudo.