This Weeks Tidbits

Cool New Flash Drive

I picked up a new flash drive recently. This is a 4GB flash drive that I picked up for $15. (All the electronics are stored in the black plastic area you see here.) A quick look at Amazon reveals that they’re selling 128 GB USB flash drives. I’m amazed how small this stuff is.

John Carmack and Apple

John Carmack recently commented that working with Apple is a big pain. I know how companies like to control their image, but there are some times when it gets ridiculous. Retaliation for saying the wrong thing about them?

“My relationship with Apple has been long standing, but it’s a rollercoaster ride,” he told Kotaku. “I’ll be invited up on stage for a keynote one month and then I’ll say something they don’t like and I can be blacklisted for six months.”

Working with Apple on iPhone games has been no different, Carmack said, but he is happy to see that former collaborator Graeme Devine is now working at Apple in the iPhone Game Technologies division. (Source)

You’d think that someone as big as John Carmack would have enough weight to avoid getting these kinds of punishments.

Google Chrome

Ever wonder why Google made Chrome, and started pushing it on www.google.com? Aren’t there already a perfectly good browsers (Firefox, Safari)? I was confused for a while until I thought about this.

Mozilla, the organization behind the popular Firefox web browser, has extended its search deal with Google for another three years. In return for setting Google as the default search engine on Firefox, Google pays Mozilla a substantial sum – in 2006 the total amounted to around $57 million, or 85% of the company’s total revenue. The deal was originally going to expire in 2006, but was later extended to 2008 and will now run through 2011. (Source)

Google’s business is advertising. Maintaining its advertising sector means staying on top as the number one search engine in the face of upstarts like Microsoft Bing. Sure, Google can keep paying Firefox hundreds of millions of dollars to be the default search engine (which, by the way, Bing doesn’t appear on the Firefox Search-Dropdown at all). But, someone at Google must’ve realized that they don’t want to be at the mercy of Firefox. The more marketshare Firefox has, the worse the negotiating position is for Google. I’m sure Google doesn’t want to get in a bidding war with Microsoft over Firefox’ search window. Someone at Google obviously realized that even if they can take 20% marketshare from Firefox, that would reduce Firefox’ negotiating power, and save them a lot of money. Ideally, Chrome would eat-up all of Firefox’ marketshare. Chrome users are, by default, pointed to Google’s search-engine. It just makes sense for Google to drop a few million on their own browser rather than pay-off Firefox year after year.

So far, Google Chrome has made a strong showing; 30 million users after just 10 months, which is a heck of a trajectory. Firefox is around 330 million users (24%), and IE still has 2/3rds of the browser market.

Smart people saying dumb things:

In the smart-people-saying-dumb-things department, I ran across the comment below on a blog recently. (To be fair, I can’t actually vouch for Brad Armstrong being smart.)

Seriously?

The internet has enlightened me to how misunderstood the software and the software industry is. I like the “big corporations” spin; it’s always a good way to side-step people’s critical thinking centers of the brain. Maybe I should comment about the legal system being a right of all Americans, and therefore, he should have to work for free. I think it’s entirely fair to call someone a hypocrite if they demand that software developers work for free, while they work a job that pays their bills. Only full-time volunteers (40-50 hours/week) and people who give 100% of their income to charity are allowed to cast that stone. It’s irksome that software developers have to justify getting paid for our work.

I’m also thinking of becoming an anti-physical property believer. Everything should be shared with everyone. That’s the best way to meet everyone’s needs. The big corporations don’t want us to share because sharing means buying less stuff. This means that you’re a wicked and evil person if you stop me from borrowing your car, watching your TV, using your computer, and sleeping under your roof. Oh, and I’m inviting all my hippie friends. They don’t shower because it messes up the natural oils on their skin. If you try to stop me, I’ll just have to “beat the system in order to fight the big corporations who own the corrupt legal system” – i.e. I’ll take what I want. Ownership is a scam created by the big corporations!

World of Goo, Pay What You Want

2d Boy recently had a 1-year anniversary sale on their game “World of Goo”. The game normally sells for $20, but now you can pay whatever you want for the game (minimum of 1 cent). They also asked people why they paid what they did, and released statistics on how much people paid.

The Results:

57,000 people downloaded the game over the past week. The average price paid was $2.03. In total, that adds up to $115,710. Because PayPal takes 30 cents + 2.9% of each payment, they ended up paying 13% of that ($15,000) in transaction fees, leaving them with $100,000, or $1.75 per buyer.

Here’s their bar-chart of the money paid and number of people at each price (click for a larger image):

Full Survey Results are here.

