Game Design Marketing/Business

Blaming Innovation

Some of you may have been reading Spiderweb Software’s Jeff Vogel’s “View from the Bottom” series of articles. I think he is generally pessimistic when it comes to indie games, and his previous articles basically show that he thinks innovation won’t come from them. His latest article, #3, seems to make the argument that innovation isn’t rewarded, giving Jeff’s personal account as an example.

I really hate trying to do something new. Sure, it gives personal satisfaction. But you know what else is fulfilling? Staying in business. Not losing your house. And you can’t pay for food with Creativity checks.

If you are an indie and your game flops… well, small companies have a real hard time surviving the blow. And I don’t want to lose my house.

Remember that the next time you look to the independent developer to be the source of innovation in this industry. There is nothing scarier that aiming at a market that doesn’t exist yet. It might not exist at all.

It’s hard for me not to get upset about such words. Unfortunately, I also don’t have the authority to say anything to it. I don’t have my first game published yet, let alone sales figures to argue against Vogel.

Luckily, David Michael has something to say. Blaming Innovation is Michael’s take on the issue of innovation. He agrees that it makes sense to continue investing in what already works. Innovating means you’re leaving your established audience and trying to find new ones.

But if you never move past what you know works, you’re in what’s called a “rut”. And I’ve never heard that described as a good thing.

Sometimes you just have to face the uncertainty.

You might as well try to enjoy it.

I’d argue that finding new audiences is a good thing. Yes, you may have your loyal customers, and yes, innovating might turn some of them off. I think that if you have a core audience and great customers, you should reward them well.

But isn’t it possible that doing something refreshing and unexpected means you’re expanding and diversifying your base? Are you stretching yourself too thin? It’s possible, but it is also possible that by not innovating, you’re locking your potential audience to the same exact audience you already have. Game players grow older and stop playing games. Without new customers, you’re not only stuck with the same customers, but it’s also possible that your customers will leave you. Who will replace them if you don’t try to appeal outside of them?

Game Design

Interesting Game Ideas: Creation and Destruction

Game Idea:
Creation and Destruction

Maintain the Balance by keeping good and evil in equal parts.

I don’t remember how I conceived of this idea, but basically I thought, “What if there was a constant battle between Good and Evil, and whenever that balance was tipped too far to one side or another, chaos resulted? What if it was actually harmonious for Good and Evil to exist together?”

Possible Game Here?
One possibility is that there are a certain number of angels and demons. Perhaps their relative numbers are important. In that case, your job is to make sure that any increase or decrease on one side gets matched on the other. If an angel is born, you must find a way to spawn a new demon. If a devil is slain, you need to do something that results in the destruction of an angel. You might even be able to convert one to the other. An angel is a pure being, so if it does something wrong, it becomes a demon. There is no halfway with these beings. It’s all or nothing. The death of two demons could be balanced out by converting one angel into a demon.

What if the population wasn’t as important as the number of good or bad works they do? Perhaps the proximity of a being to more densely populated areas will result in more activities of the being’s persuasion. An angel in downtown New York will result in more good works than an angel in a rural community. A demon in a sports stadium can wreak more havoc than one in a remote mountain cave. The strategic placement of various beings can help to tilt the scales towards Good or Evil. Perhaps it isn’t the placement of the beings themselves so much as the converting elements mentioned above. Either way, the point is that the effect on the human population from the actions count the most.

Perhaps you take the role as a warrior for one side or the other. Maybe the balancing element is a problem, and both sides want to settle the score once and for all. You can recruit humans to your side. Their actions can influence their peers, so finding charismatic humans is very important, but you’ll also want a strong will to avoid losing them to the other side. Actual battles might take place between the humans since the angels and demons can’t do anything directly. On the other hand, if they could fight each other directly, maybe the battles take place on the shoulders of the individual humans.

What if Good and Evil had to join forces? What reason would they have to do so? Would there be some third force, such as Non-belief? Would they need to work together to convince Humanity that they still exist? Can they still do so without fighting each other?

I think Good vs Evil is a very familiar topic to most people. While some games, like Populous or Black & White, cover the story in similar ways, I think there is more that can be done with it.

