Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Like
16Likes
Dislike

Design of an Indie Action Game

By Mike Shafer | Published Sep 21 2014 11:46 PM in Game Design
Peer Reviewed by (swiftcoder, jefferytitan, jbadams)

gameplay ai custom 3d design action

So you want to be a game designer? Now, more than ever, many people get to realize their dreams of becoming a game designer due to the number of Indie game projects available, catalyzed by the Internet. I started in video games as a programmer, but for my latest project, Bain's Redemption, I had to wear many hats including game design. There are many different ways to design a game. Some make a design document that nobody reads (it's happened to me) and others design as they go. This article describes what worked and what didn't work for us.

What I Learned from Bain's Redemption


Reactive or Proactive?


There are two ways to design a game: reactive or proactive. They are just as they sound, we either think it out as we go, or we plan ahead. It's a good idea to plan ahead as you don't want your artists to be working on something that might be tossed out. But at the same time, sometimes you put in elements that you think will work well together on paper, but once they are implemented in the game it just doesnt' work. Learning from Bain's Redemption, I realized you can only plan ahead so much. We wanted to create a game that was as fun as Devil May Cry or God of War, all the while doing our best to maintain its authenticity.


dmcgow.png


What I noticed is that a lot of times the difference between good design and bad design is the implementation of parameters. Give every NPC 200 health and everyone will complain that the game is too hard. Give every NPC 50 health and it will be too easy. Some things are hard to formulate mathematically, especially AI. It can be done with probability constructs, (most AI depends on probability), but to me that's kind of a misnomer as probability lacks structure.

I'm sure probability scholars would beg to differ, but let's just leave it at that. Nobody formulates the AI of their game with a mathematical model such that you know for example, that a particular NPC has a prescribed chance to die or chance to damage the player. Consider the figure below.


aidiagram.png


Let's say each NPC, every second, once a second, has a chance of one in two (1:2) of either tracking the player or running away. Let's assume they don't care about their own health for a minute. Even with these assumptions, it is quite cumbersome to formulate what the rate of dps (damage per second) output would be from the AI. Add to this the fact that they would probably only cower when their health or morale is low and you got yourself a nightmare of a mathematical formulation. Lastly and probably most importantly, don't forget that the player is a human and as such all formulation would be subject to the Halting Problem which basically means that you cannot know how the player will play the game. What is more common, is to try values out and see if they work.

So which route should the up and coming game designer choose? (Reactive or proactive)? I recommend a little bit of both. If you go too much into the reactive route, you may end up throwing away important assets that your artists/designers/programmers might make. If you go too much into the proactive route, you may make a game with elements that just don't go well together.

Indicators, Indicators, Indicators...


If you ever want to reverse engineer the design of any game, the best place to start is the UI. The UI will tell you a whole lot about how the game works. Our game is no different. Observe the UI for our game. There is a lot going on, but everything has a purpose.


uicap_annotated.png


(A) is the portrait. It's necessary in a lot of games, but just as Doom cleverly used the portrait to give a status update on your damage taken, we use this one to give the player an indication of his current mental state (insanity). Insanity is a variable in our game that counts up when the player uses rage (E). Rage is primarily built up by getting damaged and less so by doing damage. Some games have different combat stances that determine if rage (or its equivalent) is gained by doing damage or taking damage so this is a design decision you will have to make for your action game. (B) is the current special move. The four main buttons on the controller were not enough to cover all of Bain's moves so we decided to devote one of them to an ability that can be changed with the four-directional pad. Another decision here is whether the four-directions are each a move, or you cycle through the moves with left/right or up/down (see diagram below). We chose the latter setup.


specialMoveDesign.png


C) is of course the health bar. (D) is the cooldown bar. Some games reward you for action, while other games give you a quota for action. The cooldown bar gives you a quota for action while the rage bar rewards you for action. How do they not contradict? The cooldown bar limits how many special moves you can do while the rage bar enhances your moves (sometimes including special moves that use the cooldown bar). Devil May Cry went with a reward-for-action special move bar. In other words if you don't do anything, you cannot perform special abilities. In other games, you are given a quota. In God of War, you are given a magic bar that fills up and as such acts as a quota (but is dependent on action still) as well as a rage bar that also acts as a quota. In World of Warcraft, rogues use an energy bar that is a quota for action while warriors use a rage bar that rewards you for action (while druids get both).