I have to admit that I’d thought about trying the “pay what you want” model for future games. It’s hard to interpret these results, though.

The Bad:
People paid very little – developers saw a scant $1.75 per sale.

There are some reasons that this should be taken with a grain of salt, though. I can think of quite of few reasons why this payment was low. First, the game has been out of a year. This means that everyone who would’ve paid $20 for it probably already bought it. Maybe 2dBoy is picking up the people who were willing to pay for it, but weren’t willing to pay $20. Also, in the questionnaire, asking why people paid what they did, 11.6% said they already owned it on a different platform, so they were just giving 2dBoy a few dollars for the opportunity to have it on another platform.

Of the 12% who actually answered the survey, when asked “How much do you think this game should cost normally?”, 85% said this game should normally cost $10 or more. But, only 12% of survey responders actually paid $10 or more. And only 5% of buyers paid $10 or more. Based on the sales numbers, 23,335 people (41%) paid 99 cents or less, and less than a third paid $2 or more. This is one of my fears of the pay-what-you-want model; that people will admit that a game is worth X dollars, but a large majority will pay much less than that if they have the opportunity to pay you less.

The Good:
They got a lot of sales, which added up to $100,000. That is, $100,000 on top of their previous income.

For comparison, 2dBoy says that the game actually cost about $116,000 to produce. Although, $116,000 is their “minimum living expenses” cost. They said that it took two people two years to produce the game, and $96,000 covered their living expenses – which translates to $24,000 per person per year; which is not a decent living.

I’d like to be able to try to generalize these numbers, but there’s a lot of difficulty in doing that.

First of all, World of Goo is a very popular game. So, trying to vindicate the pay-what-you-want model based on “they already earned $100,000 and only spent $116,000” doesn’t work very well. Afterall, World of Goo is probably in the top 99th percentile of games produced. So, if they made $400,000 on a $116,000 investment (ie. a good profit), it would also mean that 95% of the games on the market would be showing losses in the same situation.

Second, the pay-what-you-want model generates free publicity. Since World of Goo is essentially a first-tier game, it benefits disproportionately from free publicity. A second or third tier game might get a lot less free publicity, and then they’d get less benefit. To put it another way, let’s say that pay-what you want causes people to pay you less money, but increases the number of buyers. The numbers for some fictional games might look like this:

Using normal sales model:

GameX (Popular) 1000 buyers / month $10 revenue per sale = $10,000 revenue per month
GameY (Obscure) 50 buyers / month $10 revenue per sale = $500 revenue per month

Switching to a pay-what-you-want sales model, GameX (which is popular) gets lots of free publicity on gaming websites and blogs, GameY (which is obscure) gets a handful of mentions but remains obscure:

GameX (Popular) 8000 buyers / month $2 revenue per sale = $16,000 revenue per month
GameY (Obscure) 80 buyers / month $2 revenue per sale = $160 revenue per month

In the case above, GameY didn’t gain much in publicity, but it saw a sharp drop in the amount paid for their game. It would be a losing strategy in that case.

I also have to wonder about how pay-what-you-want model will change over time. Right now, it’s relatively novel, but if everyone did it, would the publicity decline — and, therefore, cause a decline in the profitability? In the survey, almost 1 our of 4 people said that they like the pay-what-you-want model and want to support it. But, if it becomes popular, will people stop supporting it because it is “established”? And what percentage of them paid higher amounts of money? Theoretically, the “we want to support pay-what-you-want” people could account for 100% of the people who paid $5 or more, and they could disappear as the model becomes more popular.

The Future of Games?

I was thinking today about the future of game development and graphics. The year I graduated from High School (1992), there were two major game-genres created. Dune 2 created the real-time strategy genre and Wolfenstein created first-person shooters.

Here’s a sample of the graphics. They’re not that impressive, but they were for the time.

Dune 2 gameplay (1992):

Wolfenstein gameplay (1992):

Doom (1993):

Compare that to the latest games:

All of this makes me wonder: where things will go in the future? We jumped from Wolfenstein 3d (1992) to this in 17 years. Now, add another 20 years of technology improvements, where will we be then?

I think we’re approaching the limits of how much graphics can be improved. Even if we quadruple the number of polygons rendered every second, it’s just doesn’t result in huge image-quality benefits like it used to. The major issue now is getting artists to create all that content – the geometry, textures, animations, etc. Some of the areas where I think we’ll be seeing improvement:

