Categories
Game Development Games Marketing/Business Personal Development

Independence, Money, and Great Games

Joe Indie referred to Dan McDonald’s Sustaining Independence at Game Tunnel. Previously, McDonald had written on the topic of independence, stating that financial pursuits necessarily makes a developer less independent. His latest article continues this line of thinking:

An independent developer that wishes to sustain their independence must pursue their own interests in game design and development and give them preeminence over their interests in business and profit.

At first I was inclined to disagree. How can you expect all people to starve for their art? Can’t people be considered indie while simultaneously earning an income from their work?

Of course, how you define an indie is important. Many would argue that indie simply means you are not financially dependent on a publisher or other entity. If you extrapolate this definition, technically most people who call themselves “indie” are in fact financially dependent on their customers.

What is your goal? Are you simply trying to make money? If so, game development is just one of many activities to achieve those goals. “The pursuit of money is inherently an ambition devoid of any value or meaning. If the only value one derives from an activity is monetary, then the activity itself is of very little consequence.” You could replace game development with database programming or bartending or painting or blogging, and in the end you’ll still have your money. What’s game development to you other than a job? Whether it is for someone else or for yourself, its a job, and creative control is in some way not completely yours. Change something about your game for the sake of pleasing the customer, and you’ve given up some control over the direction of your game development.

McDonald’s indie, on the other hand, would have a goal of perfecting his/her craft. Game development for the sake of game development. Making games to learn how to make better games.

A lot of business gurus will tell you that to be successful, you have to realize that making money is not only good, but it is the main goal. It makes sense. How can you hope to make a living from your business if you don’t accept the idea that you should be making a living from it? You can’t make a million dollars until you accept that it is a possibility. Most people don’t think they can. Some people do. Who is more likely to actually make the money? The purpose of a business is to make money.

The purpose of an indie, on the other hand, is to be independent. An indie experiments with making great games. An indie can make money, of course, but making money was never the main goal. His/Her overriding goal was never about making more money so much as making better games.

Are the business and the indie in perpetual conflict? How can an indie survive? If trying to make money taints the notion of independence, are all indies doomed to working odd jobs or doing other things to make a living? Are most indie’s forced to relegate game development to a hobby? I’d like to say no. Making better games, you will undoubtedly hit upon something that other people also like. Making better games, you will create a world that other people believe in enough to pay money for the right to participate in it.

Is it wrong to try to make money from your game? No. I also don’t think that the general definition of “indie” will change to exclude those developers who make games on their own for the purposes of making a living. Is it possible that a game created for the purpose of making money can also be a great game? Perhaps, but if your main goal is to make great games, wouldn’t you be more likely to actually make one? And if the game is truly great, won’t a lot of other people want to play it?

Categories
Geek / Technical Personal Development

Using the Computer Purposefully

I took a walk instead of going home immediately after my train ride yesterday. I originally wanted to get some exercise, but I took advantage of the time to think. One of the questions I was grappling with was “How can I stop wasting time when I am at the computer?”

I was thinking about it because I noticed that I could sit at my computer for hours, only to find that I had maybe 15 minutes of productive work. What was I doing with my time? What could I do to change it?

I realized that I would start using the computer without giving much thought to what I would do. Sometimes I could start working on game development right away, but other times I would start checking my email or recording my receipts in my accounting program. Sometimes I would remember to look something up, and it can be very easy to aimlessly browse the web. Sometimes I’d write a blog post. Sometimes I’d visit a forum.

In all of these cases, however, I didn’t have a plan of action. I just sat down and started doing random things. I might be able to focus on an important task, and doing so would account for the productive work, but I could do better.

Thinking about it, I concluded that it might be best to force myself to think before using my computer. I should ask myself, “What do I want to accomplish?” before taking control of the keyboard and mouse. No matter what I decide, I should also make sure to set a time limit. Whether I am programming, updating my accounting books, or checking email, I will give myself a set amount of time to do it in. I should also make sure to give myself time to goof off.

I wrote up some categories of activities:

  • programming
  • email
  • blogging
  • gaming
  • accounting
  • listening to music
  • researching
  • reading the news
  • leisure

I might add to or change this list in the future, but for now it gives me a good indication of the kinds of reasons for using the computer. Restricting the time for each task is helpful because I currently have a problem with task-switching too much. If I can focus on one task, I can get it done quicker and better than if I am keeping track of multiple tasks at once. Some people say that they can multitask, but the human brain has been shown to work best when it is not distracted. It is a key idea behind books like “Getting Things Done”.

Anyway, I hope that by determining my purpose for using the computer, I can use it in more productive ways. If I use it in an unproductive manner, it will still be a conscious decision. It will also be restricted to a specific time period. Today if I get distracted, I might think that I’ll stop in ten minutes, but in reality an hour can go by without notice. I just haven’t been good at enforcing it. I let a distraction change my focus rather than make the decision myself.

