Beschouwingen over snelheid

Als je ingewikkelde spellen maakt, wil je vast en zeker dat ze zo snel mogelijk werken. Hoewel Game Makerer alles aan doet om de spellen zo snel mogelijk te maken, hangt er veel af van de manier van ontwerpen. Het is helemaal niet moeilijk om een spel te maken dat enorme hoeveelheden geheugen gebruikt. In dit hoofdstuk zal ik wat hints geven voor het maken van snellere en kleinere spellen.

Wees ten eerste voorzichtig met het gebruik van sprites en achtergronden. Bewegende sprites gebruiken veel geheugen en het tekenen van veel sprites kost veel tijd. Dus maak je sprites zo klein mogelijk. Verwijder alle onzichtbare ruimte rond de sprite (het commando cropin de sprite editor doet dat automatisch). Hetzelfde geldt ook voor achtergrondafbeeldingen. Zorg ervoor dat je het gebruik van een achtergrondkleur uitzet wanneer je een achtergrondafbeelding hebt die de hele room bedekt.

Wanneer je gebruik maakt van fullscreen mode zorg er dan voor dat de grootte van je room (of window) nooit groter is dan het scherm. De meeste videokaarten kunnen plaatjes makkelijker opschalen naar een groter formaat dan omgekeerd. Indien mogelijk kun je het beste de cursor uitschakelen. Daardoor wordt het tonen van afbeeldingen erg vertraagd.

Wees ook voorzichtig met het gebruik van meerdere views. Voor elke view moet de room opnieuw getekend worden.

Naast de afbeeldingen zijn er nog andere aspecten die de snelheid beïnvloeden. Wees er zeker van dat je zo weinig mogelijk instanties hebt. In het algemeen moet je instanties die niet meer nodig zijn verwijderen (bijvoorbeeld als ze de room verlaten). Vermijd veel werk in de step event of de teken event van instanties. Vaak hoeven dingen niet in elke stap gecontroleerd te worden. Het interpreteren van code gaat best snel, maar het moet wel geïnterpreteerd worden. Ook kosten sommige functies en acties veel tijd, met name die alle instanties moeten controleren (zoals bijvoorbeeld de bounce actie).

Denk erover na waar je de collision events wilt toepassen. Normaal gesproken heb je twee opties. Objecten die helemaal geen collision event hebben worden veel sneller behandeld, maar pas ze bij voorkeur toe in die objecten die slechts een paar instanties hebben.

Wees voorzichtig bij gebruik van grote geluidsbestanden. Deze nemen veel geheugenruimte in beslag en slecht te comprimeren. Misschien kun je eens bekijken of je je geluiden door middel van sampling kleiner kunt maken.

Tenslotte, wanneer je een spel wilt maken dat door veel mensen gespeeld kan worden, test je spel dan ook op oudere computers.