Graphics and Expansive Worlds:
– We’re getting to the top of what can be improved as far as graphics goes. A number of games are already boasting expansive game-worlds measured in hundreds of square miles. It seems like it won’t be long before there’s good libraries of realistic 3d models that game developers can drop into games. There’s still a big market for unique look and feel (see Brutal Legend, Team Fortress, Plants vs Zombies) which will be done with armies of artists. And there’s also lots of work to be done in level design.

Physics:
– Work on physics systems have come a long way in the last decade. Games like Crysis started showing off the fact that their physic models can handle thousands of barrels collisions at the same time. Collision detection, cloth simulation, fluid dynamics are definitely getting there. The Havok physics engine allows games to drop-in physics systems into games, so it’s being standardized. The technology behind damaging 3d objects isn’t quite there. (For example, the Halo Warthog never shows any signs of damage.) There are some racing games that tries to simulate car collision damage, but it ends up being a one-off system that isn’t standardized for game engines.

One racing game that simulates damage to vehicles:

Even in the case where games do simulate damage, it’s done in predefined ways – for example, they might have “after a car accident” cars, but they don’t have “hit by a grenade” or “shot by a gun” damage unless they explicitly create that damage.

Collisions between humanoids gets even more complicated, which is why combat in games is mostly a bunch of scripted moves. Ever notice how in games like “World of Warcraft” that a character’s weapon seems to move through the enemy? That’s because calculating the actual collision effects are too complicated. Realistically, it would include factors like the weight of the weapon, the character’s strength, the weight distribution of the enemy being hit, his muscle tension, etc. Systems like Euphoria (below) at least try to handle that kind of stuff.

Artificial Intelligence:
AI covers a whole bunch of different things. There is so much work to be done on AI that we’ll still be doing work 20 years from now. I would be nice if there were “AI engines” like there are 3d engines, now, but it seems that every game has to reinvent the wheel when it comes to AI. This is partly because “AI” is really a blanket term covering a whole bunch of different things, and also because the AI has to work well within the game rules (whatever they may be). Some types of AI systems:

– Character AI: embodied, realistic actors with personality, knowledge, desires, etc. They should be able to handle conversations. Right now, this is generally handled with predefined conversations where game designers offer players a limited set of responses. Ideally, you would want a very open conversation, but that takes enormous amounts of work. That system is also vulnerable to problems if the game plot changes. (For example, if a character is removed from the game, you won’t want anyone to make reference to that person in any conversations.)

Recently, I watched a video for “The Witcher 2”. They were boasting about the advanced AI, but I didn’t think it was that impressive. For example, in this scene, the witcher casts a spell. Game characters react, but they don’t react realistically:

For a really believable set of characters, they should’ve had a whole variety of factors influencing their reaction. First: is magic common in the game world? If magic is uncommon then they should be astonished and fearful. If magic is common, then the spell should be less surprising. In this particular scene, it seems that the characters could’ve been killed if the magic was targetted at them – which should make them nervous. And, the AI system should figure out if the game-characters were aware of who cast the spell. If the spell-casting was obvious and within their visual field, they should react to the player. Depending on their culture, religious beliefs and the exact situation, they might react in a hundred different ways, ranging from “what the heck just happened?” to “bow down and worship the player as a god” to “kill the witch” to “run away before he kills us all” to “thank god we have a powerful magic man like you on our side”. The reaction of game characters should also depend on the particular situation. For example, if the player-character says, “I’m a powerful wizard, give me your money” (and then casts a spell to intimidate the low-level game-characters), they should react by giving him what he wants. But, if the player says, “I will help you defeat the evil lord …”, then the player casts a spell, they will be impressed. Character AI gets very complicated, but then, it’s trying to simulate human reactions – which *is* a very complicated thing. Game developers can script these kinds of reactions, but it’s a lot of work and players will always do something you didn’t think of. It would be nice if developers could drop-in game-characters that could react realistically without developers needing script reactions to a hundred different things the player might do.

– Strategic AI: decision-making (deciding what to build, where and when to attack, expectations of success, forming alliances, starting wars, making trades). It also needs to have a knowledge-system, beliefs about what other players know and expect. It needs to anticipate other player’s actions and determine intentions (is the other player sending that transport over to invade my territory, or is he merely bumbling around on the map?). Ideally, the strategic AI could learn, so if players figure out clever ways to consistently beat the AI, it would react to stop that exploit – like a real-person would.

– AI voice-generation (intonation, timing, realism) – this should include an AI personality and mental state, since those things influence speech. Very difficult, probably not possible without a full-scale AI.

– Voice comprehension / text-comprehension – I’m not talking about speech-to-text technology, but actual comprehension. This is very difficult, probably not possible without a full-scale AI.

