Monday, December 30, 2013

2013 Final Update

Alright, the year's coming to a close, so now would be a great time to look back at some things.

Fungicide

Let's start with Fungicide, the first game I released.  It's still a work in progress. Very playable, and very addictive, but nonetheless incomplete.  I should probably focus any future efforts on finising up the campaign and just let the disaster that is the multiplayer component burn itself out.

The sad part is, Fungicide was intended to be a coop multiplayer shooter about zombies.  The main engine came together nicely, but the networking just blows up. With some concentrated work, I could probably still pull it together.

On A Rainy Day

On A Rainy Day was second.  Just a fairly simple puzzle platformer.  This game was actually put together in two nights or so, as somewhat of an experiment.  It got a lot more attention than I would've expected, given that.

I still like the idea of moving objects with the mouse.  You can go a long way with a mechanic like that.  Saddly, it hasn't gotten too much polish.  You may just see that type of thing in my future games.

Ant Attack

My third game was Ant Attack.  An arcade-type game where you smashed ants for points.  Probably the least polished game I've released, but still rather fun.  The music was the best part.

Finally, Insomnia.  This game featured some of my best pixel art thus far.  I like games with a horror atmosphere, so I decided to make one of my own.  I have this one labelled as a demo, which it is. Two more game sections are planned out in my head.

Insomnia

Insomnia needs more threats.  I don't feel there was quite enough to keep people one their toes.  You can't go walking through the halls without a care in the world, and have a horror game at the same time.  The atmosphere and sound design were good.  The sound effects were rather sparce, partly to help out my Windows 8 players.

The Future

I will keep working on these, especially if players ask for updates.  You'll find, though, that I have the attention span of a gnat.  When my players aren't interested, I probably won't be either.

As a present for those of you who read this far, (seriously?) you get some information and a screenshot of another project I'm working on.  It's called The Hero's Handbook, an action RPG.  It's similar in design to the 2D Zelda games.

Hero's Handbook 2

Hero's Handbook 3

It's not a bad looking game, as far as pixel art goes. The gameplay so far is fun, but it's no where near good enough for any kind of release.  Lots of work to do yet.

The guy there?  His name's going to be Zulo by the way.

Sunday, December 29, 2013

Deku Palace: Learning from Its Mistakes

After playing Majora's Mask a bit more recently, I'm looking back on it less and less fondly.  Story wise, it's one of the better Zelda games, but some issues with its level design are hard to ignore.  From that, we can gain a lesson: how to make a game less frustrating.

Thursday, December 26, 2013

No, Link isn't Dead in Majora's Mask

Alright, let's start with a little background for those of you who don't have a clue about this.  A theory is circulating about link being dead or something in Majora's Mask, and that the whole game is some sort of afterlife.  This claim is based on a few pieces of evidence, along with the major themes of the game (loss, death).

It's not a good theory.  It's not an interesting theory.  Overall, the whole mess is just kind of unfortunate, and undermines the more serious aspects of the game's theme.

WIP Screenshot

I have a screenshot of a game I'm currently working on.  This time, it's an action-RPG.  Think Zelda.

Really, it's incredibly early in development, but some of the artwork is coming along nice, so I thought I might show it off a bit.

Screenshot after the jump!

Monday, December 16, 2013

Insomnia Demo Retrospective

Overall, the response to Insomnia's demo was luke-warm.  Which is alright, since that's still warm rather than cold.

Wednesday, November 27, 2013

5 Facts About League of Legends

I've recently started to play some League of Legends with a group of friends.  I enjoy it.  Well, for the most part anyway.

The community is...interesting, though.  Just read through those glorious forums for a bit, and you'll see some real gems of information.  I'm going to share just a few of them that I've run across.

1.  Everyone Wins Their Lane.  Always.

I can't believe I lost games like this!  I always, without exception, win lane.  I've won every lane in the past, and I've already won lane in the future.  Hell, I've even won my lane in all the possible alternate dimensions, even the ones that are only theoretical!  All my opponents are disconnected at level 6, that's how much I've won my lane.

