Site home Platforming Auto-sprites Vectors Path Finding quaternions.htm Variable Scope Water Panic Super Bouncy Ball Balls of Doom Contents k8055 GM Downloads | |
Gamemaker game development resources
I first found out about Mark Overmars's Gamemaker in 2004, through reading
a review of "Raging Skies". Having played the game right through I
became curious about the game design system.
The following are not finished programs, they are either unfinished projects
or they are examples and tutorials showing ways of using Gamemaker 5.3A.
Path_finder and bigmap require registered Gamemaker 5.3, others will run on
an unregistered copy.
These examples should port to Gamemaker 7, though in a few cases there are
differences. Bigmap will not port due to the advanced draw functions having
changed completely.
Ongoing projects:
| Bouncing ball game
A very simple game
with only one control.
Press a key to run, try not to get squashed by the giant bouncing balls.
Alternative
version: run away from the giant soccer ball, small balls only slow you
down but if the big one rolls over you its all over
|
| Water Panic Web Version
Mostly the same as the GM5.3 version but exported to HTML5. Currently its
a little patchy due to aspects of the original that don't export well. |
List of gamemaker tutorials with example code, free to use
| Path Finder How to use the mp_grid_path
function to find a route without using obvious "grid" motion.
Using the generated route as a path will lead to an instance following a
very strict path that may be unsuitable in many games. By generating the
route then parsing the resulting path and extracting its nodes it is
possible to "guide" an instance to a goal without putting it on
obvious "rails".
|
|
Vectors
Some notes on using vectors in 2D. Incomplete
|
| Quaternions and rotation in 3D A set of
GML functions for dealing with rotation and orientation in 3D. Examples are
given here
|
|
Platform game design A series of tutorials
describing a technique for designing platform games with advanced features
like slopes and friction. It doesn't cover ladders yet.
|
| GM Event sequence (Slightly updated for
Studio) Although this page forms
part of the platform tutorial, this information is also useful to any
gamemaker designer who
needs to understand the order in which events are executed. Event sequence
can cause obscure bugs when actions are not carried out in the order you
expect. The event sequence in GM Studio has been improved significantly,
such that an instance's destroy event can be relied on as a
"clean-up" event. Note that as "Destroy" events will be
called when a room ends you should not use "destroy" to place
"drops" or increment score.
|
| Auto sprite
(version for GM Studio using asset_get_index) The following technique will help in assigning the large numbers of
sprites needed for good animation in a platform game, especially one with
more than one player or with walking monsters. The technique can also be
applied to animating objects that rotate, or any game where an instance goes
through changes of state that mean changing the sprite, and it is desired to
have generic creation code and not hard-code the assignments.
|
|
Path Tracer
/ Path Tracker example (GMD)
Path Tracer demonstrates a novel use of paths to track players in a racing
game. As it stands it tracks the progress of the mouse pointer round a
figure-of-eight path. The path end event is used to implement a lap counter. The
sum of path_position and laps gives a value for the player's progress in the
race. Using this the game can almost always know which player is leading. At
present I haven't implemented backtracking so if the player is being silly and
going backwards the tracker will not follow.
|
|
Dragging with mouse (GMD)
This shows a way to allow an object to be moved by clicking on it.
It uses an alarm rather than the step event, so that inactive objects do
not slow the game down.
Two objects are given, one using Drag&Drop, the other GML. The code
tries to prevent multiple objects being dragged using a crude cancel
mechanism.
|
Abandoned projects, available for use but please credit
These may be used as example code but are not documented in detail the way
the previous list are.
| Super Bouncy Ball is an abandoned project,
and as such may be treated as an example file for modification.
It arose from an experiment in
combining a crude "physics" engine with a platform game engine,
then throwing in some cute sprites.
Download Zip file Download
GMD file
|
| Bigmap is another abandoned project, a "Turn and thrust" game
with the complication that your ship is attached to a sphere by a connecting
rod. At present the ship bounces off scenery and cannot be destroyed,
although at least one player got it stuck.
Download Zip file Download
GMD file
|
| Water maze is an unfinished version of Water
Panic. Most of the physics is already in place, the monster AI is
similar to the finished version and the demo plays quite well. I'm making
this available as an example file.
Download Zip file Download
Zip of GMD file
|
|