Game Design Game Development Games General

Improved Creativity Through Serious Games?

I believe I found this link through Gamasutra sometime ago: Breaking the Grip of Dominant Ideas In Games: What Serious Game Projects Have To Offer Entertainment Game Developers

It basically describes the positive impact serious games could have on general game development. One of the most interesting quotes challenged the prevailing theory that “ideas are a dime a dozen”.

The field of serious games – with its intrinsic creative encounter of game developer and non-game professional – the latter involved in the real strategies and “games” of business, military, medicine, education, science and so forth – could offer itself as a form of “outside help” to entertainment game creators, even if this is a secondary effect. We game developers would be smart to take advantage of the opportunity.

Many people today in the game development (and other) industries see ideas as cheap. You’ve heard it said “Ideas are a dime a dozen.” This is not true. In fact, the idea that ideas are a dime-a-dozen is itself a dominant idea. What is true is that gimmicks – or little ideas – are cheap. Gimmicks are what is a dime a dozen, and everyone can think them up. True ideas, though, are exceedingly rare and extremely valuable. True ideas are visionary.

Game Design

Interesting Game Ideas: Daddy Long Legs

Game Idea:
Daddy Long Legs

Creation with incredibly long legs, using them when moving about.

I thought about the idea of a spidery figure that moved very quickly, dodging attacks or obstacles while moving wherever it had to go. I don’t know if there was an actual spider that inspired me or if it just popped into my head.

Possible Game Here?
Imagine an overhead view of the environment. Your character is a spidery figure with its legs attached to the far edges of the screen. That’s right. The feet don’t move; however, the body does. When you click on a spot, the body moves from wherever it was to that spot. There. I’ve just described the basic interface to the game.

Perhaps there will be obstacles and enemies. Initially it will be easy to dodge them. You just click somewhere, taking care that the path is clear. As more objects fill the screen, you’ll find it harder to make a clear path. What about special items or powerups? Armor could help you to take more damage than you normally could. Speed boosts or time freezes are cliche but valid possibilities. Food could serve a functional purpose by providing health. Alternatively, it could be that the reason the spider is jumping around is to collect the food. Collecting things is fun, right?

Another possibility with this click-to-jump-there game mechanic is to have a samurai or ninja that can also pick up weapons such as swords. Wouldn’t it be cool to have a ninja jump quickly from one side of the room to another, bouncing off of walls with ease, and spinning with a sword that he/she just pulled out of the armory? Click on the spot with the sword, and the ninja will jump there to pick up the weapon. Click on opposite walls multiple times in quick succession, and the ninja will jump back and forth between them, possibly doing fancier moves each time across.

To get back to the idea of long legs as a means of movement, what about a creature with abnormally long legs? It will be able to bend its body down really low, or stand up really tall. Perhaps a side-scroller in which you must control the height of the main body? Duck down to avoid high branches in a forest, or stand tall to allow vehicles to pass underneath you. What if an enemy or obstacle takes out a leg? Do you need to repair it? Do you go on without it?

Stilts? I suppose maintaining balance could be an important aspect of the game. Lean one way or another to avoid falling off of the stilts. Maybe the stilts allow you to access items that are really high up, or they could allow you to climb in through a window easily. Losing the stilts will make such tasks harder.

Once again, there are a number of game mechanics that can be based on a single idea. Do incredibly long, spidery legs make for good games? Maybe, but I suspect it will depend on the implementation.

Game Design

Interesting Game Ideas: Bird Fight

Game Idea:
Bird Fight

A war between Pigeons, Doves, Ducks, Seagulls, and Humans.

I remember thinking about birds one day. My nickname in college was Pigeon, partly because I’ve had a fascination with these birds that wouldn’t fly away no matter how close you were to them. Even though most people call them rats with wings, they are doves, which almost everyone loves. In any case, I thought, “What if the pigeons and the doves also didn’t like each other?” Eventually I thought of the interaction between those birds and others, as well as with humans, and it wasn’t a stretch to think of a Bird War.