And yet I lost the game.  It's like laning doesn't even matter, since I win it so hard for all time.

2.  "Overpowered" is the Thing That Shall Not Be Spoken

Now, I'm not saying <Insert Champion Here> is overpowered.  All I'm saying is <Insert Champion Here> is far too powerful for their role.  They seem to beat everyone without any sort of effort.  It's like they're overly powerful, but not overpowered, cuz I'd never say that.

Conclusion:  <Insert Champion Here> isn't overpowered, but is likely too strong in every sense.

3.  Gamers Know Game Design.

I could totally balance all these champions and items.  I can't believe Riot is dumb enough to make these completely obvious balance mistakes!  I mean, I don't get paid to manage the complicated internal workings of a game's system, but how hard could it be?  I can see these novice mistakes every time they happen.

Their game may have millions of players, but they obviously have no CLUE what they're doing.

4.  Every Champion must be Viable in Pro Play

Why is it that Riot can't see the obvious flaws in the champions they've created?  If they'd just fix these few minor things that I've mentioned, it would no doubt bring <Insert Champion Here> back into viability and totally wouldn't have any unforeseen consequences.  I've looked into all the possible futures where my changes happened, and in no way could this possibly not work.

All of the champions, (but especially the one I play) can fit into the optimal situations of pro play.  God forbid I play a champion just because it's fun, I only care about winning, viability, and numbers.  Only champions with a high win rate can be fun, anyway.

5.  It's the Jungler's Fault

Support:  Ooops, I didn't notice I missed buying a ward at shop.
ADC:  OMG, report n00b jungler, didn't buy wards for support.

Top Lane: I pushed him all the way to tower, why didn't you dive him?
Jungler:  He's at full health, you're at 1/4 health, and I was ganking bot lane.
Top Lane:  Report jung, won't gank

Mid *Dead*: Stupid lag.
Jungler: that sucks.
Mid *Dead*: Report jung, made me lag.

Did it happen?  Was it bad?  If yes to both, report the jungler.

Insomnia Progress Report 11/27/2013

Alright, the game is still coming along nicely.  I have a few more things to do, but a playable demo should be ready to go soon.  One more map has to be made, and at least one more puzzle.  Then, of course, I'll have to give what I have done so far a complete run through myself to look for bugs and see just  how long it takes to complete from beginning to end.

The main challenges of the game are based around puzzles and exploration, and the player has zero combat ability.  As such, my run through will probably be much faster than people who've had no exposure to it.

I've also been experimenting with a save system, and trust me, you'll want to get the downloaded version of the game.  None of the sites I put it on keep track of saved data if you play it through the site's quick play feature.

Hopefully the game goes over well, I certainly enjoy it.

Sunday, November 24, 2013

Still Working

Work on the survival horror game continues, and progress is definitely being made.  I don't have a whole lot of experience with more story driven games yet, but I think things are coming along fine.

As a result, though, Fungicide is getting a bit neglected at the moment.  I'd like to get some small release for it done, just to show that I'm still alive and doing stuff.

Really, I could release a demo for the survival horror game quite soon.  It's a bit different than most, and is much more an adventure game than an action game.  Puzzles can be quite rough to design.  Sure, they don't require all that artwork, but it takes some thought to make them feel unique and challenging.

The survival horror game is also the best looking that I've made.  Between the real-time lighting engine and my improving pixel art skills, it actually looks quite good.  At least, from my incredibly biased perspective.

Depending on how much I manage to get done on that, I may release a teaser page for it on Game Jolt.  Maybe.

However, since you're looking at my blog (lucky you), I'll offer a few screenshots of my upcoming survival horror game: Insomnia.




Saturday, November 2, 2013

Fungicide Progress Report

Fungicide Beta Release

Campaign Progress


 
Finally, the campaign game type is open.  Right now, both the prologue and chapter one are playable from beginning to end. Chapter 1 starts off locked, so you'll have to beat the prologue before it opens up.


