Tuesday, April 30, 2013

$0.99 Games and Expectations

I've seen a few posts online complaining about the lack of quality when it comes to indie games.  The situation, though, is hardly as surprising as some seem to think.

Of course you're not going to get AAA quality from a small game developed by a few people over a weekend.  In fact, you'll be quite lucky if it's enjoyable at all.  When you download freeware games, you should expect them to be terrible and then be pleasantly surprised when they turn out ok.  You hit the lottery if they're any good.

This changes a bit if you're paying for the experience, but the water is still a bit murky.  Say you buy a $0.99 game from the app store or something.  How great do you really expect it to be?  Sure, it might entertain you for a little while, but you shouldn't expect anything ground breaking.  Not for less than a dollar.

Put things in perspective.  What kinds of things can you get for a dollar or less?  A drink at a gas station, some candy maybe.  Any crap the Dollar Tree happens to have that day.  If that game you got gave you as much enjoyment as any of these things, I'd call that a good deal.  If it turned out to be a great game, you got lucky and should appreciate the value.

The more something costs, the more you can expect out of it.  Remember to keep things in perspective, though.

Friday, April 19, 2013

The Death of Mario

Take a look at the Mario games of late.  You'll find nothing but a pile of mediocrity, mostly retreading the same ideas from decades ago.  New Super Mario Bros is a hilariously ironic title, isn't it?  The gameplay dates all the way back to the 2D era, even as far as Mario Bros 3.  It is a title that seeks little but the attention nostalgia might bring.

It hasn't always been this way.  Yeah, I like Mario games, I'll admit it, but they've been nothing but disappointing lately.  Mario Galaxy was the last game that felt new or fresh.  Then what did Nintendo do?  Why, cash in, of course!  They looked at EA, releasing titles yearly, and thought, yeah, we definitely want to be like them.  From that poisonous mindset came Mario Galaxy 2, the final straw.

Really, Nintendo?  $60 for a glorified expansion pack, if that?  Your fanbase can only take so much before it realizes what you're doing.

Nintendo needs to find a way to freshen up its lineup, or this just won't go on.  I liked you, Nintendo, your games elicit fond memories from childhood.  Would you stop spitting on that?  For just a second?  It'd be great if you went back to making games instead of copy pasting them from years ago.

Thursday, April 18, 2013

Why does Blizzard hate PC Gamers?

Seems like Blizzard would be greatful for the PC audience.  After all, you guys and gals out there on Battle.net are what gave the company the clout and resources it has today.  Yet, it really seems to hate you, and wish you would stop messing up its lawn.

Yes, Blizzard has come a long way since the early days of Orcs & Humans, all thanks to the PC.  Recently, though, it came to light that Diablo III would be released on consoles, without all the bullshit attached.  That's right, the dirty console riff raff gets Diablo III without the real money auction house, and without an always online requirement.

I'll probably buy Diablo III now.  The always online was the main thing holding me back.  But why spit in the face of all those PC players with their decked out PCs?  Blizzard would do well not to forget its roots.

Tuesday, April 16, 2013

On a Rainy Day

On A Rainy Day Version 2.0

Need to get your platforming fix?  Introducing On a Rainy Day, a small 2D puzzle platformer.
Navigate your way through a variety of obstacles to find all the pickups.  Can you find them all?

On A Rainy Day Version 2.0

Sunday, April 14, 2013

Graphics Aren't Important. Deal With It.

Alright, now that I've got your attention with an inflammatory and topical title, let's talk about this.

The Internet is abuzz with graphics right now, since some guy who representing Crysis has said graphics are 60% of a game.  Be careful with that 60%, it just came out of his ass.

Graphics do NOT make up the majority of a video game experience.  Do they make up some of it?  You bet, but to say 60% is ridiculous.  You only have to look at recent gaming discussion to understand how little they tend to matter in the grander scheme.

Aliens Colonial Marines didn't have the best graphics, and sure people complained, but they complained FAR louder about the buggy gameplay and shoddy design.  Which is more important again?  Could the game's graphics have made up for its numerous other flaws?

Graphics are a "pass or fail" kind of thing in game design. Sure, people say they want the best graphics, but when it comes right down to it, you'll find that the acceptable threshold is actually really low.  As long as the game's graphics pass that point, people will buy it.

Where is that point, exactly?  I don't know, but I'm sure marketing departments have thought a lot about it.  Graphics are the easy sell.  They aren't abstract or hidden like game mechanics and design.  You can put out a gameplay video, show off all the flashy graphics, and expect to get some response.

They're shallow.  They're easy.  They speak nothing of substance.

But they sell.

Note: Some exceptions exist.  This involves games that don't base their art style on gritty realism and try to have their own feel and look.

Thursday, April 11, 2013

GML: 8 Direction Movement Tutorial

Update:  Part 2 can be found here.

