Monday, 21 March 2011

Fiddling around with Game Maker

I decided it could be interesting to try out some free game making engines, since I was in something of a slump on my personal game, and I'd made heavy progress on my Flash game, possibly due to the excitement of creating a game combined with the excitement of trying a new language. I'd heard a lot of good things about free-to-use-but-costs-money-to-own-a-complete-version game making tool Game Maker (Which is an apt name) and that day our fates crossed, and I downloaded it, sat and read the Terms and Conditions for about two hours, and went to bed. In the morning I went to class. After class I finally had the opportunity to try it out.



On the first opening I was given a free optional tutorial on the side which told you how to construct a game and use most of the features. I'm an overentitled pro, so to me tutorials are for squares and n00bs, I was done with that shit six years ago and I wasn't looking back.

I took one look at the blank screen and realised I had no clue what I was doing. I followed the tutorial for a while until I reached the point I decided to just read the rest and not actually do it. I'd also made a mistake somewhere along the way which made me realise it would take a while to complete the example game, and I didn't feel like making a game that had been made before. I wanted to get right on to making something, regardless of whether it worked or looked terrible. So I'd absorbed, but not fully understood, most of the tutorial, and decided that instead of a game where you click on things with the mouse, I'd make a character move in four directions, possibly put collisions in there if it's easy. (And to me it's always been hard. By hard I mean I've never done it. I'm dreading its arrival on my Flash Project)

I don't think this is what was meant to happen.


So I started off with a character. I had to add both a press and a release event for all four arrow keys on the character, which I suppose could well be minor for objects in completed games, I don't know.

What surprised me was that you give objects "move" commands, which move them, rather than controlling their x and y locations manually like with most other programming languages. I tried using the collision events and before long I'd got collisions for every direction in, with just one event. Oddly, to make it work, I set the character to not move while collided with a wall. This overrode all the move functions on the keys, which I thought was a very weird system.








But the character collided with the walls from above in a way that made her head seem like it was colliding with them. Think moving a lot of little paper cut outs around. How could I make her look like she was walking up to the wall before stopping?

I made the bottom parts of walls (which I'd made look different not knowing I'd do this) a different object, with no collisions on it. After that, the character moved up against walls as if her feet were her centre of rotation, rather than her whole body.



I was quite impressed by how much I'd achieved on my first (technically second) go, and continued to play around with it. I added a door, which led to another room (making the rooms was pretty simple, as it comes with a level editor- you don't even need to use tiles, and you can set your tile size. Beyond that I'm not sure how it works exactly, it seems to allow you to change the grid after objects are down, so presumably you can have several different grid systems at once.)

The room allowed me to put in a flash transition by simply picking one out of a box, which was great. But what I realised afterwards was that my door and its event only led to the start of room 2. How was I going to make a door that lead back the way I came? I didn't want to make a new object for each door, but I couldn't figure out how to put a variable on the door to determine which subtype it was. All the doors would lead to the start of room 2. At this point I called it a day and thought I could return to it if I ever got bored. Which probably won't happen. Still, overall I was proud of what I'd achieved, and the new language I'd tried to learn, regardless of whether I'd stop here. I was also impressed at how what I made in a few minutes looked better than almost all of my previous 2D attempts.

Here's a playable version.

No comments:

Post a Comment