Soldier's New Skill

The soldier got his fouth and final skill in this update: Bombadier.  It rains bombs down on a selected area.  If you can manage to corral the zombies, it can do significant area of effect damage.


Important Bug Fixes


 
There were a couple of important bugs fixed in this update.  For one, Survival mode now records high scores properly.  For another, each map is playable once again in Killing Spree and Survival.  Errors kept a couple from being accessible.Lots of other, smaller changes were made in this update as well.

More New Screenshots





Detailed Release Notes

*-*-*-*-*-*-*-*
V 0.2.0.0 Changes
*-*-*-*-*-*-*-*
========
Campaign
========
- The prologue level is now playable
- Chapter 1 is now playable
=============
Killing Spree
=============
----
Hive
----
-Fixed a bug that made the map unplayable
========
Survival
========
-High Scores are now properly maintained within a session
-Ending the game still resets all survival scores to zero
=======
Classes
=======
-------
Soldier
-------
-Reduced skill shot cooldown from 30 seconds to 10
***********
New Ability
***********
Bombadier
Area: 100
Damage: 35 per Bomb
15 Bombs per use
Cooldown: 1 Minute
Instantly used on mouse
------
Runner
------
-Reduced starting HP from 100 to 75
-Added Pistol holding sprites
-Added SMG holding sprites
=======
Enemies
=======
-Reduced Zombie alert sound volume
-Zombies no longer lose agro after the player has been hit
-------
Spitter
-------
-Fixed a bug that caused him to attack without being alerted
-Greatly improved accuracy
=================
Difficulty Levels
=================
-----
WHY?!
-----
-No Health Spawns
-Mercy Invincibility reduced from 3 to .5 seconds
---------------
Nothing Special
---------------
-Mercy Invincibility reduced from 3 to 2 seconds
----------
No Problem
----------
-Zombies lose agro after hit
====
Misc
====
-New songs added
-Fixed a lot of problems with the main menu
-Added a "paused" sprite to the pause menu
-Added clear button indicators to the skills
-Added mouseover tips for skills
-Slight redesign on the HUD

Monday, October 28, 2013

Rockin' Out in The City

With the preparations for Fungicide's campaign coming along quite nicely, I thought sharing a bit of that progress would be a good idea.

My ability to make music has improved quite greatly since the early days, here's a little taste of Fungicide's soundtrack for those of you unfamiliar with it.


In the Streets - Indie DB

Handling Death

In games, that is!

Player characters can almost always die in games.  It's a way to keep the tension up and give them a persistent goal to work towards (don't die).  Different games, though, handle this mechanic in different ways.  Sometimes it's just a slap on the wrist, other times it comes with major consequences.

Dying usually sets you back a certain amount of gameplay.  You get tossed back to your last save, or the last checkpoint, or if you're particularly unlucky, to the main menu.  These consequences can, of course, be a major frustration to the player and cause them to stop playing.  At the same time, they raise the stakes and give the player motivation to keep going.

How do you like your games to handle death?  Minimal consequences?  Or a major hazard?

What about some sort of middle ground?

Intro to GML Part 3: A Simple Hit Points System

Ok, now that I've shown you variables and the if statement, we can build something useful with them.  Once again, this stuff is specific to Game Maker, so it may or may not be helpful if you're using something else.

Here's some general things you would do to create a hit points system for one of your objects.  First, you'd need to set a maximum the object can have, then fill it up.

So, in the object's create event you'd want:

//In Create Event

maxHP = 100; //Could be any number, change it depending on your needs
HP = maxHP; //Fills up HP to the max

Woo!  Now your object has hit points that do nothing!

The system we're going to use is pretty simple and will only work with games that use collision as being hit.  You know, like Mario games.

How does that work?  Well, you'll need to put this in the player's collision with enemy event:

//In Collision with Enemy

HP -= other.damage; //Player's HP is reduced by the enemy's damage


