LoginRegister - Articles for topic category 'General'

Virtual Theology

Posted May 20th, 2007 by Talin

As a science fiction fan, I’m less interested in the question “Does God Exist?”, than in the more speculative question “If God existed, what would he/she be like?”

The best attempt that anyone has ever done at answering this question was in Olaf Stapleton’s Star Maker (1937), which tells the story of a galactic civilization and its search to achieve contact with the creator. It describes a being whose primary characteristic is creativity, a being that has undergone an artistic evolution through the creation of many universes, of which ours is neither the first or the last.

However, I was thinking along somewhat different lines. The idea that we’re actually inside a computer simulation is a pretty old one. There’s an anthropic argument that says if simulating a universe is possible, then chances are we are in a simulation, since the simulation would likely be run many times.

Its also interesting to think that the person running the simulation might not be omniescent or infinitely smart – in fact, they might not even be as smart as we are. At least, one could make the argument that the whole reason for them running the simulation is to find the answer to some problem that they themselves aren’t capable of figuring out by themselves.

If scientists were to uncover evidence that this universe is inside a virtual machine, what consequences would that have? Would we owe any duty to the people responsible for creating the simulation? Would they owe any duty to us? How could we convince them to continue to spend resources running it?

One bit of evidence that points against the idea that we’re in a simulation is the fact that the universe is far larger than it needs to be to host a civilization such as ours. The only possible counter-arguments that I can think of are (a) the rest of the universe is being simulated at a lower resolution, (b) we will eventually use that extra space for something, or (c) that there are other civilizations out there that are already using it.

First day at my new job!

Posted April 24th, 2007 by Talin

Today was my first day of work at Google. Most of the day was spent in orientation, however there are two interesting things to report: 1) The monitor on my desk is 30 inches. 2) My co-worker, sitting less than 10 feet away is the legendary Andy Hertzfeld.

New Music!

Posted April 19th, 2007 by Talin

I’ve just uploaded my latest composition, Anousheh’s Journey. Enjoy!

Never let your most important data be trapped

Posted April 16th, 2007 by Talin

One of the lessons I’ve learned recently is to never let your most important data – such as personal contacts, records, and so on – be trapped in a proprietary file format.

For example, my friend Barney has recently been going through hell because his massive contact database is stored in Outlook/Exchange. While its true that you can export the individual entries of the database as a flat file, what’s missing is the relationships between those records (such as groups and mailing lists) which cannot easily be extracted. And in Barney’s case, a large proportion of the usage value of that database is those relationships.

What game designers should never do

Posted April 16th, 2007 by Talin

I had a minor epiphany today that I would like to share:

“If you want to be a successful game designer, the one thing you must never do is think of fun things for other people to do.”

Now, at this point your reaction might be “huh? Isn’t that what game designers are supposed to do for a living – think of fun things for other people to do?”

The key part is the words other people. Thinking of fun things for other people to do requires putting yourself in someone else’s shoes and imagining what they might find fun, as opposed to putting yourself in your own shoes and imagining what you might find fun. Or even better, just having fun yourself, without having to imagine it.

Trying to come up with novel situations that other people might find fun – without actually having fun yourself – is something that is so difficult that it should be, in my opinion, considered impossible for all practical purposes. I’m not talking about merely listing previously-known activities that are already known to be fun – I’m talking about dreaming up new activities, which have not yet been discovered to be in the “fun” category.

What’s worse, a lot of people seem to arrogantly believe that they can do it, when in fact they are really terrible at it. And they waste enormous amounts of game developer resources attempting to realize their designs which turn out, in the end, to be – not fun.

Game design of this type is a lot like drunk driving, in that there is a mismatch between what the drunk driver believes that they are capable of, and what they are actually capable of. A drunk drive may believe that they are capable of getting home safely. And in fact, they might, if they are lucky, accomplish it. But they are more likely to crash and kill someone. So in order to prevent this, it makes good sense to reinforce the belief that it is utterly impossible to drive safely while drunk, even thought it’s not. In the case of game design, we aren’t at risk of killing anyone with our false beliefs, but we are at risk of wasting many millions of dollars of developer resources on products that eventually fail in the marketplace.

