Photosynth

I just saw the friendliest “we don’t support you computer” message ever – and it came from Microsoft:

“Unfortunately, we’re not cool enough to run on your OS yet. We really wish we had a version of Photosynth that worked cross platform, but for now it only runs on Windows. Trust us, as soon as we have a Mac version ready, it will be up and available on our site.”

I’m impressed even before I’ve seen the service itself.

Blizzard counters with Wrath of Lich King cinematic trailer

Blizzard has released a cinematic trailer of Wrath of Lich King. I suggest you get the downloadable HD version for full screen goodness.

The video looks very pretty but is very thin on actual content. Compared to the Warhammer trailer I blogged about yesterday, the WAR trailer has tons of fun stuff on the expected gameplay of the game, in addition to looking great. I think Paul Barnett knew what he was talking about when he said they’ve fully embraced the rich background of Warhammer, while the WoW folks always need to come up with new IP.

Just Leap In

Raph just blogged about Just Leap In – a new embeddable 3D world client.

In addition to agreeing on Raph’s comments about the high barrier of entry to authoring content on a world with 3D assets looking like this (see the video below), the demo video made me wonder what purpose has the product been designed for? The demo video has zero social interaction. This, combined with the technical mumbo jumbo for the content authoring, makes me think the project is run from purely technical perspective and nobody has thought the users as part of the design process. Sad, really. I thought the collective wisdom for building virtual worlds would soon have reached the point where neutron bomb worlds are the way of bye bye.

Lesson in software security for game programmers

PlayNoEvil pointed to an interesting old story about analysing a seeming innocent-looking shuffle algorithm for Texas Holdem’. Makes for a very good read. And proves that the behavior of most code is not fundamentally understood even by the person who wrote the code.

This reminded me of an old bug I reported on PHP, which was causing similar huge security issues on a number of website, the owners of whom ended up never knowing they had had a problem. The issues was that a number of open source PHP-based applications used the following algorithm (which was also suggested in PHP website) to generate random passwords who registered or wanted their passwords reset:

password = “”;
$array = array(‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’ n’,’o’,’p’,’q’,’r’,’s’,’t’,’u’,’v’,’w’,’x’,’y’,’z’,0,1,2,4, 5,6,7,8,9);
shuffle(&$array);
for ($i=0; $i<6; $i++) { $password .= $array[$i]; } Looks innocent, right? An array of wanted characters is shuffled to random order and the first six are concatenated to form the new password. The issue here is, the programmer assumes the shuffle is actually random. And on some systems, it was, some it wasn’t. The c-language implementation of PHP’s shuffle sorting at the time was the following: (php_rand() % 2) ? 1 : -1 where php_rand was actually using the platform’s native rand() call. The cunning reader notices the algorithm really only uses the least significant bit of the generated random number, and hence relies on the stream of least significant bits being random. This is the point where the chain of assumptions failed. On Solaris and Linux of the time (and maybe still!), the least significant bit of the generated random numbers wasn’t random at all. If you generate a sequence of random numbers on these systems with rand(), the LSB always follows one of the following four patterns, depending on which point in the sequence in the grand scheme of things you start iterating: 1001, 0011, 0110 or 1100. Now where does this leave our password algorithm? The answer is, on the affected systems the above algorithm only ever generated four different passwords, because there only were four different shuffles. These four looked random, but weren’t. And any user could generate the four combinations by just requesting a password reset a few times, after which you could request the password of someone else be reset. To resolve the issue, PHP was changed to use an algorithm that generates a more random sequence of LSB’s. One could also point that sending passwords to users when they register or want one reset is exceedingly stupid, but I’ll leave that as an exercise to the reader. I’d be interested to know how many pieces of software still use the LSB from rand(), though. Update: reading what I wrote made me think the story is a bit strange, coming from someone working as a concept designer. But hey, knowing a broad range of stuff can’t hurt.

Emily

Times Online has a video clip of a wholly computer generated talking head which some people have gotten excited about. The page itself claims the animation leaps the uncanny valley but I totally disagree. It’s impressive, right, and looks like a step into the direction, but uncanny it is. The individual still are very good but the movement just isn’t right. Maybe they hired a robot to play the woman for the capture?

WAR!

The interweb is full of WAR related stuff now that the NDA was lifted. I have to say I _love_ some aspects of the stuff that are coming up. Like the copywriting! The advancement paths for Orc tanks are:

Path of Da’ Brawler – You’z gud at stabbin’ things.
Path of Da’ Toughest – You’z gud at survivability. Mor’ killin’ later!
Path of Da’ Boss – You’z gud at da group support, cause everyone ‘as some killin’ ta do.

The bad parts of the deal is of course that the game is again split to separate US and Europe servers so I can’t actually play in a group with friends from both continents. And for some reason the WAR Europe website hasn’t been tested on any browser except for Internet Explorer (just failed to register due to crap javascript forms that FAIL on Firefox). Looks like it’s going to be an awesome game, but again a project that’s failed to realize the web exists. Shame.

World of high end audio and video is just amazing

