GameMaker (2.0 - 2.2.x)

Adjust Everything - Holy Grid

Ground Effect Games

You must be logged in to obtain assets


The holy grid is a ds_grid which adjusts variables over time until they match a value. Wield the awesome power of the holy grid, and slay that repetitive code! Includes CSV import and export scripts.

How many times have you written code that looks like this... in the same object:

//Adjust a variable
if value<100

People, I feel your pain. Behold, the power of the holy grid!

holygrid_step(yourholygrid,0,1)//in this case, we are handling two equations, but you can have as many as you want!

This is a heavy duty solution for objects that are crunching lots of adjustments at once. It cleans up your code very nicely, and allows you to easily swap out game play mechanics through .CSV spreadsheet import and export.

 yourholygrid=import_csv(file path)//import a .csv spreadsheet that you created in excel!
  • Write your own presets in excel and call them at will
  • Choose a linear or differential equation
  • Adjust an unlimited number of variables with a minimum of CPU
  • Mighty morphing gui buttons!
  • Particle spiral example object!

How it works:

The holy grid works like an excel spreadsheet where rows represent equations, and columns represent equation variables or their coefficients. After creating a ds_grid of the appropriate size, call a programmable preset which sets up the values used in the equations. You may then call the holygrid_step() script to iterate those equations as needed (this does not have to happen in the step event). The last step is to retrieve the results using game maker's built in functions.

Want more? Here is a link to everything by this author:

Click "more info" to get the demo!

More info

End User Licence Agreement (EULA).

Age Rating: 4+


GMS1 - Version 12.10.14. Published December 10, 2014

Added .CSV file support. Improved naming conventions and comments.

GMS2 - Version 12.10.18. Published June 10, 2018

Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait