The Game Maker forum has a topic Game Maker and Math at http://gmc.yoyogames.com/index.php?s=f19f1e33a94ace369d9818768516c050&showforum=5 which is worth reading.  It gives a student perspective about learning maths and making games.

One of the greatest values of game programming is its ability to motivate and engage students. Game programming also requires mathematical and logical skills. 

Number

X, Y, speed, direction, health and lives take numeric variables. They can take positive, negative, integer or real values. They are operated on by the usual arithmetical operators. Relative and absolute values are used. There are equality and inequality relationships.

Space

The screen is a Cartesian plane. Values can be given in Cartesian (vspeed, hspeed) or polar (speed, direction) co-ordinates. Games can be front view, top view, or isometric. 3D effects require parallax and perspective. Experience with basic shapes such as blocks, cones, cylinders, ellipsoids, edges, faces etc      

Understand space by: visualising; drawing; viewing; making models; scaling; rotating; reflecting; translating

Generate symbolic rules for simple linear relationships and understand non-linear relationships

Measurement

Distance, velocity, vectors, angle measurement in both degrees and radians. Trigonometric and logarithmic functions available 

Chance and Data

random() function

Pattern and Algebra

An early and motivating experience with algebraic variables for students. Boolean logic, inequality relationships and functions are encountered in a relevant and authentic context.

Mathematical modelling: They design their own models and recognise limitations of specific models. Students think reflectively, recognise and articulate limitations of modelling.

Generalisation and opportunity to apply mathematics in another context

Pattern - identify, continue and invent patterns and rules

Working Mathematically

“Working mathematically provides for our sense of mathematical inquiry: problem posing and problem solving, modelling and investigation. It involves the application of principled reasoning in mathematics, in natural and symbolic language, through the mathematical processes of conjecture, formulation, solution and communication; and also engages the aesthetic aspects of mathematics. “

A strength of programming is that the “conjecture, formulation, solution “ cycle is very short. The reason why computer programming is so engaging, and it is very engaging, is this short development cycle. The short development keeps the learner in an almost constant state of cognitive conflict. This is a state of intense learning.

Problem posing and problem solving, modelling and investigation” are a natural part of game programming.

Self-checking: Self-checking is a key behaviour of a mathematician.  Game programming encourages students to check that their proposition is correct in all circumstances, and trial various strategies for problem solving. 

Develops confidence and disposition to use mathematical understandings wherever appropriate

References

'Game Programming and the VELS' (Victorian Essential Learning Standards) - Tony Forster 12/6/05

Tasmanian Essential Learnings Being Numerate Support Materials