I’m in process of radically changing my living room audio / video hardware. The old stuff is the usual setup with a DVD player, PVR, Yamaha amp with 5.1 speaker setup, Airport Express for streaming audio and of course a HD capable flat panel telly. Oh and the only console hooked up right now is the Wii.

I’ve been meaning to change all this for a while but never got to do it until two things happened at the same time. I bought an eyeTV digital television receiver on a spur of the moment, and saw the design of the new Drop speakers. After having used the eyeTV unit for a moment with an old laptop, I noticed I was happier with the interface (and especially the recording capabilities) of the unit than the Handan PVR unit so I’m dumping that in favor of a Mac Mini. The Mini of course obsoletes the Airport unit for music streaming, which in turn means I can now store the audio in a lossless format of the larger than before drive, which means I should get a new amp for the Drops…

I promise to do a graph of the whole setup soon, when I’m happy with it. It seems I’m getting improved sound quality with nicer to use equipment for less than what I might get when selling away the old stuff.

Anyway to the point – as part of Googling for the kinds of audio stuff I ought to purchase, I’ve (again) figured the “high end” audio market is full of outright scams, which are of course all based on people’s willingness to believe in anything. The most amazing scam going on right now is of course high-end HDMI cables that companies claim will improve your picture quality. Of course, this is impossible.

The High-Definition Multimedia Interface (HDMI) is a connector that packs a digital stream of bits that bundles a multi-channel audio stream with DVI-compatible video stream. The combination of audio and video in one well designed compact plug is convenient for the consumer and the streams support bit-rates high enough for the highest HDTV resolutions and multi-channel surround sound setups. What most people don’t realize is the interface has also been designed with the entertainment industry’s requirements in mind – the data streams are encrypted.

Encryption means you either get all the data bit for bit and are able to decrypt the stream, or you miss something, the devices disconnect. There is no “get some bits with lower quality” mode to HDMI. The cable either works perfectly, or it doesn’t work at all. The only difference in the quality of cables are the distance at which the devices can still connect and work. High quality well shielded cables will give you a few feet extra on top of the bad quality cables.

If the $5 cable over HDMI gives you the picture, that’s the same picture you’ll be getting a $99 HDMI cable.

And the girl you’re trying to impress won’t see the gold plating anyway, assuming you haven’t setup the rear end of the equipment facing the viewer. Actually, for anyone with gold plate HDMI cables, I recommend that’s what you do for best value. Because that’s the only value the plating has.

To WoW or not to WoW

It’s been interesting to read the blogosphere reaction to Paul Barnett’s presentation at Develop where he mentioned he doesn’t play Word of Warcraft and recommends his design team to do the same. I personally do play WoW, although not nearly as much as, say, Damion.

I actually was there and had the chance to go to lunch with Paul at Develop, so I thought I’d share a bit. I think the writing out there isn’t doing him a justice, given it’s based on a relatively short quote from a presentation where he didn’t explain his rationale very thoroughly.

In his words, the point of the comment was I am all for debate and exchange of ideas, I just don’t want people slavishly copying wow mechanics.

My interpretation of the reason he’s discouraging laying WoW is he thinks playing too much of one game starts to constrain one’s thinking when designing a new game. It’s totally fine to play a game if you can actually be objective about it, but unfortunate we’re all human and tend to get excited about ideas that might not be so good. Some designs patterns are just addictive, despite being bad designs. And I would assume there’s plenty WoW players on his team, too, so if he wants to know how a mechanic works there, the answer is readily available.

An example Paul gave during the lunch was the travel point system in WoW. The way the system works is (as you probably know), to be able to fly to a place in the world quickly, you need to walk there first. There’s nothing that justifies this artificial limitation, aside from it a) making players explore more and b) makes you play for more hours. Point A is moot since people who like to explore do it regardless of whether you can avoid it or not, and enforcing player to something they don’t like is not a good idea in general. Point B can be a valid business tactic, given the recent blogging about the average hours it takes for a player to reach level 70 in WoW – if the walking can push you to the next month of subscription, that’s good money right there.

It seems even Blizzard has figured this was pissing players off, as Burning Crusades included a number of new methods for instant teleportation to locations within the world. However, Lich King seems to going backwards on this, as players apparently can’t use their hard earned flying mounts in Northrend.

Now, going back to the point collection system, it doesn’t make WoW any better so he doesn’t want to copy the mechanic to WAR. However, he’s been having arguments with people who think it’s such a strong design idea, they can’t imagine a game not mimicking the design. If that’s what WoW does to designers, I think I’d better stop playing – the fact that a product had a design working in a certain way can’t be the rationale for using the mechanic somewhere else. You need to be able to justify the design fitting your game and it’s players on it’s own, no matter where you picked it up from. WoW is not the culmination of game design in all aspects, despite being hugely successful commercially.

Personally, I’m all for being able to fly anywhere. Heck, you could price the first trip to a location so expensive I can’t afford to fly to the Wrong Place in the beginning. That’s just as effective as preventing me from going, only it doesn’t feel so frickin artificial. Now, where’s my Frequent Flyer points in WoW? And could I just please be able to buy the Business Class ticket that’s three times faster without the detours meant to show me the art I’ve seen a hundred times already?

Update: Paul’s written a reply on his MySpace page.