As is, this system won't work all that great.  Why?  Since collision will be checked every step, the enemy will reduce your HP really quickly.  To fix this, you'll have to add a time after being hit that the player can't be damaged.  There are lots of ways to do this, but this solution will use a "hurt" variable and an alarm.

Add hurt=0 to the create event like this:

//In Create Event

maxHP = 100; //Could be any number, change it depending on your needs
HP = maxHP; //Fills up HP to the max
 
hurt = 0; // Player can only be hit when this variable is 0

We're just using "hurt" as a sort of switch.  If it's 1, the player can't be hit.

We'll need our friend the if statement in the collision event now.  Basically, "if the player has been hit, don't hit the player again."

//In Collision with Enemy
if (hurt != 0) exit; //Nothing after this gets done if the player has been hurt

HP -= other.damage; //Player's HP is reduced by the enemy's damage
hurt = 1;
alarm[0] = 90; //Amount of time you want the player to be "invincible" after a hit
In the alarm[0] event, we tell the player it can be hit again:

//Alarm[0]

hurt = 0;


That's all you need from the player's side.  You'll need an enemy object, and a damage variable in it to have a workable damage system.

Saturday, October 26, 2013

New Fungicide Screens

I've been slowly but surely working on Fungicide, and things are going along quite nicely.  The art work is improving a bit, and I thought I might share a couple of new screenshots.



The campaign is getting worked on right now.  I even have two levels mostly done so be on the lookout for that.  I'm not exactly sure whether I'm going to release it bit by bit, or all at once when I manage to finish the campaign.

Probably the former, since I lack patience.

Also, I'd like to put up a little let's play of Fungicide.  We'll see how that goes.

In case you've forgotten, here're the download links for the game:

On Game Jolt

IndieDB
Fungicide Beta Release

Wednesday, October 23, 2013

League of Legends vs Starcraft

If you play PC games at all, League of Legends and StarCraft are probably front and center in your mind.  One has millions of both players and viewers, and the other is a titan IP that has been around for years.  They're very different games, but that doesn't mean you can't compare them.  With that, off we go!

I played StarCraft II for a couple years after its initial release.  Unforgiving is probably the best word for the multiplayer.  It was fast paced all the time, and God forbid you mess up on something.  Everything felt like it was on a razor's edge.  That tiny little mistake you just made feels like it cost you everything, and there's plenty of time left to screw things up worse!

Given StarCraft's history, though, you knew all this upfront.  I knew StarCraft was like that from the moment I took it off the shelf.  That feeling is one of the things that makes you play it.  It's for the seriously competitive, and nowhere online will you find much of a safe haven from that.

