Het ontwerpen van spellen met Game Maker
Het insluiten van bestanden in stand-alone spellen
Zoals al eerder in deze handleiding is aangegeven heb je de mogelijkheid om stand-alone spellen te maken. Dan kan het voorkomen dat je extra bestanden voor die spellen nodig hebt. Bijvoorbeeld, je zou korte viedeo- of tekstbestanden willen gebruiken in je spel. In andere gevallen wil je een aantal DLL's of afbeeldingen of geluiden willen toevoegen die worden geladen tijdens het spelen van het spel. Je kunt die bestanden samen met het spel, bijvoorbeeld gezipt aanbieden, maar soms is het eenvoudiger om al die bestanden in het spelbestand te integreren. Op die manier hoef je maar één bestand te verspreiden.
Je kunt aangeven welke files allemaal dienen te worden opgenomen in het spelbestand. Bovenaan het venster is een lijst met bestanden die worden opgenomen in het spel. Gebruik Add om bestanden te selecteren die aan de lijst moeten worden toegevoegd (je kunt meerdere bestanden tegelijk selecteren). Gebruik Delete of Clear om één of meerdere of alle bestanden uit de lijst te verwijderen. (Houd er wel rekening mee dat de bestanden niet in het .gm6 bestand zijn opgenomen, maar alleen maar de namen van de bestanden. Dat betekent dat als je iemand je te bewerken .gm6 bestand stuurt, je ook de bestanden moet opsturen om er uiteindelijk een stand-alone van te kunnen maken.)
De bestanden in de lijst worden in de executable verpakt als deze wordt gemaakt. Als de game wordt gespeeld worden deze bestanden uitgepakt waardoor ze in het spel bereikbaar zijn. Het is belangrijk om te weten waar dit gebeurt. Je kunt daarvoor uit twee mogelijkheden kiezen. Standaard worden de files opgeslagen in de map waarin het te spelen spel staat. Dit is ook de werkmap voor het spel. Op die manier heeft het spel voldoende aan de bestandsnamen omdat hij dan automatisch in de werkmap naar die bestanden gaat zoeken. Je hoeft dus geen pad op te geven. Deze manier werkt prima als je het stand-alone spel hebt opgeslagen op een harde schijf maar zal absoluut niet werken als het is opgeslagen op een medium met alleen-lezen moegelijkheden, zoals een CDROM.
De tweede manier is om aan te geven dat de bestanden moeten worden uitgepakt in een tijdelijke map, die tijdens het spelen van het spel wordt aangemaakt. Als je deze optie kiest moet je wel een pad opgeven naar die tijdelijke map omdat anders het spel niet weet waar het de bestanden vandaan moet halen die nodig zijn om het spel te kunnen spelen. Het pad kun je instellen door gebruik te maken van de ingebouwde variabele temp_directory. Vergeet echter niet om in dit geval de backslash toe te voegen. Als je bijvoorbeeld een stukje video in je spel wilt laten zien kun je het volgende stukje code gebruiken:
Besef wel dat de tijdelijke map weer van de computer wordt verwijderd als het spel wordt beëindigd. Dat betekend dat je in dit geval geen spellen kunt opslaan of spelinformatie kunt bewaren. Gebruik deze optie alleen maar als je het spel vanaf een CDROM wilt draaien of als tijdens het spel geen informatie hoeft te worden weggeschreven.{ show_video(temp_directory+'\movie.avi',true,true); }
Als een uitgepakt bestand reeds in de map bestaat dan wordt die standaard niet overschreven. Je kunt dat wijzigen door een vinkje te pplaatsen in de box Overwrite existing files. daarnaast worden normaliter de uitgepakte files niet verwijderd als het spel wordt beëindigd (tenzij die bestanden zich in de tijdelijke map bevinden, die compleet van de computer wordt verwijderd). Je kunt dit veranderen door een vinkje te plaatsen in de box Remove at game end.
Een waarschuwing is hier wel op zijn plaats. Als je je spel bent aan het testen, is de werkmap de map waarin het .gm6 bestand staat. Als je bestanden die moeten ingepakt worden bij het spel hier ook staan en je maakt de keuze om na het beëindigen van het spel alle files te verwijderen, dan ben je uiteraard ook die files kwijt die bij het spel moeten worden ingepakt. Dat zal wel niet de bedoeling zijn. Daarom kun je die bestanden beter in een andere map plaatsen en dus niet in de map waarin het .gm6 bestand staat!