In my experience, the idea of “fun” is a slippery, emotional concept that contains a whole set of interesting mental paradoxes – such as the fact that as a game buyer we want games to be hard, but as a player we want them to be easy. Because of this, “fun” is not something that we can really reason about logically so much as experience.

Think of it this way: Any given activity that you can think of will fall into one of four categories:

  1. Things that neither you nor anyone else would find fun.
  2. Things that you would find fun, but few others would.
  3. Things that others would find fun, but you don’t.
  4. Things that both you and other people would find fun.

Obviously, we want to avoid the first category, although there are a surprising number of games out there that seem to fall into it.

The second category is trickier. It’s easy for an enthusiast of a particular hobby, such as, say, scuba diving, to think that just because they enjoy it, everyone else will too. So unless you want to design games only for yourself, you do need to envision the mindset of your customers to some extent.

However, when we get to the third category, “things that other people might fun but you don’t”, the fact that you yourself don’t find it enjoyable should be taken as a warning sign. You need to ask yourself, why is it that you yourself don’t find it fun, and why shouldn’t that same reason apply to everyone else? Maybe in fact other people out there are closer to your mindset than you realize.

Now you might say, well – the reason that I don’t find this fun is because the “fun” part depends on hidden information. And since I, the designer, already know everything about the design, there is no hidden information, whereas if I didn’t already know the information then I would find this to be fun.

Unfortunately, there are so many flaws in this reasoning that I hardly know where to begin.

The first problem is that a design which depends on hidden information is not, in fact, a game – it is a puzzle. (I’m not talking about hidden information which is known by one player but not another in a multi-player game such as bridge – I’m talking about information which is hidden from the player by the designer.)

The problem with puzzles of this type is that they are disposable – use them once and throw them away. Once the player discovers the hidden information, the supposed fun (assuming that there every was any) is gone now. As we learned in the 80s and 90s, games which are essentially large and complex puzzles have effectively zero replay value, and have poor fun-to-cost ratios, both for the customer and for the developer.

This is even assuming that the game player doesn’t already know the hidden information before they even start. You can’t keep secrets in a mass market, and some secrets are so obvious that you don’t need to be told them.

And finally, you can’t really say “if I didn’t know the hidden information, I might find it fun”. First, because a hypothetical “you” who doesn’t know the hidden information is really a different person, and you can’t really know what that person would find enjoyable or not. Even if this “you” has the same basic personality and memories as the real you, you still can’t do it, because you have a fundamentally different vantage point. It’s like standing at the top of a building, and then picturing yourself at the foot of the building and trying to imagine what you would be seeing from there. You might get a rough sense of the general geometry of the scene, but you wouldn’t be able to imagine all of the details, or the general ambiance of the street.

So we come to category four, things which both you and other people would find fun. The best way to work in this category is not to sit around imagining things that are fun – but to go around having fun yourself. Of course, by “having fun” I don’t mean just take off and spend time at the amusement park – although, it might not be a bad idea – but rather a more restricted sort of having fun where you make up games for yourself and then play them. And if you find yourself playing them rather a lot, then you may be on to something.

In my view, there are two types of successful game designers: “formula hacks”, and “game players”. Formula hacks are people who don’t even try to design new kinds of games, they just re-use existing designs that are known to work. Most of their efforts are spent giving the design a new coat of paint, filing off the serial numbers, and generally upating the details without touching the essential core of the design. This may sound uncreative, but it works, and has a long and established history.

The other type of designer, the game player, is the type of person who basically has a lot of fun thinking up games and playing them. Very little of what they create is actually worthwhile, but because they create so many different designs, they can afford to only use the top ten percent and throw the rest away. They don’t try to put themselves in other people’s shoes, they don’t try to “imagine” what might be fun. They discover fun by experiencing it themselves.

Neither of these two types of successful game designer spends any effort thinking of fun things for other people to do.

A new musical composition

Posted December 31st, 2006 by Talin

Here is my latest musical composition for you all to enjoy.

Some ‘liner notes’ for those who might be interested: This piece, like many of mine, is a kind of celtic+trance fusion; In this case, it’s more influenced by Scottish bagpipe music (various melodic ornaments/trills overlaid on a background drone.) It also uses a fairly diverse set of electronic drums, and of lots of stereo delay effects. As with all my pieces, its very ‘danceable’ 🙂