Possible Game Here?
Well, there is the obvious possibility of a strategy game. Whether turn-based or not, Bird War could place you in charge of one of the opposing armies. It would most likely have some comical elements, such as over-the-top weaponry for the Humans or Bird Dropping Cluster Bombs. For each of the birds, eggs would have to be protected at all costs to assure the survival of the species. Humans, of course, would want to eat them or destroy them. Statues could raise the morale of the Humans, but they could also be converted into makeshift bases for the pigeons if neglected. Doves might be able to use their high Adorability to infiltrate Human habitations for intelligence gathering. Ducks? They’ve decided to fight back against hunters and are now armed. The seagulls, on the other hand, are scavengers in parking lots, but they can be hired as mercenaries by the other birds.

What about other kinds of games? An action-adventure? Perhaps you’re a pigeon and you’ve learned of an evil Human plot against all birds. You’re the only one who can warn them. You’ll have to fly through the city to the park and warn the birds there. Birds in the neighboring cities are alerted, but the warning comes too late for one area. The birds nominate you their leader, and you must lead them to safety. Once there, you can regroup and fight back against the Humans.

Puzzle? The setting is a city park. There are certain Food Resources strewn about by people sitting on benches and litterers. You must pick the appropriate birds near the resources so that your side wins the food. Pigeons beat Doves, Doves beat Gulls, Gulls beat Pigeons. Or something. Maybe the birds also create alliances, so Pigeons and Ducks are on the same side. If there are more pigeons and ducks near the food, they get to share the spoils and chase out the doves and gulls.

It’s interesting what you can come up with when you take 30 minutes to think about an idea. Bird War can any kind of game, but an inter-species rivalry can lead to some whacky thoughts.

Game Design

Interesting Game Ideas

In the Thousander Club, I have been posting both my hours and my ideas. I think a number of people think it is silly for me to list ideas since they are so easy to come up with. While I sometimes hit a kind of writer’s block, for the most part it is very easy to think of game ideas, especially as I don’t give myself any criteria. My goal isn’t to list only good ideas so much as to list as many ideas as possible. Admittedly, a lot are really bad. Still, some bad ones have led my thoughts to some that I think are good. And that’s the point: to come up with all possible ideas in order to get the few good ones.

Still, I’ve been asked to do a little more than simply list a number each week. So each week I’ll try to pick one idea and flesh it out a bit. I’ll basically describe how this game idea can result in an interesting game. They don’t have to be completely innovative ideas, and most aren’t. Still, there should be a creative aspect.

Like I said, most will probably be very bad. Perhaps I’ll mention an idea that has already been done before in a game that I’ve never played. Once in awhile, I might come up with a really cool sounding game. At the very least, I hope to get you thinking, too.

The first one will post tomorrow.

Game Design Game Development

Can You Envision a Casual FPS?

At the Chicago Indie Game Developer Club meeting last Tuesday, Impossible mentioned the idea of making a casual first-person shooter. We both wondered how one would make such a game. What would it be like?

At first, I was just amused at the idea, but then I thought that it might make for a good thought experiment. So I started thinking about it.

Normal FPS
What’s makes a regular, normal first-person shooter? The industry-standard controls involve the use of WASD, although some players prefer the arrow keys. The mouse controls which way you are looking. One button controls shooting. The other can be used for jumping or alternate fire. Those are the basics, although some games allow you to use other keys on the keyboard to control whether you are running, walking, standing, or crawling. Other keys allow you to perform context-sensitive actions. You can switch weapons. You can taunt. You can send messages to everyone or limit them to teammates or enemies. Some keys correspond to launching flares or grenades. Some bring up different aspects of the HUD.

Now, I will admit that it just sounds complex. Most players don’t concentrate on using all the keys, after all. You can play Quake 3 Arena with just WASD/arrows and the mouse, ignoring the crouch key, for example. On the other hand, expert players will utilize whatever they can to play well. From changing the view radius to increasing the speed of mouse movement, they will simply be in a league of their own compared to completely new players. There are people who play often enough to memorize the order of player spawns and take advantage of this knowledge to kill opponents before they have a chance to move. It can be frustrating for regular players, but I can see it discouraging newbies completely.