Asking myself why I want to use the computer should be a good habit. I should be able to increase the ratio of productive hours to total hours if I can remind myself that I have a purpose and that I can always do something else later. The most distraction I should tolerate is to allow myself to write down what I want to do so that I can remember it later.

Categories
Games

Addiction a Bad Word

I meant to write about this article when I first read it, but Are Games Addictive? The State of the Science at Gamasutra asks if games are addictive. The answer: We don’t actually know.

The article presents an overview of psychology to help a game developer understand the nature of addiction and how it relates to games. Interestingly enough, even though there have been documented cases of people dying while playing online games, there hasn’t been enough definitive research to say whether or not games are addictive. People can become addicted to games, but no one has proven or disproven that games are themselves addictive. It’s a distinction that politicians and journalists have ignored.

Categories
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:

action->doActions();

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.

Categories
Game Development Personal Development

Thousander Club Update: March 27th

For this week’s Thousander Club update:

Game Hours: 59.5 / 1000
Game Ideas: 172 / 1000

Target: 189

Almost made it to 6%! I’m still behind in game ideas, but I’ll be sure to fix that today. If I sit down for 20 minutes, I’m sure I can come up with the remaining 17 ideas for this past week plus the 3 ideas for today.

Categories
Game Development Games Geek / Technical

IGF 2006 Awards

I can’t find too much information on it yet, but Gamasutra reported the winners of the Independent Games Festival for 2006.

Darwinia received awards for Technical Excellence and Innovation In Visual Arts as well as the Seumas McNally Grand Prize. Congratulations to the people at Introversion Software as well as all of the winners for each category!

Joe Indie has some pics of the event. I want a small, green Darwinian. Anyone at GDC from the Chicagoland area manage to get one of those?

Categories
Games

What Are Games Good For?

Some high-profile people have claimed that video games can never be anything more than entertainment. Hideo Kojima said that games are not art. Roger Ebert thinks that games are inherently inferior to film, arguing that the interactive nature of games prevents “authorial control”. I may not be a famous game developer, nor am I a connoisseur of fine art, but I’m inclined to believe that games are not inherently worse than other media. I also believe that games can be artistic.

I don’t think that games will be better storytellers than books or film, however. I have played some games with great stories, but the game part of the game was quite separate from the story. Other games are different, though. The SNES game The Illusion of Gaia is an example I always give when talking about art in games. This game made me think differently by the time I was through with it. I learned a few things, but it wasn’t like playing Civilization in which I learn small facts about the creation of the pyramids or of the importance of steam power. I learned about how I thought about the world. Heck, the game had a vegetarian message! I remember thinking about the reasons for eating animals when I didn’t have to do so.

Still, we haven’t seen the video game equivalent of “The Great Gatsby” or “Citizen Kane”. I think that it would be quite a stretch to claim that Asteroids is a game about mankind’s struggle against the universe or that Bejeweled is a commentary on greed. Those games aren’t meant to tell a story, however, and I’m fine with that. Likewise, you can’t tell me that all movies are artistic. There is nothing inherently artistic about film. Some are just guilty pleasures, such as those campy teen comedies.

So what are games good for?
Painting, photography, film, novels, and television…they all have their own strengths. A painting isn’t the same as film, but I think we can agree that “Mona Lisa: The Movie” wouldn’t be that great. When the motion picture camera was invented, the original use was to record live action plays. Naturally the translation didn’t work out too well. Watching a theatrical performance live does not compare to watching it through the single, stationary eye of the camera. Eventually film found its own strengths versus theater. Adam Baratz in the book Game Design Perspectives wrote that while games may blend with other media, we need to draw the line somewhere if we want games to “advance to a level of higher cultural distinction”. Painting survived by differentiating itself from photography, which was creating realistic images to record history much more easily and cheaply. Painters couldn’t hope to survive if they insisted on competing with photographers. So they did things that painters could do that photographers couldn’t, or at least not easily.

So what about games? What strengths do games have? What can games do better than films or novels? If we can’t answer this question, games will always be considered poor versions of movies.

I think that games have a number of strengths versus other media. While Roger Ebert believes that interactivity is part of the inherent weakness of games, I think it is a strength. Games can be nonlinear, allowing the player to explore a world rather than experience it in one exact way each time. A person can exercise his/her creativity through a game.

Games are Interactive
So games are interactive; however, interactivity isn’t enough. Duncan Munro in The Lie of Interactivity points out that interactivity does not make a game. Simply adding interactivity doesn’t automatically make something fun. Being able to press a button that lights up a display doesn’t make it very fun for anyone but possibly a toddler. Clearly games should be more than operant conditioning exercises. Clicking the “You Win” button won’t keep people satisfied for long, nor can we seriously argue that it would be a good game design.

