Gaming Reverends

He said "You shall play a game!"
And I played a game.

He said "You shall CREATE a game!"
And I said "Still playing, dude!"

- Reverend Greg

Logo: Framed Shapes

Framed Shapes



Framed Shapes is an extension for GameMaker: Studio by YoYo Games that allows to easily create regular polygons and rectangles with a frame instead of just a thin border. Shape and frame can be changed in dimension, corner radius, rotation, rotation origin, color and alpha whereas color and alpha can be set differently for frame and shape.


Framed Shapes - Screenshot 1 Framed Shapes - Screenshot 2 Framed Shapes - Screenshot 3 Framed Shapes - Screenshot 4 Framed Shapes - Screenshot 5

Framed Shapes - YouTube



  • Get Framed Shapes at YoYo Games Marketplace.
  • Open a GameMaker: Studio Projekt.
  • Open the library inside the Marketplace Menu.
  • Add Framed Shapes to the Projekt and import all necessary assets (all except "demo", "template" & "illustrations").


  • Framed Shapes adds multiple script folders to your project:
    • 01 MANUAL: a detailed manual
    • 02 create: all scripts for shape creation
    • 03 draw: all scripts for shape drawing
    • 04 delete: all scripts to remove shapes from memory
    • 05 internals: scripts called by other scripts

  • Framed Shapes also adds additional assets:
    • All assets used in the demo video (marked as "fs_demo - not needed")
    • fs_template object (a simple template to test Framed Shapes)
    • fs_illustrations (under "Included Files") with sketches about the maths behind Framed Shapes.

  • First steps with the template object:
    • import the template object.
    • It includes 3 events.
    • Create event: Framed Shapes always needs to be initialized once: fs_init();
    • Create event: Each shape needs to be created once: fs_create_...();
    • Draw GUI event: Each shape needs to be drawn from a draw event: fs_draw_shape..();
    • Room End event: Once they're not needed anymore each shape needs to be removed from memory: fs_delete_shape(); & fs_delete_all(); or a memory leak will occur.
    • Create a room, add the template object, run.

  • Detailed instructions about syntax and including examples can be found within the script folder "01 MANUAL" as well as within each script.