Het ontwerpen van spellen met Game Maker
Een verbinding maken
Om 2 computers te laten communiceren hebben ze een protocol nodig. Zoals de meeste spellen, biedt Game Maker 4 verschillende types van verbindingen: IPX, TCP/IP, Modem, and Serial. De IPX verbinding (om meer precies te zijn, het is een protocol) is bijna volledig transparant. Het kan gebruikt worden om spellen te spelen met mensen op hetzelfde LAN netwerk te spelen. Het moet op je computer zijn geïnstalleerd om gebruikt te worden. (Als het niet werkt, kijk dan in de handleiding van Windows. Of ga naar het netwerk pictogram in het configuratiescherm van Windows en voeg het protocol toe.) TCP/IP is het internet protocol. Het kan gebruikt worden om games te spelen met andere spelers op het gehele internet, ervan uitgaande dat je het IP-adres van de speler weet. Op een LAN netwerk kun je het gebruiken zonder een IP-adres in te vullen. Een modem verbinding word gemaakt door een modem. Je moet een paar instellingen invullen (een initialisatie regel en een telefoonnummer) om het te gebruiken. Als laatste, als je een serial verbinding gebruikt (een directe verbinding tussen de computers) moet je een aantal poortinstellingen opgeven. Er zijn vier GML functies die gebruikt kunnen worden om deze verbindingen te initialiseren:
mplay_init_ipx() Initialiseert de IPX verbinding.
mplay_init_tcpip(addr) Initialiseerd de TCP/IP verbinding. addr is een regel die het internet adres of IP-adres bevat bijv.: 'www.gameplay.com' of '123.123.123.12', mogelijk gevolgd door een poortnummer (bijv.:'12'). Alleen als je een sessie 'joint' (erbij komt) moet je dit adres invullen. Op een LAN netwerk hoef je geen adressen in te vullen.
mplay_init_modem(initstr, phonenr) Initialiseert de modem verbinding. initstr is de initialisatie regel voor het modem (kan leeg zijn). phonenr is een regel die het nummer dat gebeld moet worden bevat (bijv. '0201234567'). Alleen als je een sessie 'joint' (zie beneden) moet je een telefoonnummer invoeren.
mplay_init_serial(portno, baudrate, stopbits, parity, flow) Initialiseert een seriële verbinding. portno is het poortnummer (1-4). baudrate is het bautrate dat gebruikt moet worden (100-256K). stopbits bepaalt het aantal stopbits dat gebruikt moet worden (0 = 1 bit, 1 = 1.5 bit, 2 = 2 bits). parity bepaalt even of oneven (0=geen, 1=oneven, 2=even, 3=mark). En flow stelt het type flow control in (0=none, 1=xon/xoff, 2=rts, 3=dtr, 4=rts and dtr). Geeft terug of het succesvol was. Een kenmerkende invulling is: mplay_init_serial(1,57600,0,0,4). Schrijf 0 als eerste argument om een dialoog met de speler te openen om deze instellingen te veranderen.
Je spel moet één van deze functies één keer gebruiken. Al deze functies geven terug of ze succesvol zijn uitgevoerd. Ze zijn onsuccesvol als het gebruikte protocol niet geïnstalleerd is, of niet ondersteund wordt door de computer. Om te controleren of er een succesvolle verbinding beschikbaar is kun je de volgende functie gebruiken.
mplay_connect_status() Geeft de status van de huidige verbinding weer. 0 = geen verbinding, 1 = IPX verbinding, 2 = TCP/IP verbinding, 3 = modem verbinding, and 4 = seriële verbinding.
Om de huidige verbinding te verbreken gebruik je deze functie.
mplay_end() Beëindigt de huidige verbinding.
Als je een TCP/IP verbinding gebruikt wil je het persoon waarmee je het spel wilt spelen waarschijnlijk je IP-adres vertellen. De volgende functie kan je hierbij helpen:
mplay_ipaddress() Geeft het IP-adres van je computer terug (bijv. '123.123.123.12') als een regel. Je kunt dit bijv. laten zien ergens op het scherm. Merk op dat dit een trage functie is dus gebruik het niet iedere stap.