– AI/Body/Physics interaction (sports games, Force Unleashed). One irritation of mine is how games don’t handle simple things like foot-planting. Instead, in games like World Of Warcraft, characters can spin around in a circle without moving their feet. (See foot-planting in Madden ’09.) At least the character-movement and collision systems are starting to be handled by systems like Euphoria. I’ve been impressed by some of the things I’ve heard about the Euphoria engine. For example, game-characters can see if you are throwing something at them, and put their hands up in front of their face in an attempt to protect their head. All this kind of stuff will be standard.


– Pathfinding AI. Pathfinding is all about finding the best path from point A to point B. To function realistically, it should include character knowledge and the AI’s mental-map: does the game-character know the area or not? The pathway has to take into account body-type (humanoid, rodent, etc), athleticism (can he jump, crawl). I’ve seen some middleware engines that will handle this kind of navigation. It would be good to have a generalized pathfinding system that can work in 3D worlds, allowing game-characters to intelligently find their way around, even if the player disrupts the game-world (by destroying walls, blocking doorways, etc). Here’s a demo of one system:


Tools:
– We’ll look forward to better/faster tools for creating stuff (AIs, game-world terrain, etc). Instead of, say, placing every plant on a landscape, the tools will allow creators to have game-worlds grow organically based on predefined settings (vegetation types, geography, etc) and then they can go through and edit areas to put-in the things for the game. Right now, these kinds of tools are available within game editors, but it should become standardized so that these types of tools can be used across games and game-engines.

– We’ll eventually have access to 3d-objects that contain a wide variety of animations and behaviors. For example, a truck that contains a suspension system, and gets damaged in realistic ways from weapons and collisions. Or, animals that are packaged into a standard format that contains not only the 3d image and animations, but reacts intelligently to sensory information, and has behaviors. For example, deer and birds have behaviors like eating, and wandering. They get startled easily and run away in response to nearby people and sounds. This gets more complicated by the fact that the animal would have to perceive the environment around it and react to it – for example, if it wants to run away, it looks for it’s escape paths. It can’t run up a cliff or through a fence, so the pathfinding AI has to integrate with this system. Its behavior system might cause it to avoid confined spaces, and prefer staying near vegetation where it is hidden. It would be very nice if game developers could just drop-in various animals into a game world and they would react intelligently to it.

EoS Display Issues

It’s always odd for me to see my game on other people’s displays. Not because “it’s my game on their computer”, but I’m talking about the display properties of their screens. It seems like flat-screens are all over the place when it comes to good color fidelity. In general, when I look at the game on other people’s displays, the color palette is over-saturated, overly bright, and bad. It looks like Super Mario Brothers (not that their color palette is bad, just inappropriate for my game). It makes me want to add something to the preferences so that people can tone-down the colors. It’s probably true that most people simply don’t do any adjustment of their display’s color balance, and stores tend to make their displays super-bright just to make them stand out. I suspect that my display is under-saturated, and I shouldn’t be using it when I’m making color choices. On the other hand, I recently hooked up my game to a big-screen TV, and the colors looked okay — much, much better than it looked on a laptop minutes earlier. It’s just one more complication to deal with when making games.

Here’s what I mean by saturation and brightness:

Infinite Mario

Ha. Someone created a flash game that creates infinite Mario levels. Someone else created an AI that would play the level. I think I’m going to give-up on making games for people. All my games will play themselves from now on. Humans are obsolete.

I think the red streamers in front of Mario are used to calculate possible future movements.

Plants Vs. Zombies Interview

Interesting interview with the Plants Vs. Zombies creator in the latest issue of Edge. You can read it online here. The game designer says four people were involved in creating the game: a game designer, programmer, artist, and musician, and it took three years to develop. My guess is that it’s about 8 to 10 man-years of work. I also like the fact that he made the game easy to learn because he doesn’t like opening a game manual (and I can certainly relate to that kind of game design).

It’s an addictive little game. You can get the demo (one hour of play) or buy it on Steam for $10.

Nintendo Games Play Themselves

Just thought this was odd/funny:

Beginning with the upcoming New Super Mario Bros. Wii (due this holiday season), players will be able to pause a game during a particularly difficult level and let the game take over to complete the level. Press a button at any time to resume playing. This will help reduce barriers of entry for new or younger players – without purchasing a strategy guide or resorting to websites that list cheat codes.

Source: USA Today: Nintendo confirms secret ‘Help’ feature

When I first heard about this feature, I thought that the game would play-through the level by itself to show you how to do it, but wouldn’t actually move you through the game.

Nintendo even got a patent on it.