May 2002

Case studies and the TopCoder view point

It’s the challenge phase. At first glance the code you’re looking at seems horribly flawed. A crucial if-statement is missing at the beginning of a loop, making this coder’s solution useless. “How could they have made such an obvious mistake,” you think, as you run through the code one final time to make sure you didn’t miss anything. It’s then that you see it: a slider at the bottom of the viewing window indicating that there is more to this code than meets the eye. As you move the slider to the right, you see the crucial if-statement, indented past the edge of the viewing window.

Was this an act of deception, intended to trick coders into making unsuccessful challenges, or was it an innocent mistake by a coder having trouble indenting correctly? The answer to this question determines whether or not cases like these are punishable under TopCoder’s obfuscation rule.

(full article)

Ask most people what they liked most about the recent Spider-Man movie, and they won’t talk about the deep character design, nuanced dialogue or gripping philosophical issues the movie presents.

Most likely, they’ll tell you the scenes where Spider-Man swings through the air and fights bad guys were "pretty cool." Activision’s Spider-Man: the Movie for Playstation 2, GameCube, Xbox and PC takes these "pretty cool" parts and makes a pretty good game out of them.

(full article)

What a Load!

Dorothy, the Scarecrow, the Tin Man, the Cowardly Lion, and Toto have just returned to the Wizard’s palace in the Emerald City. They have brought the broomstick of the Wicked Witch of the West, yet the great Wizard of Oz still refuses to grant their wishes. Suddenly, Toto notices something behind a previously unnoticed green curtain. The assembled group goes to the curtain, pulls it aside, and…

NOW LOADING SCENE……….……………………………….

It seems ludicrous to imagine loading screens in classic movies like “The Wizard of Oz.” Similarly, people would be appalled if movies, musical performances, or books had to pause before they were complete to load additional content. So why are loading screens so accepted in the video game industry? And how can we get rid of them once and for all?

Loading screens are an inevitable side effect of the unique aspects of interactive media. Since playing a game is a non-linear experience, the creator can’t be sure what portion of a game’s program the player will access next. Rather, certain areas of the game program must be accessed based on inputs the player gives. Hence, a game must pause every so often to load the next section of a program into the game consoles limited memory, so that it can be accessed more quickly. As games get larger and more complex, these load times will only becomes longer and more frequent (barring any revolutions in video game storage media or disc-drive access speed)

Video games aren’t the only media that features long pauses that break up the experience. Television and radio shows, for instance, have commercials in the middle of them, breaking up the flow of the program in order to promote the product of another company. But advertisers pay to insert these pauses into television and radio. In fact, they pay enough to make them free to the viewer once they have bought the television set or radio. These commercials are annoying to the viewer, obviously, but the viewer endures them because they drive down the cost of watching or listening to the show.

Viewers are often willing to pay to get rid of these annoying breaks. The Home Box Office cable network, for instance, offers movies, original series’, and sporting events without commercial interruption for a small monthly fee. Similarly, by paying a one-time charge and buying a CD, one can listen to the music they desire without interruption and at any time they want, without having to wait.

This ‘pay or wait’ strategy has worked well for other entertainment industries. A slightly altered ‘pay to wait’ strategy is needed in the video game industry.

My proposal to fix the problem of excessive load times in video games involves a tax on games based on the amount of loading they contain. This tax would start at a base of $0 for a game that had no load time, and go up at a rate of $5 for every minute of loading the average player has to sit through per hour of gameplay. Since no game can be completely free of loading, the first three minutes per gameplay-hour will not raise the tax.

Revenue from this tax would go to a governing body that would carefully study each new release’s average load times and impose new taxes accordingly. Excess funds could go to companies that show impressive progress in reducing load times in their games, or to researching new ways to load interactive content efficiently.

Of course, consumers would be more than willing to pay the burden of this tax on a game that was good, just as they are willing to pay extra money to watch quality shows like The Sopranos on HBO. Thus, good games that are forced to have long load times due to technical limitations would still be able to generate sizable revenues for their company. The companies that this tax would hurt the most, then, would be those that make bad games that also require players to suffer through interminable loading screens. Many gamers are willing to pay $50 for long-loading games like Crash Bandicoot: The Wrath of Cortex, but much fewer would be willing to buy them if their prices were suddenly inflated by ten to forty dollars! (In fact, in Crash’s case, a $40 tax may be too low!)

Think of what this tax would mean to the industry as a whole. Lazy programmers, who were willing to leave long load times in a game instead of optimizing their code, would be forced to pore over their work to lower the tax’s effect on their company’s bottom line. Console makers would be forced to streamline their system’s RAM caches and data buses so their games would not fall prey to the tax. Consumers, who may already be wary of a game that they hear suffers from awful load times, will be given an extra reminder at the cash register of the severe waiting they are about to suffer.

Eventually, out of sheer need to survive in an increasingly competitive market place, companies would be forced to develop and implement new methods to reduce load times. Average load times for games would decrease significantly, as would the effect of the load tax on both consumers and developers. Eventually, once most developers have integrated these techniques into their development processes and realized the benefit in sales that results from them, the tax would be abolished, and developers and gamers alike would rejoice in a land of minimal-loading bliss.

Or maybe not. It is possible that this tax would put an undue strain on video game consumers, reducing game sales and hurting the industry more than it would help. Or perhaps gamers would simply ignore the tax, paying the extra money without thinking about it. Perhaps a rating system, warning gamers of their impending wait with large friendly stickers on the box, would be a better solution. But one thing is for certain, when it comes to loading, we all need to

LOADING CONCLUSION…………………………………………..

If you ask your parents who Pac-man is, they will most likely describe to you a small yellow circle with a slice cut out who traverses mazes while eating dots and avoiding ghosts.

They probably won’t say anything about arms and legs, roller skates, flippers, a dog, a submarine or the ability to jump. Yet these are all part of the highly evolved form of Pac-man found in Namco’s Pac-man World 2 (PMW2) for the GameCube and Playstation 2.

(full article)