-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

GameMaker Cookbook
By :

In the days of arcades, a high score was king. It wasn't enough to beat a game; you had to get in the top 10 highest scores in order to claim local fame. Once your score was high enough to knock someone out of the top ten, the victory could be finalized by putting your initials next to it. Or a dirty word. Not that I've ever done that….
Regardless, a lot of games today don't rely on a scoring system, but focus on the story, experience, or multiplayer rankings. Let's bring back a little piece of gaming history by creating a simple scoring mechanism.
This recipe does not involve any new sprites or other assets but does require a new object. Call the object obj_score
and leave the sprite box blank.
obj_score
, add a Create event. 0
.x: 32 y: 32 caption: Score:
obj_score
Object Properties window and open obj_enemy_patrol
.obj_projectile
and, from the Main1 tab, drag and drop Destroy Instance to the Actions box (Applies to: self). 10
relative. obj_projectile
. obj_enemy_patrol
and drag and drop Destroy instance at Position like you did previously.GameMaker is again doing a lot of the heavy lifting, here. You created obj_score
to keep track of scoring. Not assigning a sprite to it will allow the object to be in a room, affecting the game, without being seen. The rest of the recipe is simply placing the score counter as a GUI element, checking for collisions between projectile and enemy, and adding points and destroying the two when they collide.
In this recipe, obj_score
acted as what's referred to as a controller
object. These objects are often invisible and control specific aspects of the game. Since an object needs to be active in order for its actions and variables to be used, any aspect of the game that needs to be present without interruption should be assigned to a controller. I use controllers for music, HUD, global variables, and more.
Most chapters going forward will deal with controllers and their various functions.
Change the font size
Change margin width
Change background colour