Making games is hard, there’s no doubt. However, it’s much easier than it used to be. I remember one of my favorite games from decades ago, and one that really got me into programming, was called Alternate Reality. Of course by today’s standard it’s very simplistic in gameplay and graphics but at the time was cutting edge. I remember reading an article by the author in which he talked about how hard it was to draw the sky (which was just a simple 8-bit blue sky with a sun and some mountains) but memory was tight and every bit counted so he invented this method of drawing half the screen and then mirroring it to save some bytes.
Nowadays, we seldom have to think about tricks like this. Especially when using an engine like GameMaker. The engine takes care of all of this.
Today, I hit a huge milestone on my game. Only 8 days into after-hours, part-time development I have all functional pieces of the game working. The player starts the game, it displays all the graphics correctly, it keeps scores and detects win/lose conditions, and doesn’t look half bad. In 8 days! It’s not that I’m some kick-ass developer, it’s just that the tools are there to make this possible.
Today GameMaker was on sale for half price and being happy with the trial, I decided to buy the full product. With this, I got all available exports. With the click of a button I can export my game to android, ios, linux, html5, windows phone and several other platforms.
I tested it today with the html5 export, the one I was most interested in, and it was flawless. To test it, you click the run button and it builds to html5, spawns a micro web server on my machine, deploys it to a temporary directory, pops open a browser and points to this mini-server, and there is my game running html5 in a web browser. Pretty amazing and all due to the engine. It would take months to do this without an engine.
Then I decided to test another big feature of my game, the Facebook integration. I plugged my Facebook app id into the engine, added 5 lines of code, clicked run and the Facebook login pops up prompting me to log into my Facebook account so the game can access my profile and do things such as posting to my wall. It’s easy to take this for granted, but the entire login flow to Facebook was handling by back-end interactions between my server, browser and Facebook. The player just sees a login prompt then gets redirected to the game, but a lot is involved in this oauth2 flow to make this seemless.
So tonight, in one evening, I implemented multi-platform support by simply selecting a dropdown, all thanks to the GameMaker engine. Then, I logged into Facebook so the game knew who was playing and what permissions it had, such as access to my profile, and with just a few more lines I can perform actions such as posting to the players wall, all thanks to Facebook.
All the hard work is being done by others. I’m starting to think I’m just a monkey pushing buttons.