Introduction
     It sounds easy to make a game. You have an idea for a game, so you make it. It really isn't this simple. Making a game requires a lot of work in a lot of areas. Just thinking about how much work there is to do is enough to scare some people away! Worry not, because you'll have help along the way.

     Over the course of the next couple of weeks, we're going to make a game from start to finish using Multimedia Fusion 2. I'll walk you through how to get started, help you write your code, and get it online for everyone to enjoy. We'll draw some characters, we'll make some baddies, and our game will be awesome.

     Let's get started!


Building Blocks
     In this section, we'll come up with an idea for a game. By the end of it, we'll have laid out our own little road map of the game to guide us on our journey. We'll start simple, refine our idea, plan out the game, and then look at the designs.

Starting Simple
     We just need an idea for a game. How about space aliens and zombies with chainsaw shurikens and unicorns? Nah, it's not a good idea. A good idea would be something simple we can use now to get started. Adventure is a simple idea, being one noun, and it gives us an idea of what the game will be about: exploring and moving around. It's a good idea, so we'll write it down.

     All we need to do now is consider what the player will do while they're adventuring. They'll walk around, look for treasure, and defend themselves against attackers. This gives us an idea of what we'll need to code: walking, inspecting, and attacking.

Plan it Out
     We've got our idea, we know what we'll be doing during the game, so now we need to consider how the game will play. Side scrolling is popular choice, as is a top-down perspective. We'll quickly give some thought into these choices.

     With a side scroller, we'll have two directions to care about: left and right. We'll probably also need to jump up and down, so we'll need gravity in addition to walking. Our player character will need an animation for facing left and right, walking in those directions, jumping, falling, attacking, and more. For every action, we'll need twice as many animations.

     With a perspective, we'll have four directions to care about: up, down, left, and right. We probably won't need to jump, so no need for gravity. Our player character will need animations for facing in all four directions, walking, and attacking. This one sounds simpler to pull off, so we'll go with it.

     Our players will walk around, inspect the environment, and attack enemies. First we're going to consider how they'll walk around, and what other kinds of movement they'll need. How the play inputs the command to move will affect how simple our game will be. A computer has two input methods, the keyboard and the mouse. If we use the keyboard, then we can use the arrow keys for movement. If we use the mouse, then we can click on the screen to move to that location. Using the arrow keys is a simpler solution than the mouse, so we'll use it. If we wanted to use the mouse, then we would need to code some advanced path finding logic that will get the player to where they need to go each time, every time. We would also have to check if the player can get to where they want to go, before they start moving.

     Now we have to consider how the player inspects the environment. A simple key press will be enough, so pressing Control (Ctrl) will be how the player inspects the environment. Do we want them to enter a room, press Ctrl look around, and have treasure jump out at them, or have them tediously stand in front of every bush, bookshelf, clock, and sign while hammering the key down? The first method is simpler, but it could diminish the spirit of the game. The second method would require more conditions and events, but let the player actually search with their bare hands like an adventurer would. What we can do is combine the two methods; holding Ctrl will let the player look around the room, highlighting any object of interest. The player can then walk up to those objects and press Ctrl to look at it. They can look at the objects without highlighting them, too.

     Our last considerations for player controls are attacking enemies. Enemies will have to exploit the player's natural weaknesses, so attacking will have to be a defense as well. The player is going to have to face an enemy before being able to attack it. Facing an enemy will reduce the effectiveness of their attack. This way, multiple enemies becomes a problem that the player will have to make a decision in how to defeat them. If the player is using a close range weapon, then some enemies will have to be able to exploit that and will attack from afar, which means we'll have to give the player a way to attack these enemies back. If the player uses a ranged weapon, then we have to make enemies come in closer to make it difficult to face and shoot them. Pressing Shift will let the player attack.

Assembling the Pieces
     We've looked at how the player moves and interacts with the environment, we've thought about how the player attacks and defends against enemies. We know what we have to do now, and have enough information to create a checklist. As we work on our game, we'll be adding to this checklist, changing things we've already put down, and cross items off the list when we're done. By the time we've finished, every item on the list will be crossed off!

     • Player moves in four directions
     • Pressing Control lets the player inspect an object
     • Holding Control down will highlight objects that the player can inspect
     • Pressing Shift will attack in the direction the player is facing
     • Facing an enemy as they attack will reduce the attacks effectiveness
     • Enemy types:
          • Brute: Moves in to attack the player
          • Shooter: Attacks the player from range
          • Sneak: Gets behind the player
          • Turret: Doesn't move, shoots in a direction


     Stay tuned for the next installment, “Move It or Lose It,” where I'll show you how to make a four-directional movement engine. We'll play around with it for a bit, and we'll see what else we can do with it before continuing. See you later!