Casual FPS
What would you change to make an first-person shooter more accessible to non-gamers? For one, change the default controls to the arrow keys. Maybe it is different for foreign keyboards, but I have yet to see a new computer gamer that hasn’t used the arrow keys and wondered why the game wasn’t responding. Harry Potter and the Chamber of Secrets even used WASD! Children are just supposed to pick up on this control scheme? It reminds me of playing games on the Apple II in which every game used IJKM. It took me a little getting used to, especially since the arrow keys were right there and made a heck of a lot more sense.

As for controls, I think simplification can only help. For example, in Alien vs Predator 2, you can turn on the shoulder lamp. The battery would drain, and it would recharge when you turn it off. Well, for a casual version of the game, I think that you would throw out the concept of draining and recharging. Maybe even have the lamp work in a context-sensitive manner or just have it always on. Let the player worry about maneuvering and shooting rather than which key to press to turn on a flashlight. “Oops, I accidentally launched a flare. Wait, that was the key to activate the hacking tool. I’ve almost got it…no, not Gadget Umbrella!” A casual FPS would allow the player to focus on the essential parts of the interface.

I think steps could be taken to prevent veterans from having an advantage over newbies just for knowing more. For example, there is a map in Quake 3 Arena that allows a player to stand in one spot and quickly shoot opponents with the rail gun as they are spawned. Shoot at one point, then aim at the new point and wait for the player to appear. Repeat. New players are still trying to get their bearings, and this specific level is one of the worst to play for the first time. Some people might grind through and try to fight back, but casual players will simply find a new server. I am not saying that veterans shouldn’t play better than newbies. I just think that it can be annoying to play against someone who is winning for no other reason than that you don’t know the level layout as well.

And what about the idea of a shooter in the first place? Does it have to involve guns, blood, and gore? Maybe a casual title might involve construction instead of destruction. Maybe it could feature a capture the flag type of game where the object is to grab resources from a central area and return to your base without dropping them. Cooperation could be encouraged, and it would be more than simply blasting through the campaign levels together.

While the above are high-level ideas to think about, I know that I am leaving out and/or forgetting many more. What do you think would make a casual FPS?

Game Design Games

Documenting Game Innovations

Danc at Lost Garden wrote about, arguing that we need better, standardized language in order to discuss game design. If everyone has a different definition for “challenge” or “reward”, then you can’t hope to have a meaningful conversation with other game developers.

The goal of the GIDb is to classify and record every innovation in the entire history of computer and videogames.

The Game Innovation Database is in a wiki format, which means that anyone can contribute. I especially like the Challenge Page, which asks questions such as “What was the first digital RPG (role-playing game)?” and “What was the first game with autofire? “. You can browse by game or by innovation, and of course you can edit something if you think an article is lacking, missing, or just plain wrong.

Game Design Game Development

Object-Oriented Game Design

Hi, you’ve probably come here from some of the sites that link to this article. This post is an old one, though, and I’ve written a more up-to-date post called State of the Art Game Objects that you probably want to check out that has a lot more research links and info.

I’ve mentioned Object-Oriented Game Design by Britt L. Hannah before, but I wanted to write a bit more about it.

The article is not named very well. Game Design and Software Engineering are two different things entirely. The article isn’t actually about object-oriented game design, whatever that means, so much as object-oriented software development for games. It doesn’t make the information any less valid, however.

It basically discusses a component-based design for game objects. In a recent issue of Game Developer magazine, Mick West wrote “Evolve Your Hierarchy” which gives an overview of the topic. Some references listed in the article:

To summarize, there is a tendency to use object-oriented languages to create deep hiearchies. Scott Bila’s slides #7 and #8 show how inflexible and unwieldy these hierarchies can be. So if you can’t just have objects inherit from Drawable, Collidable, Shootable, or similar abstractions, what can you do?

You give an entity states in the form of objects. But rather than give a class private members to hold state like you usually would, you create a separate class for each state you would like to store. So instead of the following:

class Ship
int hitPoints;
string name;

you would do:

class Ship
State hitPoints;
State name;

