Programming in Game Maker as a non-programmer


Hi folks,

South Cliff was released yesterday, and I thought it might be interesting to look back on my experiences working with Game Maker Studio 2, as I basically couldn't program at all roughly a year ago.  I'm a musician and artist, so this is enemy territory.

After a bunch of false starts and one very simple game (The Leaping Goblin), I took four months part-time to make South Cliff. I cribbed these questions from a GMS2 subreddit, so here we go...

-------------------------------------------------------------------

-What version of GameMaker were you using?

I stubbornly stuck to 2.2.5.481, as I was nervous that the recent major update might knacker my Jenga-like tower of code.

-How would you describe the development process?

The prototyping process is a joy - all potential and discovery. Then, you settle on what you want, and the painstaking process of iteration and bug-fixing begins. I’ve seen this process over the course of a game’s development scores of times, but never really from a programmer’s perspective. It’s a war of attrition.

-What part of the process was most difficult for you?

Understanding how and when to use for loops was a humbling and difficult process for me. I’m a scatty musician and artist by trade, so this sort of cold, twisting knowledge did not come easily.

-How was working with GameMaker?

I’ve enjoyed it. While not the first dev environment I’ve ever worked in (as part of teams), it is the first I’ve extensively coded within. GML is easy enough for me to grasp, and the workflow likewise. I already have 3 other projects in development with GMS2.

-What did you learn along the way?

The big thing is the usage of ds_grids in a tile-based environment to plot obstacles and, in one fell swoop, solve nearly all of the collision detection problems I’ve been having. My next project is a tribute to Alien and it will extensively use this tile-based engine.

Other aspects include how to realise scrolling environments (which I definitely know can be optimized), organizing and using large arrays of text, and a dip into particle systems.

-What insight can you give us?

For those having issues with collision detection (getting stuck in walls, etc), I’d advise checking tile-based ds_grid collision, as the ‘look ahead’ method works so damn well. Even if you go back to pixel perfect collision, the ‘look ahead’ approach is still valid, and every bit as adaptable.

-Which functions did you rely most heavily on?

I’ve moved away a little from infinitely nested if statements, and towards switch statements and for loops, where appropriate. They made it much easier to move between planned states and reduce bug occurrences massively.

-What would you change the next time around?

I’ve already refined the tile system in my next project, and if I was redoing South Cliff, I would use the version I have now, which allows for state switching much more easily. As I’m more comfortable with ds_grids now, they would feature more.

--------------------------------------------------------------------------

How have you found learning to program, if you've come to it from a different discipline? Let me know.

Cheers,

Nick

Get South Cliff

Buy Now$2.49 USD or more

Leave a comment

Log in with itch.io to leave a comment.