GameMaker Book

Educational Books & Resources For GML Programming


Book Project



Working on descriptions, if you can leave a comment with a 2-3 sentence description of what your example(s) do. I will add to the table below.



Thanks for showing interest in this project.

It will be a collection of 100 ways to improve a GMS2 game, either as GML code or a script.

Basically any coding you think is cool, or code that does a great graphical effects.

It can include pretty much anything that someone could add to an existing project.

Ideally you will submit in multiples of 5, so could contribute 5 or 10, etc, but just 1 is OK.

Payment will be made via PayPal, upon publication of the book and every 3 months when I receive payment. Upon publication you will also receive payment of any pre-orders made. Payment will be a share of 50% of the net revenue received from ebook and paperback sales, depending on how many examples you submit.

Make your suggestions in the comments below, and I’ll add to list.

Once I have a few scripts together, I’ll upload a ZIP of the project files you contributors can download and look at, and make any suggestions for improvement.

All contributors will have their name in the book.

Use the comments at the bottom of the page to add what topics you would like to work on.

Please submit as a project file, showing the code / script / effect in action. You can email them to me at:

Here is a cover by Gurpreet Singh Matharoo:

GameMaker 100 Ways To Improve Your Game

Here is the list so far:








1 Draw Text With Border / Shadow

Draws given text with a shadow / border.

Ben Done
2 Slowly Rotate Gun Turret / Missile

Slowly rotates a static turret or a moving missile towards a given target position. Useful for shooting games, tower defence, etc.

Ben Done
3 Scroll-able Menu

Displays a sub-images of a sprite a scrollable list (middle mouse button), which can be then be selected. Great for a level select screen.

Ben Done
4 RPG Style Text

Display text, using a typewriter effect.

Rob Done
5 Item Reward Effect

A graphical effect, suitable for item collection.

Rob Done
6 Queued Message

Queues a series of text messages, and displays them in sequence. Great for start of a game where you want to give instructions / tips to the player.

Ben Done
7 Fade In/Out on Room Transition

Fade between two rooms.

Rob Done
8 Slowly Move To Position

Will slowly move an instance to the target position.

Ben Done
9 Crafting Via Recipes

Combine items in your inventory to make new items.

Rob Done
10 Item Throb Effect

A pulsing graphical effect. Lots of possible uses.

Rob Done
11 Screen Shake

Shakes the screen. Great to use when a player takes damage.

Rob Done
12 Bezier Curve Paths

Creates a path based on bezier curve function.

David Done
13 Targetted Parabolic Paths

Fires projectile with speed and direction to form a parabolic path.

David Done
14 Custom Controls

Define custom keys for player movement.

David Done
15 Custom Pathfinding

Path finding based on risk and reward.

David Done
16 Ropes Between Objects

Hangs a rope between two moveable fixtures.