What’s the difference? What happens if you need a new type of ship? Or an asteroid? Or a base? Or an alien? It is conceivable that you might have different types of entities that need to track the state of their hit points or names. It is also conceivable that those entities might not need to inherit the behaviors of a ship. So the states are placed into their own objects and assigned to Entity objects. You don’t really need to create a Ship class since a Ship is really nothing more than an entity that has the states that belong to a Ship.

Now the part that was a real eye-opener to me. It is very intuitive to create classes for things we think of as objects. In computer science class, we’re taught that classes have state and functions to manipulate that state. A class is created for a noun, and the functions in the class are the verbs.

Well, it turns out that the verbs can be encapsulated in classes. If we use the first example of a Ship above, actions would be functions defined in Ship:

class Ship
void setName( string);
string getName( );
void setHitPoints( int );
void adjustHitPoints( int );
int getHitPoints( );

Each time you add some state to a class, you need to add functionality to access such state. It can get really messy, really fast.

If you separate State into its own classes, however, then you can create Action objects to interact between entities. In the second Ship example, you can create an Action called AdjustHitPoints:

class Action
void doAction( ) = 0;

class AdjustHitPoints : public Action
void doAction() { entity.hasState( HIT_POINTS)->hp += amount; }

An Entity needs some way for the Action objects to grab state, so hasState() fills that role. Action objects have a function called doAction() that manipuates the states from an Entity.

Can you see how powerful this design is? Instead of hard-coding state into entity classes, you can construct entities at run-time. Instead of giving individual entities the methods to manipulate the state, you separate the events into their own classes. You can add a bunch of Actions to an Entity’s queue. The Entity can then pop the Actions off one-by-one and run doAction(). You don’t call adjustHitPoints(). You just activate the AdjustHitPoints Action object for the entity.

Normally if you have an abstract class called Human, you might derive Man and Woman classes from it. Let’s say you have a pointer to a Human, human, and it points to a PoliceOfficer object. You can’t say human->catchCriminal() because a Human doesn’t have the functionality of a PoliceOfficer. It is sometimes difficult and/or dangerous to dynamic_cast to the proper object type, so it seems overly difficult to get a PoliceOfficer to catch a crook since you don’t know who the PoliceOfficer is. If you change the code so that you know who the PoliceOfficer is, what was the point of needing to use a pointer to Human? Or inheritance, for that matter?

However, if you use the separate components to handle state, you can say human->activateAction( CATCH_CRIMINAL ). If it isn’t a PoliceOfficer, then it won’t have that Action. Nothing happens, just as we would expect. A PoliceOfficer, on the other hand, will have that Action object in its repertoire, and so the CatchCriminal Action will be activated. Eventually some code will run when the PoliceOfficer object updates that will look something like:


Even better than the above example is that you could create a different type of Human-derived object: a Deputy. A Deputy isn’t a PoliceOfficer, but it should also have the ability to catch criminals. There’s no need to duplicate code. You just give it its own instance of the Action.

Separating state into components and encapsulating events into their own objects allows for more flexibility in your game code. I’ve already found that this design was both easy to implement and fun to use. I have been writing a text-based board game, and I was surprised with how easy it was to construct entities. I sometimes find myself writing code that resembles the deep game entity hierarchy, but whenever I do it is a source of pain. Refactoring the code so that it resembles the component-based model has always made it easier to work with.

Game Design Game Development Games

Not at the GDC Again

While a number of people will be writing their coming blog posts from the Game Developers Conference, I will be reporting the action from Chicago. Again.

I would love to see Will Wright talk about what’s next in game design, but I’ll have to be content with seeing it on GDCTV when they release it later in the year. It would also be great to be there when they announce the winners of the Independent Games Festival, but I’ll just have to read about it at Game Tunnel.

Since I’m not going, I can treat this week as any other. I’ll work on game development and might get more accomplished since I won’t have as many blogs to distract me. B-) Since the GDC is generally about sharing what we know, this week I’ll try to post about what I have been doing with game development and design.

To everyone at the GDC, have fun, and good luck to the IGF finalists! My favorites for the Seumas McNally Grand Prize are Professor Fizzwizzle, Darwinia, and Weird Worlds, but I haven’t played Dofus or Wildlife Tycoon: Venture Africa yet.