Unlike previous pieces, I managed this time to avoid the mistake of composing while using headphones; Hopefully this piece ought to come through well with ordinary stereo or computer speakers.

All my MP3s are licensed under a Creative Commons Attribution License. So shared and enjoy!

What, you don’t have an RSS reader?

Posted October 16th, 2006 by Talin

Two words: Google Reader.

These days, I pretty much ignore any blog that doesn’t have an RSS or Atom feed. Who wants to spend 20 minutes every day checking all their favorite web sites to see which ones have updated?

Up to this point, I’ve been using Safari (yes, the web browser that comes with OS X) as my preferred RSS reader – it beats the pants off of Firefox 2.0. However, it looks like the newly redesigned Google Reader may be the new champion – its dirt simple to use, and organizes my feeds in exactly the way I like them. Specifically – I want to see a summary of the latest stories in a single page, not just the titles. I want to read the stories continuously down the page, not open a separate page for each story. And so on.

Highly recommended.


Posted October 14th, 2006 by Talin

Old idea, new name: Podcasting combined with GPS.

When I visited Edinburgh Castle, you could rent these small audio players that would narrate to you as you wandered about the grounds, explaining the history and various stories behind the specific location where you were. (Nothing sophisticated here – just a small sign in each room showing what number to punch on the audio player.)

What if, however, we could have something similar that works everywhere, all the time? You go out hiking on a trail, and listen to stories told by others who have walked that trail before.

A lot of folks have thought about the idea of a GPS-indexed ‘net. However, they tend to get bogged down in things like “the spam problem” and so on.

Podcasting provides a user experience model which fits naturally with this idea. Podcasts aren’t just a big soup of audio files, they are organized into “feeds”, each feed being (ultimately) controlled by a person and backed by their reputation (even if the feed is an aggregate of the work of multiple commentators.) Moreover, because feeds are in competition with each other for mind share, there is competitive pressure not to degrade the listening experience, which is why there aren’t very many adverts in podcasts.

Secondly, as an auditory rather than a visual experience, podcasts require less attention to be taken away from the visal experience of travelling.

A location-based podcast would, of course, have to be a lot ‘denser’ in terms of number of stories than a regular “global” cast. The GPS data serves primarily as a filter, removing entries that don’t match the users current location. This means that instead of getting an RSS feed of all of the stories, I only get the .001% of stories that happend to coincide with my current location.

The solution is a compilation cast – i.e. I select a feed based on the reputation of an editor, who combines many casts into a single aggregate feed. This combined feed will be dense enough so that at any given location, the chances of finding a matching story are good.

The thing we want to avoid is to simply grab all feeds for a given location, unfiltered. Without someone’s reputation in the loop, there’s no competition between stories, which means that the quality will rapidly degrade and spam will dominate.

Thesaurus.com sucks

Posted October 13th, 2006 by Talin

I’m just stunned at how bad of a thesaurus Thesaurus.com is. Actually, most of the online thesaurii are pretty awful, however Thesaurus.com is awful in its own way.

Thesaurus.com has a lot of content, but it’s not comprehensive. You look up a word and you get hundreds of results (many of which have absolutely nothing to do with the word you are searching for), but at the same time, whole classes of meanings are just — missing.

For example – yesterday I wanted to find a synonym for the word ‘sharing’, in the sense of a common interest or attribute, such as “sharing a love of great films”, or joint ownership of a bank acount. Well, Thesaurus.com has no such notion – instead, it only lists “sharing” as a syonym of “dividing” or “apportioning” and a few other similar synonym, all of which seem centered around the concept of partitioning of a ‘rival good’, which is not what I am looking for. And this is not the first time I’ve had this experience.

Anyone know of a really good thesaurus out there? I’ve tried a bunch.

Random idea: VoIP barbershop quartet

Posted September 24th, 2006 by Talin

Everyone likes to sing, but there’s so few opportunities to sing with other people. How about a web service that allows voice over IP sing-alongs? You’d see a list of “channels” where people are singing, and then you could join a channel and start singing along. There might be some latency issues – but you could probably overcome that by choosing to sing with people who were “nearby” (in network terms).