Balancing The Game


One gameplay parameter can be the difference between a well-balanced game and a poorly-balanced game. Gamers have a slang term for this: "OP." That move is over-powered, they would say. Consequently, when that move is revised, there is an over-revised effect that happens that calls for another slang term: "Nerfed." They nerfed that move, they would say. This happens in every game. It's not due to the formulation of a mathematical model of the game, but due to the trial-and-error nature of game design. When I see a move is over-powered, I will try to fix it but sometimes it's very off-balanced and its parameters need to be doubled or halved, other times it needs a subtle fix. Which one you will need for your game (big fix, or subtle fix) is an art form in itself.

This is what separates good designers from bad designers. Good designers will keep tuning gameplay parameters until it feels right, while bad designers might tune it once or twice and assume they are done. I noticed in Bain's Redemption that insanity was OP. Insanity went from a value of 0 to 1, with 0 being sane and 1 being insane. When Bain goes insane, the player loses control of him and the player must wiggle the joystick to regain control. I noticed that between encounters the insanity would not decay sufficiently. So I adjusted the decay rate. Now consider that the object here is not to show off the insanity mechanic, but to penalize a player for over-using rage. In other words, we don't want insanity to kick in every 30 seconds just to see that it exists. Rather, we have a niche for this mechanic as all mechanics need a niche. Bain as a character is conflicted, so it makes sense that rage conflicts with insanity. This is what design is like. It's more of an art than a science I would say. Remember, form follows function.

Conclusion


I have learned a lot from Bain's Redemption, in the context of design of an action game. Specifically, some things you just have to work out and see if they work well together. No amount of planning can guarantee good design. The design doc for a platformer might say the player's jump will reach 10 feet, but if the designers design a heavily organic environment and a cliff ends up being more than 10 feet away from another cliff, you will have to make adjustments. Humans are not machines and we can only predict so much. Why do directors have rudimentary recording equipment (in addition to the main recording equipment) when they film a movie? It's because the director cannot predict if the movie will look and play good without it actually being done (even with storyboarding the scene before hand!) Any good dynamical system has a feedback loop and as such, you can think of games as a dynamical system that requires feedback to be designed well. So in short, I don't have a magic bullet piece of advice for anyone getting into design. You will have to try it and balance it as you go. And even when you're done and you think it's perfect, beta testing will bite you and tell you that something needs to be revised. So keep tuning and tuning and tuning. And when you are done, tune some more.

Still there are lessons to be learned from other games that have seen success. I talked about ability indicators that reward you for action and others that give you a quota for action. You will notice that the most popular action games incorporate different flavors of these two. Which you use will depend on the type of action game. The best designers are also gamers. Ever stopped and thought about why this is so? It is due to the trial-and-error process of designing games. Designers will spend a lot of time playing their game. Whether it's looking for bugs or testing parameters, good designers will know the most about their game. There is nothing extravagant about trial-and-error, but it is the path to a well-balanced game.


Bain's Redemption


Article Update Log


6 Jul 2014: Initial release



About the Author(s)


Mike Shafer has been working on the MEH game engine for the past 7 years. He is the lead programmer on the project and also assembled the talented team that is working on Bain's Redemption. He holds a B.S. in Computer Science from the California Institute of Technology (CALTECH). His previous credits include Ratatouille for the XBOX 360 and Return Fire 3 for the PS2. He specializes in graphics, engine, AI, physics, animation, and banging his head against the wall. He enjoys basketball, calm walks, and card games.

License


GDOL (Gamedev.net Open License)




Comments

OH! That throw move is brutal. It comepletely tore the enemies in half!

Haha... exactly!


Note: Please offer only positive, constructive comments - we are looking to promote a positive atmosphere where collaboration is valued above all else.




PARTNERS