Now that you have a few basics down, let's actually DO something with them.  Older style top down games allow players to move in eight different directions (ok, sometimes four, shut up, this is MY tutorial).  Now, how do you accomplish that in Game Maker?

Well, first you have to create an object and a room.  You can name them whatever you like.  Oh, you'll need a sprite as well.  It can be a picture of a goldfish.

Place one instance of your object in that room you created.  It doesn't really matter where, but you should probably put it at exactly (249,156).  Once that's done, we can get to coding a bit.

You can build a movement engine like this in a lot of ways, and I'm just going to present one possibility here.  Let's create an empty skeleton for all our code.

Obviously, you're going to want to check your keyboard.  I'm going to use the arrow keys.  This all goes in the step event of your player object:

if (keyboard_check(vk_left)){
if (keyboard_check(vk_right)){
if (keyboard_check(vk_up)){
if (keyboard_check(vk_down)){

Now run your game.  You should be able to run around a blank empty space. 

Edit and use to your heart's content.

Update:  Part 2 can be found here.

Tuesday, April 9, 2013

Earthbound Dungeon Design

Earthbound, the quirky little SNES RPG everybody knows and loves.  As an RPG, it obviously has a few dungeons, so let's talk about those, shall we?
You'll find that Earthbound likes to point out general tropes about other RPGs.  For dungeon design, we get Brickroad, the budding dungeon designer.  So, what does he say about dungeons, and how does Earthbound follow those guidelines?

"Items that are easy to get are usually disappointing."

You've surely been on the recieving end of this tactic.  Your walking along a hallway in a dungeon, and up ahead, just a few steps off the main path, is a glorious treasure chest.  Excited at your discovery, you rush over to recieve your bounty.  What do you find?  The much sought after Rock of Does Nothing.
It's a pretty all pervasive thing in games.  If you found it easily, it's a piece of crap.
Now, that chest behind the spike traps, across the bottomless pit, surrounded by a lake of lava?  You definitely want that one.

"Congratulations, you finally made it!
There's a sign upstairs that says that."

RPG dungeons tend to go on forever.  Just when you think you've reached the light at the end, the door's locked, or you need to go find an old lady's cat.  Whenever you go into a dungeon, expect to be in it for the long haul.  If you're lucky, there might even be save points.  But probably not.
Earthbound is full of little nods to RPG design of the time.  Keep an eye out for the the next time you play.

Sunday, April 7, 2013

Intro to GML Part 2: The if Statement

Now that you've learned a bit about what variables are, let's use them to do stuff.  Probably the most basic statement you will run across in GML (and most other programming languages) is the if statement.  It helps control the flow execution in your code.

Here it is in the most basic form:

if (condition){
   //Do Stuff

That might look scary if you haven't done much work in code, but the idea is really simple.  Whenever your script gets to this part, it evaluates the "condition."  It can be any number of things, but usually it's a comparison between two values. If the condition is true, it does the stuff.

Now, let's use it together with some variables, shall we?  Let's make a variable called condition, and set it to one.

condition = 1;

Ok, now make another variable, and set it to 2:

anotherVariable = 2;

We can use the if statement to compare these two things, like this:

if (condition == anotherVariable){
      //Do Stuff

So, do you think we will reach the "Do Stuff" part?  Nope, not in this case.  The if statement asks, "is condition equal to anotherVariable"?  The answer is no, of course 1 isn't equal to 2, so the stuff inside gets skipped over.

Basically, it works like this:

if (true){
   //Do stuff

if (false){
   //Don't do stuff

The if statement has a wide range of uses, so it's pretty important to know.  In future posts, I'll show you how to put it to work in your games.

Thursday, April 4, 2013

Intro to GML Part 1: Variables

Here's part 1 of a multiple (as yet undetermined) part series on GML (Game Maker Language).  I've seen a few posts of people having virtually no idea about using GML, and hopefully this series will solve that.

What Are Variables?

A variable  is used to store information in GML.  They can store a lot of things, ranging from numbers to strings.  You can then manipulate them to achieve a number of purposes.

So, how do you use variables in GML?

Well, you have to declare them and identify them.  Usually this is done in one step, like this:

aNumber = 1;

This sets a variable named aNumber equal to 1.  You can then use this variable to perform different operations.  Let's say you wanted to add 1 to aNumber:

return aNumber + 1;

You'd get 2 as the return value.

Built-In Variables

GML has a bunch of built-in variables that you can use.  You don't even need to declare them.  Here's a short rundown of a few common built-in variables:

The horizontal position of something in the coordinate system
The vertical position of something in the coordinate system
The pixels per step and object is moving horizontally
The pixels per step and object is moving vertically

You use these variables to move objects around, and find out where things are in your game.  Of course, GML has many more built in variables than this, but it's best to take things in small bits at a time.

Ok, hopefully this gives you some idea about how variables work in GML, I'd be happy to anwer any questions in the comments.