Wednesday, September 4, 2013

GameMaker: Day 4 - Room with a View

TL;DR

Let is snow, let it snow, let it snow!~ Snowing particles, that is. Also, have you SEEN this view? It's quite moving. (Bad puns ahoy!)

Oh, and double jump. Almost forgot that one.

What I Did Today

I watched a couple more of Shaun Spalding's Youtube videos today. While they are very instructional, he's starting to focus and show how he uses the built in Contents/Help menu (F1) to find explanations and documentation from within GameMaker on all things GM and GML. I've been using it sparingly for a day or so, but spent some time exploring it simultaneously while watching today's videos.

If you haven't checked out the Contents/Help documentation yet by hitting F1 (or haven't checked out GM yet), I'm telling you that you are required to right meow now.

No arguing, this is important.

Learning the basic names of sections and how to navigate the built in documentation will make you a better developer in the long run than any trick you can learn in a video. Yes, videos and tutorials can be EXTREMELY helpful when starting from nothing, but once you have a decent grasp on the basics you need to learn to stand on your own. Knowing how to look up things puts you one step closer to solving your own problems with Google. Yes, Google is great, but one day you're going to run into some bug you can't solve or fix, or some feature you want to implement that NO-ONE has, and there won't be a single tutorial online on how to do that. These tutorials get my super-two-thumbs-up-of-quite-a-lot-of-approval-indeed because they don't just show you haw to do 'x'. They DO show you how to do 'x', but also tell you why you're doing it this way, and show you how to look up helpful things related to it in the process. Flippin' awesome.

Today's project is an expansion of yesterdays, so it's a platformer. The first thing you'll notice is the snow. It's a particle system/emitter that randomizes the size/speed/wobble/lifetime of the snow particles and creates them. After that you'll move around and notice that I implemented a camera system. Literally 0 lines of code, just filled out some fields. Literally. The only code I wrote related to the camera/view is in setting the positions for the UI text. Also, we learned about the depth of things inside the room (level), and how this affects the order in which things are drawn (snow in the back, the level & penguin, then the text. Then we streamlined some of the code for collisions and jumping, and added double jump! (And correct ceiling collision) There are still a couple logic errors where you get hung up on corners when you approach them a exactly the right angle, but For something I threw together in less than an hour I'm pretty darn happy about it. I've written (and then had to test and RE-write) collision code before, and believe me, it sucks. And takes forever. And sucks. Just be happy that GM lets you get something up FAST, and then later you can smooth out the rough edges.

Here are some screenshots



Time coding was about 20 minutes.

Source Code

The source code/GM Project file is zipped and available HERE, from my website.

Conclusion

I'm getting excited about GameMaker. It feels weird, even doing things I would find boring coding completely 100% by hand before (particle systems, collision, ect) are a breeze in GM with GML, and I get them done in LITERALLY a fraction of the time. I'm trying to keep my cool when using GM, but I'm starting to feel like a kid learning to program again! Everything has been fun with GM.

I wonder if there are any arcades close to me in San Fran?

No comments:

Post a Comment