Then there's League of Legends, and the contrast, at least for me, is night and day when put next to StarCraft.  Aside from the player's themselves (I'll talk about them at some point...), League of Legends is a relaxing, almost no pressure game.  It's just not nearly fast paced, and so not as stressful.  At some point, in the crossbreeding process between Action RPG and RTS, a bit of edge was lost somewhere.

League of Legends

StarCraft
 

Maybe League of Legends changes as you climb the ladder.  For now, though, it's just a fun time killer to play with friends.

Sunday, September 29, 2013

OMG IMBA WTF?!

I'm sure many of you who frequent various game communities have seen that phrase on many occasions.  It's usually pretty contentious and quickly brings tempers to a boil.  Shouts of "noob" and "l2p" are sure to abound.

Balance can be a sticky subject.  Players always seem to see changes as an attack on their own playstyle or unnecessary.  That said, the importance of balance can not be overstated.  Maintaining long term health of multiplayer games in particular rests heavily on the concept.

So, how can we possibly determine whether or not changes need to be made?  How can something be labeled a balance problem?

One concept of balance relies on the existence of viable options in the game.  One particular method should not overpower all others in every situation.  If, for example, your game allows a choice of multiple characters, one should not be obviously better than all the others.

You'll find this kind of problem in the multiplayer of the most recent Alien vs. Predator by Rebellion between the titular characters.  The differences between the two were rather minimal.  The Alien was afforded more mobility, but otherwise the Predator could do all of the same things, often a bit better.  You can't have one character be a straight upgrade of another.  For a one minor downside (less mobility), the Predator gained superior melee capabilities, and access to a variety of deadly ranged weapons.  Picking the Predator was the obvious choice for someone most interested in winning, and as a result the variety in multiplayer suffered.

Wherever you see classes, characters, or races in a game, there will be balance discussions.  For some interesting examples, you can look at the forums of games like League of Legends, Starcraft, and even Team Fortress 2.

Do you think balance is necessary for a fun multiplayer games?  Can single player games be imbalanced?

Monday, May 6, 2013

Lost in Translation

Every now and then (ok, it's extremely common) I come across things I think would be great in a game.  For instance, I'm still working on Fungicide, and I thought it would be a neat idea to base a boss off of Pride from Fullmetal Alchemist.  If you don't have any idea what that is, it's an anime series. Look it up, you'll find plenty.

Anyway, the whole, tentacle knife thing he's got going on with his shadows is something I've been trying to replicate in an enemy.  It seemed simple enough at first, but as I dug into the mechanics of it, a lot of roadblocks started popping up.  Mainly in the art area.

This kind of thing happens a lot.  The thing you want to do seems simple enough at first, and it worked really well in it's original form, but translating it to a game brings a host of new problems that the source material didn't need to deal with.

Situations in games are fluid, you have to account for many different possibilities and the actions of the player.  It can be hard to plan things too in depth without heavily restricting the player.

Of course, you want to limit such restriction as much as possible, so you tweak the source until it becomes something you didn't even expect, but still works.

At least there's that much.

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)){
    x-=3;
}
if (keyboard_check(vk_right)){
    x+=3;
}
if (keyboard_check(vk_up)){
    y-=3;
}
if (keyboard_check(vk_down)){
    y+=3;
}

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:

x
The horizontal position of something in the coordinate system
y
The vertical position of something in the coordinate system
hspeed
The pixels per step and object is moving horizontally
vspeed
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.

Wednesday, March 27, 2013

Indie Game Marketing is Tough


Admittedly, Fungicide isn't quite finished yet.  It is certainly in a playable state, but some stuff still needs to be worked on and added.  Still, to get some feedback and have people actually PLAY my game, I've tried to spread it around the Internet a bit.  The results have been...mixed.  I don't even know what GOOD results would look like.

For those of you interested, here is my basic marketing plan:

Increase general online presence.


I just go around and comment on as many things as I can, and try to keep up posting good content.  Indirectly, I hope this will drive some traffic to the game.

Post Fungicide on forums.


Most likely, this will take place more in the future.  Right now, it's only on one forum, without many comments.

 

Upload to freeware portal.


I've already done this.  Fungicide is available for download on Game Jolt, and has had a grand total (as if..) of 17 plays in the last 6 days or so.

Things I haven't done


Fungicide isn't near polished enough to submit to larger sites for review.  I don't know if it ever WILL be.  I may try when it's much more refined.  By then, I would expect to be able to charge something for it.  Probably around $2, would be a rough estimate.

Right now it's free, though.  Maybe you should give it a try.

Friday, March 22, 2013

Long Night Programming and Testing Multiplayer

It was a long road, but the 2-player online for Fungicide is off the ground, even if just barely.  A number of errors and bugs are still around, especially around the end of a game, but it's functional.  The refining comes next.

The version up here doesn't have the multiplayer capability yet.  I have a bit more testing to do before I put it up.  I can tell you how it works, though.

Over LAN, all is well.  The Host has an IP, and the Guest uses that IP to connect.  They can then play a little 5 minute game of Killing Spree.  It was quite entertaining, with my cousin helping me to do some tests.  Everything seemed to sync up well, and the experience was great.

Over the Internet?  I have no idea.  I haven't had any chance to test that out, but it probably catches fire.

Through that testing, I learned a lot about my game.  First, working together makes things easier.  Second, having a partner easily doubles the entertainment value.

