Under new ownership

The Game Maker Blog is under new ownership as of the end of last year (2016).  Since then, there has been a flurry of articles posted on the blog in efforts to reignite the website.

Resulting in the new site owner Mark asking if there is anyone that wants to contribute to the blog company website.  As I like to contribute to just about anything that interests me I sent Mark an email expressing my interest.

But what do I talk about?

Several days past and I finally got a response to my expressed interest in contributing to the blog.  My initial email stated that I’d love to get involved but wasn’t sure what I could write about.  I mentioned I was a professional web developer, and offered my services to help adding features to the site.

The response

Mark’s response suggested that I write an article about the importance of having a website to publicise your games and the development of your games.  This sounded like a great idea, so that evening I made a start on the article and managed to get the initial draft finished that evening.

A day or so later and I had finished the article and was ready to send it over the Mark for review.

Once I sent the article I felt a relief that I had actually completed it and sent it over, but at the same time I felt anxious that it wasn’t good enough as this was the first time I’d written an article that had the potential of being viewed by 1,000’s of people.  A couple of weeks passed and I’d heard nothing back so I started to worry that I’d written a load of complete garbage.

Finally getting it posted

Then a couple of days ago I received and email from Mark apologising that he’d not gotten back to me and that my email had been lost in his mailbox.  He informed me that he’d review my potential blog article and post it on the site soon.

Then last night I finally received that email, my article had gone live.  So I’ve been sharing it like mad!!

For those that haven’t found it yet here it is.

Basic Movement Guide

Click here if you just want to copy and paste the movement script group task management.

The following Game Maker Language (GML) script is used to aid in the movement of objects within your GameMaker game, it takes in two arguments, the horizontal speed and the vertical speed.  The script also assumes that there is an object (ObjSolid) which it checks for when calculating the movement on a per step basis.

The first part of the script assigns the two values passed in when calling the script, in this case I’ve used hspd and vspd to represent the horizontal and vertical speeds of the current object.

var hspd = argument0;
var vspd = argument1;

The next section of code deals with setting the horizontal movement (x-axis), first it checks to see whether there is any objects with the ObjSolid inheritance in the next x y meeting place using the place_meeting() function.  It uses the ! to invert the result, you could also consider it to mean “not equal”, so the following snippet is looking for a result that is equal to not true (false).

// Horizontal movement
if (!place_meeting(x + hspd, y, ObjSolid))
{
    x += hspd;
}

In addition to the horizontal movement we also have the vertical movement.

// Vertical movement
if (!place_meeting(x, y + vspd, ObjSolid))
{
    y += vspd;
}

Furthermore once we’ve calculated whether we can move into the next x y coordinates we then assign a value of true or false based on whether current object has been able to move or not by checking the current x and y against the x and y in the previous step.

// Store the move result
var moved = x != xprevious || y != yprevious;

Finally returning the value with

// Return true if we are able to move
return moved;

Final Result

Below is the full script, feel free to copy, paste and share this.  If you feel you can improve on this then please leave a comment with the updated code and I can get this post updated accordingly.

/**
 * Script: ScrMovement
 * Arguments: (int) hspd
 * (int) vspd
 * Explanation: Calculates movement of player, also implements basic collision 
 * with solid object (ObjSolid).
 * 
 */
 
var hspd = argument0;
var vspd = argument1;

// Horizontal movement
if (!place_meeting(x + hspd, y, ObjSolid))
{
    x += hspd;
}

// Vertical movement
if (!place_meeting(x, y + vspd, ObjSolid))
{
    y += vspd;
}

// Store the move result
var moved = x != xprevious || y != yprevious;

// Return true if we are able to move
return moved;

If you’ve made it this far, thank you for reading and I hope you have learnt something or at the very least saved yourself time by using this script.  I’d like to point out that I haven’t come up with this script off of the top of my head, I have in fact seen it used by other developers and thought that it might be a good idea to share it, partly for my own use in the future.

My last post stated that I was working on a game call “Cutting it fine”, but I haven’t really done any more work on it since my last post as I’ve been working on another game I started about 2 – 3 months ago click for info.  At the moment I’ve got some level generation working and character movement, there is also some item spawning.  I’m currently working on optimizing the room generation as at the moment there is a 1000 x 1000 block grid which means the player can make their way to the edge of the game quite easily.

My aim is to have at least 5k x 5k room size maybe even bigger and have it load in the assets as the player moves around.  I have the initial game window loading on it’s own but I’ve still got to have it load the rest of the level while the player is moving around.  I had a quick test with a 10k x 10k room and it loaded instantly which is the result I’m after.

Keep coming back for more updates.

Now I’ve gotten my first game Meteors published on idevgames I’ve been thinking about what to make next, as I’ve recently bought the Game Maker humble bundle package to add the HTML5 and iOS compilers to my collection of licenses they were also giving away some other games developed in GM and one of those <a href="https://www best task manager.bscotch.net/games/” target=”_blank”>Shep Hard developed by Butterscotch Shenanigans loosely inspired my next game which I’m giving the title “Cutting it fine”, I’ve not gotten the finer details figured out yet but lets just say it has something to do with cutting the grass.

I made a start last night and managed to do about 10 mins worth of work on it, would you believe I was distracted by some friends wanting to play game with me 🙂

I’ve posted the picture above of what I managed to get done, a little bit of point and click movement.

So since I’ve decided to start developing games, I figured it might be a good idea to post at least one game on my new site for people to see and possibly play.

This game is called Meteors, it is a clone as I’m sure a lot of you will tell of the classic Asteroids which was released in 1979.  I wanted to start with something easy to get the ball rolling, it’s not exactly the same as the original but it’s close enough Read Full Article.

Game Link