So how is interactivity a strength? Imagine that you’re watching a movie like “Spiderman”. Each time you watch it, you are seeing the same exact scenes played out. The story is great, don’t get me wrong. You really get a feel for Peter Parker’s frustrations in trying to lead two lives. But what if you played Spiderman? Yes, they made quite a few games based on the license, but I am talking about playing the role of Peter Parker. You’re trying to balance your two lives rather than watch someone else do it on the screen. You would be experiencing what Peter Parker feels, rather than just understanding that it is happening. Unfortunately, I don’t know of any of the Spiderman games that actually let you play such a simulation. The role of Spiderman, with web-slinging and wall-climbing and crime-fighting abilities, is obviously the exciting part that would sell. I imagine that focusing on the experience of being Spiderman is just easier to implement than what I described.

In any case, you should be able to see that the interactive nature of games puts the player in a unique position to personally experience the game world. What if you were fighting on the beaches of Normandy? What if you were Neo? What if you were in charge of forming the empire? What if you were in charge of destroying one? What if you were a gardener? Wouldn’t doing something be more vivid and real than reading about the experience or watching it happen to someone else? If you want to teach people about the value of planning, you could show them movies or give them books about “The Ant and the Grasshopper”. Alternatively, you can throw them into a game of Starcraft or some other game heavily focused on resource management. Want your child to know the value of a dollar? Have him/her play The Sims and try to raise enough money to buy a pool for the backyard.

Virtual interactive experiences can provoke very real thoughts and emotions for a person. You can have first-hand experience with supply-and-demand economics. You can learn to think about contingency plans in case some event derails your current course of action. You can learn about cultural diversity. You can learn about fear. You can learn about service. All from a game.

Non-linearity
Some games are straight-through, one-way-only experiences. Quite a number of them are a lot of fun. Linear games aren’t inherently worse than non-linear games. There is nothing wrong with linearity except that movies and books already do it well. Choose-your-own-adventure books are the closest that novels have come to non-linear stories. Games can do a better job of providing a non-linear world for the player to explore.

In the original Super Mario Bros, how much fun was it to discover a floating block was invisible or that a certain pipe could take you to a room full of coins or that jumping to the top of the wall and running past the exit pipe would bring you to a warp zone? It is a delight to learn new things or discover new areas. Games can provide entire worlds to explore. There is no need to walk a person from a beginning to the end in a single path. Books already do it. Frodo always leaves his home and goes to Mordor. But what about the different areas he visits along the way? Wouldn’t you like to spend more time exploring the homelands of the various characters? No, Tolkien didn’t write such exploration into the story, and so you can’t do anything but read the story he provided. It’s a great story, but what happens when you want more?

In The Legend of Zelda: The Ocarina of Time, I can go from quest to quest, or I can take the time to explore the castle or the countryside or the graveyards. I can talk to various people. I’m in control, and I can enjoy riding Epona from one part of Hyrule to another, even if doing so wasn’t necessary to advance the game or story. It’s possible to complete the game without finding all items or talking to all people, but there is no authorial control that prevents me from doing so.

In Flatspace, I get a ship and can do whatever I want. I can earn an honest living by trading, or I can steal cargo, or I can become a bounty hunter. I can fight or become a criminal. At the end of a session, I’ve explored certain sections of the universe, have been attacked by certain enemies, and lived to tell the tail. I might have learned where certain expensive items are being sold and will make plans to earn the money to purchase them. One sector might have been the home to a hidden Scarrid base. It’s my own personalized experience, separate from what another person might experience when playing.

SimCity doesn’t impose any specific goal on you. You can try to get a Megalopolis, or you can just create a beautiful park. You can experiment with a city that has eliminated residential areas or placed a police station on every block. Do you use rails or allow normal roads? The game doesn’t ask you to do specific things, and so you’re free to explore the limits of the game.

SimCity: The Movie couldn’t possibly be as interesting. It would require that someone has made a set of choices and eliminated all others. Those exact choices would be made each time you watch it. Forever. On the other hand, the game allows you to experience it differently each time.

Creative Self-expression
In Paintbox games: Games that serve as augmented creativity tools, Danc notes that games can be great for feeding the hunger of creativity. Even people who think that they have no creative skills whatsoever will find it fun to change the landscape of Populous or create a rap with Yoshis in Mario Paint. A game can act as an easy-to-use tool to facilitate creation. Rather than spend years in art school, you can click a few buttons or drag a few icons, and you’ve created something. He talks about Bill Budge’s Pinball Construction Set, and memories rushed back in which I created some elaborate pinball tables, challenging my sister and my cousins to play them. I had a lot of fun creating the background images with the drawing tool it provided, and linking scores with the various bumpers and spinners was equally enjoyable. Today, people have The Sims and soon Spore. Games can be tools to allow the player to be expressive and to satisfy the urge to create.