A lot of work remains, but things are progressing well.

I expect to have a working multiplayer version available here by Sunday.

Thursday, March 21, 2013

Patching and Sloppy Game Design

You know, it seems more and more that patching makes room for some pretty questionable game design choices.  After all, no matter how back something gets screwed up, you can just go back and fix it later, right?  This attitude seems to pervade the gaming industry as a whole, and it's behavior that the average consumer seems fairly willing to tolerate.

Well, sometimes at least.

Turns out, an alien swarm is the least of the problems here.
 
Colonial Marines, was highly anticipated.  Lovers of the Aliens franchise haven't gotten much love in the game department, and CM promised to scratch that particular itch.  I was looking forward to it, for sure.  It offered split screen CO-OP, which is a pretty big deal in my social circles.
 
Then the critical response came in.  Warmer receptions are given when Africanized bees enter a new state.  One of the best responses you can find is "yeah, the multiplayer is better than having a tornado go through the living room."
 
After the fact, a huge list of things to be patched is released.  You can find it at the bottom of this post.  The question becomes, did no one even play this game before it was released?  Or did all these problems come up in testing and the developers just thought "we'll fix it later?"  Sorry, developers, but when you're selling something for $60, you have a high standard to meet.  make sure you ship something reasonably polished.  Then again, if it's fun, you may not have to.
 
I'm actually not going to comment on whether the game is good or not.  I haven't played it, but probably will, even with all the negative criticism.  It just doesn't seem worth full price.  I can overlook technical faults if the game is entertaining.
 

Speaking of technical faults:

 
General
  • Improved texture resolution.
  • Various visual improvements.
  • Added mouse smoothing to options menu.
  • Fixed crashes tied to launch and motion tracker.
  • Added additional safeguards to better protect save data.
  • Resolved an issue where a player's level could sometimes appear incorrect when backing out of a party.
  • Addressed several scenarios under which players could spawn without a weapon.
  • Changes to better prevent audio from sometimes cutting out during end of mission cinematics.
  • Fixed issue where Xeno death animation was not properly calculating momentum of the killing blow.
  • Smart Gun animation now properly tracks targets.
  • Addressed some instances where Xenos would display erratic animations.
  • Increased light radius for player's shoulder lamp.
  • Adjusted aim assist to better reflect player input.
  • Addressed an issue that could sometimes cause co-op player revival to not work under certain circumstances.
  • Addressed issues with players not spawning into a level properly.
  • Fixed a marine player invincibility exploit.
  • Resolved several instances where players could walk or fall outside of maps.
  • Addressed an issue where Ripley's Flamethrower (bonus content) would sometimes fire continuously without player input.
  • Fixed an issue that could cause localized text to sometimes display incorrectly.
  • Addressed an issue where weapon ammunition was not always highlighted properly.
  • General user interface improvements.
  • Miscellaneous bug fixes.
Campaign
  • Tweaked enemy and friendly AI to be more aggressive and responsive.
  • Modified campaign difficulty to account for improved AI responsiveness.
  • Improved enemy collision detection regarding doors and Power Loader.
  • Addressed some issues that could cause improper warping for co-op players.
  • Various tweaks to address instances where NPC characters would not always properly navigate to objectives.
  • Players will no longer bleed out immediately when downed in a Power Loader.
Versus
  • Fixed issues that could cause clients to report inaccurate results and statistics.
  • Addressed instances where a map would appear to "pop in" when loading into a new match.
  • New Xeno appearance customization added.
  • Multiplayer teams should now correctly auto-balance between rounds.
  • Increased duration of Lurker Pounce Challenge "Cat-Like Reflexes" from 10 to 20 seconds.
  • Fixed issue where certain multiplayer challenges would not unlock properly for all characters.
  • Crusher pick-ups now correctly appear as highlighted for clients.
I forgive a lot of the multiplayer faults.  Sometimes you just can't tell how things are going to work when lots of people are using your system in a competitive setting, and adjustments must be made.

