Life, code and music.
Links


Articles
Archives
09.1003.06
06.1002.06
02.1001.06
11.0912.05
08.0911.05
03.0909.05
12.0808.05
11.0807.05
10.0806.05
03.0805.05
01.0804.05
11.0703.05
10.0702.05
08.0701.05
07.0712.04
06.0703.04
05.0702.04
11.0610.03
08.0609.03
04.06 
9.15.2003

Asynchronous

So, Nick asks: Is this really "asynchronous"? Asynchronous means that things can happen independently, but in a game, they can't. You can't make all of your chess moves whenever you want. You always have to wait for the other person. So even though you're not sitting together, and the moves have long pauses between them, the game is still played "synchronously", no?

Well, that's one definition. Asynchronous has a few. Others revolve more around concurrency, which is more of what we're going for.

The key might be in the definition of synchronous, which almost universally looks something like: occurring at the same time. In most games, the turns aren't exactly taken at the same time, but you are playing the game at the same time as someone else. We want to break that model, so you don't have to play the game at the same time. You can play it at different times.

Actually, when you think about it, "asynchronous" really means NOT occurring at the same time. We've taken that to mean things can happen whenever they want, but really, it's the other way around. If you can do something whenever you want, that's asynchronous, because by definition you don't have to do it at the same time as something else. But if you have an asynchronous process, it doesn't necessarily allow you to do something whenever you want.

That would be a bit like saying, since a yellow banana is not-green, all not-green things are yellow.

So, we're modelling more off asynchronous messaging, which means that a process can send a message, even if there's no-one to hear it right away. There's no need for concurrency. We want that with games.

On another tangent, one of the things we're looking at in the off-shore model is the problem with synchronous meetings. They're just really hard to have. So we rely on asynchronous communication models, where I can communicate with you without you actually having to be there.

We sort of already knew this, but once we pinpointed *why* some things worked better than others, we are now better able to address the situation.

Later, Rob adds:
Synchronous game, Asynchronous access
Case closed. Not guilcup.


Post a Comment

<< Home


Powered by Blogger

© 2001-2005 20six20