I already noted that SimCity allows you to create lush parks or urban wastelands. The Sims can sometimes be described as “playing house”. Players love decorating and furnishing their Sim-homes. Players have created everything from small tools to entire games in Second Life. From laying out entire cities and empires to decorating the outfit of the player’s avatar, players have demonstrated that games can act as a great catalyst for creativity.

Conclusion
Games have a lot of untapped potential. While we could just try to mimic movies by making games more realistic and cinematic, we’ll probably end up with mediocre film-wannabes. If you want to make a movie, make a movie. Don’t try to make a game into a movie. If, on the other hand, you want to empower your players, if you want to give the director’s credit to your players, if you want to provide your players with first-hand experiences, make games rather than movies. When it comes to such experiences, movies are inherently inferior to games.

Categories
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.

Categories
Game Development Personal Development

Thousander Club Update: March 20th

For this week’s Thousander Club update:

Game Hours: 53 / 1000
Game Ideas: 156 / 1000

Target: 168

I worked a few hours, but spent quite a bit of time writing a game review and managing other responsibilities. I broke the 5% mark, however, and it feels good.

I’m falling behind in game ideas. I’ll need to catch up this week.

EDIT: You know, I should also add that I was sick for a couple of days. I try not to let myself make excuses, and sometimes I forget that some things aren’t actually my fault.

Categories
Games Geek / Technical

The Indie Showdown of Indie Destiny

The following is what happens when I get sick and can’t do much else with my time. Some parts could have been better, but try to enjoy it. It was just something fun, but singing it might get tricky at parts. If someone thinks they can also make a Flash animation to go with it, go for it. B-)

The Indie Showdown of Indie Destiny
A parody based on the better written The Ultimate Showdown of Ultimate Destiny which you might want to see first before reading the rest.

The old creature named Wik was hopping around
the magical forest like a big playground
when a Darwinian squad burst out of the shade
and hit poor Wik with the squad’s grenade.
Well Wik got pissed and began his attacks
but was blocked by the research physicist Max
who was about to serve a multidimensional dish
before he got distracted by the oil blob Gish

And Gish starting cracking Max’s hips
When they both got punched by Grace and Trip
But before they could return to their old apartment
a Zombie Smasher Punker jumps out from their basement
and using a zombie Nazi’s arms like a bat
he proceeded to beat them, just like that,
but his bat broke and he ran away
and an alien hominid tried to save the day.

This is the Indie Showdown of Indie Destiny.
Good guys, bad guys, and explosions as far as the eye can see,
and only one will survive. I wonder who it will be?
This is the Indie Showdown of Indie Destiny.

So Wik jumps down and eats the alien’s gun
and Laser Dolphin ain’t having much fun
and then Max came back hobbling on his cane
but the ninja N jumped out and stole it away
and the squad turned around, trying to aim steady
when Punker came back, this time ready
but suddenly something caught his leg and he tripped
He didn’t see the resourceful tongue of ol’ Wik

but the squad did see him, and they checked their sights
but Beethro and Halph pulled down all their tights
and in the confusion they threw their grenades and they missed
but N just blocked them with both of his fists
then he jumped in the air and fell and cried
when Punker headbutt him in the side.
They both fell down, and when they got entangled
Dark Elf Feyna arrived, and they were strangled.

This is the Indie Showdown of Indie Destiny.
Good guys, bad guys, and explosions as far as the eye can see,
and only one will survive. I wonder who it will be?
This is the Indie Showdown of Indie Destiny.

There was a great white light, and everyone wondered why
as Super Dudester descended from the sky.
He swung his arm wildly and gave a kick
and hit the face of poor ol’ Wik
who fell to the ground, writhing in pain
as Punker summoned an Uzi and Max recovered his cane
but Super Dudester saw them and did not fret
for he simply sang out and both of them wept.

Then in came Thomas and his magical words,
and Petey and Patty joined the hordes
and armed with tanks by the Federated States
came Wednesday the Witch, Glow Worm, and their mates
Professor Fizzwizzle, the Vikings, the Natives,
the Rumble Box fighters and the barbarian invaders.
And the Red Texas Four arrived from space
with the battle-ready Damocles for a taste
of a fight with the Dudester who for the first time
was the one with tears falling from his eyes.
It was the bloodiest battle the indie world ever saw
and indiegamer forum posters looked on in awe

and the fight raged on for a century
many lives were claimed, but eventually
the champion stood on the body piles
There was a yellow Chuzzle, blinking his eyes.

This is the Indie Showdown of Indie Destiny.
Good guys, bad guys, and explosions as far as the eye can see,
and only one will survive. I wonder who it will be?
This is the Indie Showdown…
This is the Indie Showdown…
This is the Indie Showdown of Indie Destiny.