David Done
17 Networking Quadier In Progress
18 Procedural Generation Quadier In Progress
19 Optimizations Quadier In Progress
20 Platforming Quadier In Progress
21 Platfomer AI Quadier In Progress
22 TopDown AI Quadier In Progress
23 Delta Timing Quadier In Progress
24 Development Console Quadier In Progress
25 Graphical Effects (Shadows / Wind Effect Quadier In Progress
26 General Code Tips Quadier In Progress
27 Reflections Matharoo  In Progress
28 Bloom Shader Matharoo  In Progress
29 Vertex Buffers Matharoo  In Progress
30 State Machines Matharoo  In Progress
31 Inverse Kinematics Matharoo  In Progress
32 Zooming In/Out On a Map Rob In Progress
33 Knockback Effect Rob In Progress
34 Waiting Suggestion
35 Waiting Suggestion
36 Waiting Suggestion
37 On Screen Keyboard

Popup on screen keyboard, allow user to enter text.

Ben Done
38 Tweens and Easings Zack In Progress
39 Button Effects Using Elasticity and Spring Zack In Progress
40 2D Dynamic Water Zack In Progress
41 Sunburst Effect Zack In Progress
42 Fake 3D Sprite Zack In Progress
43 2 Player Split Screen

Two separate views, each one following a different player.

Ben Done
44 Character Selection Screen

Graphical effect allowing player to choose which character to play. Great for a start of a game to give some variation.

Ben Done
45 Snap To Grid

Snaps the instance to a grid position. Great when you want the player to place instances at fixed grid locations.

Ben Done
46 Highlight Text When Mouse Hovers

Test changes colour when mouse is over. Great when displaying a number of options that the player has to choose from.

Rob Done
47 Blood Splatter Effects

A selection of blood splatter efffects, great for a range of game genres.

Ben Done
48 Coin Collection Effect

Makes the coin move to the player when in range, with a graphical effect.

Ben Done
49 Tool Tip Popup

Displays a pop up message when mouse hovers over it. Great to remind players what buttons can do.

Rob Done
50 Interesting Health Bars

A selection of alternatives to the regular healthbar.

Rob Done
51 Bullet Holes

Displays bullet holes where the player shoots.

Ben Done
52 Player Movement Sprite Control

Four directional movement control, changes sprite to direction, and whether moving or not.

Ben Done
53 Parallax Background

A simple example of this effect, great for a range of game genres.

Ben Done
54 Bomb Throw Effect

Throws a bomb to the click location. Makes the bomb arc and change size.

Ben Done
55 Pushable Objects

Shows how to make instances pushable by the player. For top-down or side-scrolling games.

Ben Done
56 Autonomous Ship Turrets

Set turrets to target selected enemies.

Rob Done
57 Interesting Buttons Rob In Progress
58 Cool Intro/Chapter Text

Some great ways to spice up basic text drawing.

Rob Done
59 Making a tiled World Map Via Code Rob In Progress
60 Screen-Flash Damage Indicator Rob In Progress
61 Floating Wobbly Text

Makes text wobble and float. An interesting effect usable in a lot of ways.

Ben Done
62 Destructible Terrain

Drop a bomb and destroy the terrain.

Ben Done
63 Dynamic Clickable Button

Changes colour upon mouse over or click. Great for buttons and menus.

Ben Done
64 Film Style Credits (Star Wars)

Given text scrolls up from the bottom of the screen, gets smaller as it rises.

Ben Done
65 Platform & Slope Collision Joe In Progress
66 Scrolling Effect Steve In Progress
67 3D Water Joe In Progress
68 2D Destructible Terrain Joe In Progress
69 3D Shader Joe In Progress
70 Colour Control Joe In Progress
71 Top Down Vehicle Physics Joe  In Progress
72 Infinite Runner

A basic example, with some features that can be used elsewhere.

Ben Done
73 Wall Jumping Joe  In Progress
74 Seamless Room Wrapping Joe  In Progress
75 Ghost Follow Player

Follows the path that the player takes.

Ben Done
76 Radar

Draws a mini radar of nearby instances.

Ben Done
77 Shop System

A basic shop, with sprites, costs, and info. Allows you to buy and sell items.

Ben Done
78 Rotating Mini Map

A static map and a rotating map.

Ben Done
79 Select Multiple Troops

Draw a rectangle and select multiple troops.

Ben Done
80 Password Easter Egg

Enter a password to unlock extra features.

Ben Done
81 Motion Predict

Predicts the path of a projectile and draws it on screen.

Ben Done


Here I will record any sales / pre-orders

If you have a blog or website and would like to announce this book project, use this page:

13 Responses to “Book”

  1. Rob says:

    Hey Ben, I have some ideas I can work on already:

    -RPG Style text (show whole string over time, with sound effect)
    -Crafting via Recipes
    -Item Throb Effect
    -Screen Shake
    -Item Glow effect
    -Item Reward Effect
    -Fade In/Out on Room Transition
    -Save/Load ini file system

  2. David says:

    At the moment ideas I can think of are:
    -Bezier curve paths
    -Targetted parabolic paths
    -Character Customization
    -Custom pathfinding
    -Ropes between objects
    I’ll hope to send the first few in the next week.

  3. Quadier says:

    10 Ideas I would like to cover.
    -Procedural Generation
    -Platfomer AI
    -TopDown AI
    -Delta Timing
    -Development Console
    -Graphical Effects (Shadows / Wind Effect)
    -General Code Tips

  4. Cloaked Games says:

    Here are a few things I was thinking of doing. Also Quadier already posted two of the ones I had thought of a while ago, lol.

    -Enemy/player wounded effect. (Blinking)
    -Weighted loot tables.
    -RPG style damage calculation.
    -Doors for going in between two rooms. (Basically, how to link two rooms together in an easy way).
    -Popup text bubbles. (Not dialogue boxes, I’m talking about like, “Hello” when you walk past).

    Also, one question:
    -Does RPG Style text include a typewriter effect? If not I’ll do that too as a separate thing.

    I’ll get around to these in a few weeks. I have school testing to finish first.

  5. Zack says:

    5 ideas I can cover, based off videos on my YouTube channel, The Step Event:
    – Tweens and Easings
    – Button effects using elasticity and springs (Hooke’s Law [])
    – 2D Dynamic Water (builds off elasticity concepts from Buttons [])
    – Sunburst effect (lengthdir_x and lengthdir_y primer [])
    – Fake 3D sprite spinning (sin/cosine primer [])

    – Zack

  6. Rob says:

    -Highlight text when mouse Hovers

  7. Rob says:

    -Tooltip Text Popup!

  8. Rob says:

    -Interesting Health Bars

  9. Rob says:

    My next 5 will be:

    -Autonomous Ship Turrets
    -Interesting Buttons
    -Cool Intro/Chapter Text
    -Making a tiled World Map via code
    -Screen-Flash Damage Indicator

  10. Joe Ellis says:

    Hi, I’ve currently only got 1 project, but am hoping to come up with another 4.
    The one I’ve got is:
    Platform collisions with slopes & moving platforms.

    It basically consists of a player object, blocks, slopes and platforms (that move).
    And 5 concise scripts:

    collision_step (put this in the step event of any object, and it will perform the following (if needed))




    and collision_unstick, which stops any errors occurring or getting stuck.

    Let me know if someone has already done one for this.

    1. Joe Ellis says:

      Came up with a better name for it:

      Platform & Slope Collisions

  11. Joe Ellis says:

    I would like to add:

    Topdown vehicle physics

    3D water with normal maps, refraction & reflection. (Possibly could be too advanced for ways to improve your game, but let me know)

    2d destructible terrain, but Ben has already put this. so it probably repeats what he’s done, not sure cus my version works per pixel, like on worms 1, so could be different and worth having both

    Maybe 3d shader materials, a collection of shaders rendering all the standard things like normal mapping, specular, cubemapping, erm, but I’m not sure if you want stuff like this to be in the book cus 3d stuff is abit “out there” for gamemaker..

    1 last thing, hue shifting, saturation, color limiting, etc. that could be a collection of shaders.

    Just let me know, I can put these things together if you want

  12. Rob says:

    -Zooming in/out on a map
    -knockback effect

    This should take my total to 15

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


Pe-Order My Best Book


Learn To Make 10 Classic Games

For GameMaker Studio 2

More Info Here