Always Online Xbox?

 
Imagine the surprise.  Not long after writing about Sim City's always online train wreck, this article on The Escapist catches my attention.  Could this be possible?  An always online console?

Now, before breaking out the torches in pitchforks: the information comes from an unconfirmed source.  Supposedly, it's someone who had access to the SDK for Durango (the next Xbox), with no other information but that.

The SDK makes a few stipulations for those who want to develop for Durango.  One, that the console will always be online.  Two, Kinect will be required. Three, all games must run from an installation on the hard drive.

The first requirement only hints at the possibility of an always online Xbox, it certainly does not confirm it.  Many are reading it that way, though, and it isn't ruled out either.  Only official word from Microsoft could put an end to the speculation.

Original Escapist Article

Tuesday, March 19, 2013

Fungicide: 2D Zombie Shooter

Fungicide Beta Release

Caution: Contains animated violence and gore
 
An action packed, zombie murder spree.  Go back to the days of classic shoot 'em up arcade games with Fungicide.
 
Infectious fungal spores have turned an entire city into raving undead monsters. Fight through the hordes, while suriving the best you can.

Zombies are not the only threat. The infection has created large mutated creatures and even changed some common denizens of nature into killing machines.

 
Fight your way through two game modes, and over ten different enemy types.

 

Game Information:

Players: 2 (splitscreen only)
Controls: WASD movement and mouse aiming
Game Modes:
  Killing Spree - Kill as many as you can.
  Survival - How long can you last?


Fungicide is currently in early Beta.  Feedback is welcome and appreciated.

Send in high scores for glory!
Fungicide Beta Release  
Please report broken links.  Thanks!

Monday, March 18, 2013

Give the Player More Options, Not Less


The recently released Sim City seems to be a decent game, based on what I have seen.  No matter how great the game may appear (or even be), I will never own it.  Online-only games have always been on my no buy list.  They're simply too restricting for my taste.  I have no idea how the creators of Sim City can justify what they have done, either to themselves, or their customers.

The main argument for Sim City requiring an Internet connection revolves around the player experience, or at least that is the official story from the developers.  They had a "vision" for their game, and the players have no say in the matter.  First, they wanted to get rid of the isolated feel of the past Sim Cities.  I don't know when people started complaining about lonely single player, but they need to stop.


The lonely days of being able to play games anytime you want

Besides, that argument is completely irrelevant.  In the newest Sim City, you don't have to have neighbor cities controlled by other players.  You can create your own separate region unsoiled by the vicious crime and rampant pollution out of your control.  Why then, Maxis, couldn't the player disconnect from your servers to do this?  This portion seems to work more or less like Sim City 4.

NO ONE LOSES FROM THIS OPTION. 

The people who want to play on their own can, and those multiplayer types can get in their socialization.  It seems, though, the larger developers have given up on thinking from a player's perspective.  Games are more interesting overall with more options available.

Of course, the DRM argument is around.  Honestly, it seems like the best explanation.  It's the one that benefits the developers most.  The problem is, though, DRM is useless.  Pirates can already play Sim City offline. 

I do not understand why video game companies continue to punish their paying customers.

Things to Come

This blog sure has suffered neglect recently.  It's like one of those starving kittens you see on ASPCA commercials.  I definitely intend to rectify that in the near future.

Not right now, of course.  My procrastination hasn't quite been exhausted yet.  For those of you who are regularly checking this blog (I'm probably addressing an empty room with that), here's a brief rundown of the things I plan to add.  Plus, this will make me a bit more accountable to actually DO stuff.

First, I have been working to develop a 2D game in my spare time.  I'm going to start recording that process here.  I'm sure someone will find those exploits interesting.

Next up, I'm gonna talk about online-only games at some point soon.  Sim City came out recently, and it committed an atrocity that needs to be pointed out.

So, those are the things on the agenda.  I expect to have two posts in the next week.

Update: Those posts are up.  Links can be found above.