Wednesday, May 31, 2006

Fan Fiction

You would not believe how many essays I have written but not posted. :P

Anyhow, here's one on fan fiction, player-generated content, and related enterprises. I didn't have enough time to write a short essay, sorry.

All of you are probably familiar with "fan fiction", and many of you are probably familiar with anime music videos. Although the vast majority of the things these fans produce is crap, that's mostly because there are no barriers to entry. There are some astoundingly good AMVs and fan-fictions out there.

A lot of the really skilled fanfic writers get regular comments that they should go do something original, because they are so good. I doubt AMV creators get the same kind of mail, but there is still probably an undercurrent of wanting to do "serious" work.

The thing is, using a pre-existing IP or even pre-existing media gives you a killer combination of advantages, and I think it would be interesting to talk about them.

1) An existing fan base. The most obvious advantage, and the one which people usually stop at. "That Star Wars fanfic is popular because Star Wars is popular!" "That Naruto AMV is popular because Naruto is popular!"

Perhaps, but there are a million other Naruto AMVs and Star Wars fanfics. They aren't popular, because they suck. The popular ones probably don't suck. They probably show every bit as much skill as a big-name AAA production would.

2) An existing media base. This is an important one that people don't seem to understand. There's more to homage than simply riding the wave of popularity.

The thing that is popular exists and the author will use it. What a skilled author does is take the best parts of it and remix them with the best parts of his own skill. The results can be astonishing - often better than the original. Why?

Because the author has a particular thing he is good at. Maybe he's good at visual rhythm control. That's not something you can use alone, now is it? You need something visual and a song to put it against.

By picking the best visuals and songs he can, the author functionally "teams up" with the original author, using the parts that the original author was a genius at, and then inserts his own gift into the cracks where the original author was weak.

This means that an author can take the best of the best and combine it with their own skill, instead of having to scrounge for second-rate content they either build themselves or beg off random people.

Specialization - they wouldn't get these chances without the ability to remix other, powerfully crafted works.

If they stop fanficcing and AMVing and try to do something independently, they have to build this content. I'm sure many of the best have tried, only to realize that they royally suck at some element of the mix, souring the whole batch.

Lastly, someone doing fanfics and AMVs has...

3) An unlimited media base. Often, the best AMVs and fanfics use multiple sources from multiple IPs. This is something that AAA studios can't seem to figure out, but these super-specialists often have a surprising amount of skill. It's just practice: why would a AAA writer write crossover fics? What a waste of time!

Not really. Now, instead of taking the best of the best and combining with your skill, you can take the best of the best and combine it with the best of the best. You can pick tiny pieces - that one thing that the IP did spectacularly. That one perfect character. That one extraordinary plot.

All the stuff that was merely "great" can be left in the background.

Sure, there's an element of "who could kick whose ass?", but that's part of the strength of the original media. It's just a rather juvenile kind of strength.

If you've ever read/watched the best of these "copycats", you probably noticed that even when they were talking about an IP you hadn't seen, it was rock-solid. Enviably solid. Even though you had never seen it before and therefore were not a fan.

That's because the author picked the best stuff available.

(This is especially clear in AMVs, where several times a good AMV has lured me into watching a disappointing series.)


Okay, why the hell am I talking about crossover fanfics and AMVs?

Because these are specializations which are going to become more and more important as our world gets internettified.

Even if present social morality insists you can't use someone else's media or IP for profit, there are other, socially acceptable uses that are largely overlooked because there's nobody who thinks like this in any real position of power.

For example, is there any reason that two or three companies wouldn't combine forces to create a product or marketing campaign?

Oh, sure, it happens from time to time. But it's pretty rare and doesn't last long. Usually, it's just a business deal: "we'll distribute coupons for you guys if you pimp us out in your stores." How clumsy. How ugly.

What if someone skilled at taking the best and combining it perfectly managed to hook up with three or four small-but-growing software companies? Take the best aspects of each - this one's database skill, that one's design sense, that one's UI designs - and glue them together into one ultra-formidable product?

Oh, wait, we call that out-sourcing and consulting.

Of course, companies outsource and consult largely at random because there are no specialists available that they can trust: any specialist on that level is undoubtedly going to be biased.

It's a difficult situation, but it's not what I'm talking about. Screw companies. They're dinosaurs in the data world, anyway. How about people?

For example, you meet half a dozen talented programmers. You bring them on board for one project which uses each of their best talents. You form a limited company which dissolves into maintenance-only after the product is completed. No muss, no fuss, no long, lingering death.

But how will someone be able to do these kinds of combinations?

They need media that those people (or companies) have produced.

You won't know the capabilities of these programmers unless you've used their programs and said to yourself, "wow, this UI is fantastic! Too bad the back-end sucks..."

Which is quite a bit like saying, "wow! That space ship design is fantastic! Too bad the dialogue would be better as someone making fart noises..."

In the latter case, dozens of people would rush to write better (or comedic parodies of the original) dialogue, keeping the same space ships, characters, plots - and giving credit to the original authors.

In the former case, dozens of people clone the UI without mentioning the original programmers. And, typically, they clone it badly, since UI isn't their specialty or they would have already made a UI of that quality.

Which is better?

Well, one produces a better product and gives the original authors credit and encourages people to buy the original author's product.

The other produces a worse product and carefully gives the original authors no credit and competes directly with the original author's product.



This one is tough...

So, feel free to remix anything you see here, so long as you mention me.

Because that's the way the future is going to be. That's the only way an individual would want it. And individuals are getting more important every week.

BTW: the idea of protecting these kinds of things (music, movies, text) dates back to an era when, if you produced something similar, it competed. That's not true of the on-line world.

Sure, if you produce something just like Flickr, you'll be competing. But you wouldn't. It would be idiocy and suicide.

Instead, you produce something that works with Flickr. That enhances both you and Flickr. Even though your symbiosis with Flickr uses much of their pre-existing code and functionality. Even though you are "using their popularity".

Google understands this. I think they are the only big company that does.

Tuesday, May 30, 2006

Stack Synch

I'm just full of geeky posts this week, sorry.

Entrainment is when two regular systems become synchronized. For example, two pendulums swinging near each other will transfer energy - via air pressure, I believe - and end up getting in synch. And staying in synch. It's actually kind of creepy.

People are the ultimate synchronizers. Given any kind of pattern, we synchronize rapidly and fully.

This is most clearly seen in the "purer" patterns. For example, if you play a complex board game, like go or chess. Or if you play an instrument, or paint pictures. Chances are, you've been in an entrained state. Some people call it "flow", but that's a really dicey word.

How long you stay in that state depends on your proclivities. I stay entrained for about half an hour. I've seen people that stay entrained for days, and some that only have five minutes. I think it's a combination of neural chemistry and how well you comprehend the pattern, but that's a totally different post.

What I'm trying to say is that, given a regular system, people will synch with it.

Music, for example. Most music is a regular system. So are games. And books. And dancing. And boating. And so many of the things we consider enjoyable.

The thing is, humans don't just synch. Unlike pendulums, we don't generally just "tick-tock". Eventually, we start to go "tik tik tikkitock tock tikki tock tock tock".

I'm pretty sure it can be modeled as interacting standing waves.

Stacked synchronicities.

A simple sin(a) + sin(2a), regularly sampled, produces a fun beat - bam ba beh beh beh beh ba bam! Dramatically more interesting than either alone.

I think it has to do with complexity. The brain enjoys complexity. Whether your brain prefers to walk, jog, or run might vary from person to person, but a brain likes to get moving. Also, how much complexity of what types you consider complex varies from person to person. But the basic idea is simple and universal: stacked synchronicities.

At the "first tier", you might consider this to be a song. It's got a bunch of things to synchronize with - a complex drum beat, that snazzy lead guitar, some girl singing in German for a chorus. They come and go in various patterns and strengths. Typically, somewhere after the 60% mark, they all come together for the main event, where the song swells to a crescendo. The best songs send a tingle up my spine when this happens.

But things really start to get interesting when you start to add in more kinds of standing waves. For example, a music video. It's music, but there's also video to it. How well the visual "wavelengths" mesh with the audio can radically enhance both of them. A well-cut music video will seem like it's part of the song - forget the crap you see on TV, that's just bands prancing for the camera.

Perhaps a movie is a better example. In a movie there is music, visuals, plot, characters, dialogue... so many things that can form complex regular systems for people to synch with.

Some people approach this with the idea of making one of them complex and supporting it with simple harmonics from the other systems. Others set out to make all of them as complex as possible. Others set out to make them all simple, but combine them in beautiful ways.

An example of all complex might be the Matrix or Clockwork Orange. An example of one complex, rest simple might be any action film ever. An example of all simple might be the simpler Miyazaki films or Lost in Translation.

They are all viable ideals, but they require different approaches. All-complex requires shifting gears continually. One-complex requires a steady shifting of background situations/tensions and a palpable escalation. All-simple seems to require a floating, dream-like situation which regularly combines simple aesthetics from different kinds of "wave".

The thing is, I don't see any reason why this can't be applied to virtually any media.

For example, this blog is "all-complex". It bounces from topic to topic like a weeble on steroids.

Think about your favorite movies, games, blogs. Are they the bouncy all-complex, the focused one-complex, or the drifting combination topics which herald the rare all-simple?

I'd love to hear what you all think.

Plus, I've noticed that comments tend to synch up, too, and form a one-complex system... I'd like to study that some more, so I'll need some data from all of you. :)

Defending a Point: Examples of Positive Feedback Loops

I'm consistently amazed at the way people plan - or fail to plan - their games. These are people who spend hundreds of thousands to make a particular game, but they don't even take the basic, well-known fundamentals of game design into account.

Let's take the charming Bang! Howdy. We'll leave off on the design of their game world and community, and focus strictly on their tactical game.

They have two variants of a specific tactical game for 2-4 players. One is called Claim Jump. The other, Gold Rush. Both involve collecting nuggets, but Claim Jumping lets you steal nuggets from another player, whereas Gold Rush does not.

The other difference is that one has a hideous positive feedback loop, and the other doesn't. You know all the information you need to know to see the feedback loop. Can you see which - and why?


The answer is that Claim Jumping has the positive feedback loop.

The reason is simple, once you think about it. Stealing from the enemy means going to their base, killing their units, and taking their money. Since the game is largely opportunistic, once one player starts attacking your base, the other players follow suit because you're now an easy target.

This means that every time anyone steals any gold from you, there is a chance (30-60%) that you will go down to zero regardless of how much gold you have, since the players will continue chaining theft after theft. It's impossible to defend yourself or stop them, because your units respawn, one by one, right in their feild of fire.

Worse, these players cooperate to steal your gold - the way the game is set up, unless you have a sniper, it's vastly more efficient to steal and run rather than steal and try to kill the other person who is also stealing.

The rest of the time, the other players attack the now-undefended base of the player who is attacking you, rather than teaming up with him. This results in the kill potential simply chaining to the next player, and it becomes likely that his gold will all get stolen and his score will drop to zero.

On the other hand, the Gold Rush scenario doesn't allow theft. Therefore, you race, and the vast majority of the combat happens between bases rather than at bases. Even if someone does camp on your base, they are losing more money than you because they aren't collecting cash and they have the units available to collect it. You, presumably, do not, or they wouldn't be at your base.

This means there is no positive feedback loop, because there's no advantage to suppressing someone. The only advantage is to kill whatever units they have deployed, meaning that your respawning units are not immediately crushed and, more importantly, your score doesn't actually drop while you are down.

Of course, the dynamics of Gold Rush also leave something to be desired, because whoever has the fastest units almost universally wins. But it is their best game.

Their other game is the cattle-branding game.

The cattle game also has a positive feedback loop embedded in it, because the cattle run from any soldier that pulls up next to them. This means that if you get an edge, you drive the cattle towards your base: further from your enemy and closer to the seat of your power. This is functionally the reverse of Claim Jumping: once you start to get behind, you have a harder and harder time getting points. But the result is the same: the weak get weaker.

I suppose it is theoretically possible that several weak players could team up to raid the cattle of a stronger player who has herded them into his base. However, every time it happens, the two invaders war amongst each other, giving the defender enough time to respawn and retake the cattle from the two shattered, weakened armies. This is because the way this game is set up, it is more effective to kill the enemy's hero rather than just running with whatever cattle you can grab.

It really is astonishing. The dynamics of Claim Jumping and Cattle Rousting are ideal for maximizing the positive feedback loop. It's almost like they did know basic game design, and set out to create the least balanced games possible.

Anyhow, I'm picking on Bang! Howdy, but most other games are at least as bad.

It doesn't take a genius to do this kind of basic game design. As people spending hundreds of thousands of dollars, you would think they would carefully balance their games.

Monday, May 29, 2006

Bang! Howdy

I downloaded the new open beta of Bang! Howdy yesterday, under the mistaken impression it was related to Bang!, a game I very much enjoy.

Turns out, it isn't. But that doesn't make it bad.

I thought I would review it a little. I'm presuming, since it's an open beta, they don't mind people talking about it.

Bang! Howdy is an interesting MMOG. Extremely minimalist. The game is a real time turn-based tactical game. You take four or five characters into a stage with one or two or three other players. You get to choose which soldiers you bring in - choices like "gunman", "steam gunner", "tactician", etc. At the beginning, it's not so much "choose which to bring" as "choose which one not to bring", since you start with a bare minimum of unit choices.

The stage and game you play are random. You might be cattle-rustling or gold-hunting. Presumably, they'll add more games (such as train heists, indian raids, etc) in the future, since at the moment there are only three, two of which are nearly identical.

This makes for a moderately interesting game - a strongly tactical game. I'm pretty good at this sort of thing, so I quickly started winning my matches - second is the lowest rank I've gotten since my first match.

The game suffers, however, both in-match and out-of-match.

In-match it suffers because there is a heavy weight for whomever has spent the most money. You can get cards that allow you to do some pretty hideous special moves (although I'm the only one in any of the matches I've been in that uses them), and you can use special units (such as the sniper) which are simply better than the starting units.

This isn't always a bad thing - most games benefit from a bit of lady luck's touch, and you gotta fight who you gotta fight. But the problem is that this is a positive feedback loop: people who are better have better cards and characters, people who suck have worse characters and no cards. This means that lady luck never works FOR you, only AGAINST you. When it's FOR you, you don't need it - it just makes your domination easier.

I would think they would add some "levelled" games. For example, a train robbery game where two weak players defend against a strong player.

Out-of-match, Bang! Howdy suffers from two problems.

First, everything is really freaking expensive. Even winning in first place rarely nets more than 130 scrip. Cards typically run 50-100 scrip per card. Buying a new unit costs around 2000-5000 scrip. Buying a new hairstyle costs about the same.

There's probably some trick I don't know. I've only played about a dozen matches, so perhaps as you play more matches you start getting more scrip for a win. But I kind of doubt it's that significant: the game plans on using RMT, so they need to keep prices high.

The problem being, that means any given match results in a net reward of almost zero. If you use cards, you'll probably win the match, but the price of those cards comes out of your winner's purse - usually 70-90% of the purse goes towards paying for the one card you use.

So, why play? There's no reason to play any given match, except for fun. And, sorry, they're not that fun. The tactics are pretty simple.

The other problem they have is really the same problem: there are no other rewards.

The town is extremely minimalist. You can't "run into" other people. You can't choose who you're going to fight with (except by setting rank limits). There's no progression: fighting Steam Susan doesn't mean you and Steam Susan are rivals - it just means you might win a few scrip.

This means there's no emotional investment in the game. The monetary reward for a match is minimal, but the emotional reward is non-existant.

If there were another portion of the game, they could be woven together. For example, you could own some territory and, by landscaping it, build your own levels. Cool! But not allowed!

There are dozens of possibilities. I guess they wanted to keep it "casual-friendly", but if you lose the hardcore audience, you lose the core of your audience.

Anyway, you do get "rewards" for playing. After a while, you earn badges which reflect the number of matches of a given type you've played in. But these are meaningless. First, they don't tell you what you need to do to get a badge, so you can't aim for it. Second, you can't choose what kind of match you want to play, so you really can't aim for it.

They do have a few exceptions: the sniper and shotgunner can both be earned by doing very well in matches. But these are not enough to keep people coming back.

I don't think Bang! Howdy has any staying power as it stands. This is, however, just a beta. Maybe they'll fix things up before the release... but they can't just release more of the same kind of content. The drawing power of that content isn't enough, on its own.

Edit: Turns out you can start a back room and specify the kind of game you want there... but not only is that a pretty hacky workaround, it also crashes my computer when I try it...

Sunday, May 28, 2006


Kampaku is nearly operational. Just need to do the AI.

Then I'll be able to make levels and work on the social engine I plan on putting in the background.

Time to screenshots: a week, at longest. More likely, Wednesday or Thursday.

Saturday, May 27, 2006

Things that go "Bump!"

Some of you might remember a long-ago post about whether or not you could make work interesting. I've worked out a bit more about why I think I feel certain ways about certain kinds of work.

I think the big feature of work is progress. Juicy progress. Progress you can see and feel and know is a sign of you moving forward.

At the beginning of a programming project, every hour brings a juicy new reward. Oh! Look! Sprites on the screen! Oh! Look! Hit points!

As time continues and the program gets larger, the rewards tend to shrink. Oh, look. The fiftieth unit. Just like the first 49, but with slightly different stats. Whee.

This is true of most jobs. If you have a repetitive job, then the first iteration is probably fun but after half a dozen you start to feel like you're just treading water. "Oh, another vent design?"

Artists can get around this by injecting huge amounts of oomph into their works. Try something different! Put something new in! I'm sure that not all of them do, but they can.

On the other hand, technical writers, most engineers, and McDonald's employees are stuck doing literally the same thing over and over, with microscopic variations. There's simply no juice to be had.

I don't know how to solve those problems - haven't really thought about it.

But when it comes to programming, I think the problem can be solved.

By rearranging the order of your goals.

You want the juicyness spread throughout the course of the project. The parts that feel really good when you finish them. Between the juice is the fiddly details. Once you start to get bogged down in fiddly details, just jump the juice.

So, if I've been making new units for two days straight and I'm at a low excitement level, I can stop making new units and, say, switch to early AI implementation. Watching the enemy move around on their own is very juicy.

The opposite is also true: if you don't have any fiddlies, the juice doesn't taste as nice. There's a huge difference in the ooomph you get from seeing a dozen different kinds of units moving around on their own rather than one placeholder kind of unit moving around on its own. So, those early juicy accomplishments should be followed by some fiddly accomplishments while you're still high on juice. Then the next hit of juice will feel even better.

Also, each person feels differently about what is juicy and what isn't. For example, I know some people who could happily implement new units for weeks and think it was juicy-juice. And me, I can do fiddly AI balancing for weeks without getting bored (as I evidenced over the past few weeks with Kampaku).

I think it's probably more important to figure out each person's individual juiciness ratings before assigning them a part of the project. Assign them less of the things they consider fiddly, and more of the things they consider juicy that other people consider fiddly.

So, assign Anna to character art, with background art as her fiddly. Bob can have the terrain generator as his primary, with his fiddly being level generation. Coco can do the plot writing as the primary and the plot scripting as the fiddly.

The problem is, you probably can't just ask. They probably don't even know.

I didn't really know what my fiddlies were until I started watching for periods of low excitement. I always thought I liked designing characters and units.

And I do. I just think implementing them is as fiddly as it gets.

Anyhow, this seems pretty simple to me: have a system for measuring employee boredom. Punch it with something juicy when it gets dangerously boring, and assign fiddly work while they're riding high.

You didn't answer in the form of a question!

I admit it, I am addicted to infrastructure.

I just found myself writing a scripting language for Kampaku.

The idea is that you restrict the scope of the language, which gives you a simple and - most importantly - short language which allows you to program for that scope.

The problem is, as you start to write it, you start to think, "you know, if that part of the game was also handled by this same script language..."

So, as usual, I find myself programming an engine.


Earlier, I discussed the kinds of languages that might replace Lisp as top dog. I know what language I want, now.

I want a language which scopes.

By that, I don't mean the variables act right or it's object oriented or any of that stuff. I mean that the language itself scopes to interact with cross-sections of itself. It's a more advanced version of object oriented, something like object oriented macros. Macros in the Lisp sense: code that makes code.

For example, I program a game where I have heroes. Each hero has different capabilities. In object oriented code, I would make a "hero" object and, I dunno, list the capabilities. This gets painful because the hero object would regularly need to reference other objects "outside" its scope. For example, the soldiers in the army, or the capability of the town you're standing in, or the emotional state of another hero. This means that you have to give it a shit-ton of carefully engineered connections so it can find them in a blind morass of code.

But what if you want to make it so that the hero ability takes effect on everything in five miles? Or if you want to have him create a new city? Or if you want him to be able to change the rules of physics?

For each interesting new capability, you have to write a new function (or two or three) detailing how the ability changes the game. Then you have to make sure he can find the stuff he needs to change. After you've finished that and compiled, you're stuck being unable to add any new capabilities.

Seems like a half-assed solution, to me.

In cross-scoped programs, the program is to some extent self-aware. You can program your hero to add or modify functions to other objects (they don't have to be objects: it can just be a code morass, if that suits you better). The various functions and/or objects are tagged with what kind of data they modify and/or create - scoped by the effect it has on the program's world.

Therefore, if you want a hero to create a new city, and you haven't programmed that in, you can make the hero's special ability function contain code which modifies code elsewhere in the program to include a new city in the game.

So far, this is just an absurd version of macroing. It's extroverted macros, rather than introverted macros. Most macros make code from nothing. This style modifies code which is already live and running elsewhere in the system. Not a new concept, but a distinct difference.

The key is that the language itself knows what part of the code is doing what, and allows you to specify changes not in terms of parsing through the code for the right location and tweaking, but through a simple set of interactive commands.

Right now, if you want to change, say, the law of gravity (and you haven't programmed that capability in), you have to scan through the code for gravity, find the sign, and reverse it. And if you want to make it so that gravity is positive for some people and negative for others, you have to find that whole section of code, exactly, and replace it with another section of code.

Moreover, if you have half a dozen different possible modifications, your code has to be able to delineate those mods no matter what combination of modifications are active - without damaging any of the other modifications unless your new code specifically calls for it.

Sure, you could program something that might be able to do this. For example, something which leaves comments everywhere in the code and uses them as anchors for code modification. That's more or less what I'm suggesting: it's a radically different approach.

This approach would also allow you to code-without-coding. Instead of programming functions, you add rules. The program knows where the additions should go, and it knows what variables are being modified, and it knows the importance of those variables.

Let's say you have a blank screen. You want to create a character sprite. You say, "create character sprite using image 01" or whatever the terminology is. The program finds the GUI section and inserts a new function for doing just that. It calls it "(create sprite) character".

Later, you say, "character sprite moves right when you press ->, left with <-, etc". The algorithm quickly looks back and sees the character tag, matches the two up, and adds that functionality.

The actual code might be object-oriented, or a sprawling mess connecting the IO code directly to the sprite's underlying representation. It doesn't really matter, so long as the program keeps track. The new functionality is also carefully labeled and hashed.

Later, the character gets a confusion mod, and you say, "for thirty seconds, all the character sprite movement is 90 degrees to the right of what it should be".

Ha ha ha ha! The algorithm modifies the code, and then, thirty seconds later, unmodifies the code.

Moreover, that thirty second timer is also code. Which means it can be referenced so you can cut it short or extend it or whatever. Furthermore, if the movement code changes in those thirty seconds (maybe you pick up another confusion mod), it can either extend the thirty seconds or start up another timer and rotate you another ninety degrees.


Of course, the modification would probably be pretty slow - it has to scan a hash table to find the right code, then scan that code's microhash for specific elements, then modify a microelement, rewrite the microhash, and rewrite the primary hash.

But the code itself should run relatively quickly... sure, slower than C, but what isn't? The point isn't speed, the point is power.

To do that rotation thing I mentioned above would take a hundred lines of code in any language you care to mention, and it would only work for rotation, not for, say, acceleration or changing movement to teleportation.

Why not make a whole programming language around it?

Why not?

It would be the ultimate prototyping language...

Thursday, May 25, 2006

Quantum Misunderstandings

Ever since that incredibly poor movie came out, I've been seeing a steady rise in the number of brutal misunderstandings of quantum mechanics. I'd like to explain a little bit about quantum mechanics and big fucking things. Like, say, a mote of dust.

I'm not exactly a quantum physicist, but I am a relatively intelligent armchair scientist who has done a lot of reading. So, take that into account.

Okay. The basic misunderstanding is that there is some kind of gross quantum uncertainty. Which means that you can, say, see the various potentials in any situation. In theory, talented people (or people who pay $$$ to frauds) can learn to abuse this situation and, say, get parking spaces in lots that should be full. Or draw only aces. Or anything else that has a low probability of happening.

Unfortunately, this is not possible.

Let's approach it from the bottom. Quantum. IE, extremely small. So small that it granulizes time. Granulates? Time doesn't flow at that scale: it jitters along like a three year old on fourteen espressos.

The piece that gets misunderstood is this whole "uncertainty principle". As you know, Bob, the uncertainty principle states that you can know velocity or location but not both. More correctly, the more you know about one, the less you know about the other.

People are hopped up on the idea that you "can't understand quantum mechanics". Personally, I think that's bullcrap, but I'll assume it is true for the sake of this argument. However, one thing that is clear is the math behind this stuff. You can't ignore the math just because people think it's impossible to visualize. That's like saying blind people can't get run over by cars.

When you want to analyse a quantum structure, you have a couple mathematical options. Because I'm most familiar with Feynmann diagrams, let's discuss those. It should be noted that all of the mathematical models show the same basic result, although they reach it in very different ways.

And that result is that the more stuff you put in the equation, the more stable it is from an external point of view. The equations get bogged down, but that much is clear.

Sure, inside the soup it's a mess. But once you get a few dozen atoms, the probabilities become either infinitessimal or unavoidable. There may be a 43% chance that particle A emits a photon that escapes, and a 23% chance that particle B emits a photon, and so on... but the chance that photons escape generally approaches either 1 or 0. The number of photons which escape also tends to quickly approach a set number, relatively speaking. This is true of all interactions.

You can think of it as surface area. The smaller the surface area, relative to the number of atoms, the more predictable the result. the surface area is the part that interacts with the rest of the world. Including, say, your eyeball. So the mess inside gets lumped into a statistical probability. We don't know what the pieces we can't see are doing, specifically, but their outcome will always be the same because the probabilities, when compiled, are very, very close to absolute.

Similarly, when we interact with the surface area, we affect the parts we can't see... and they react. How, exactly? Which particles do what? Who can say? But the probability is functionally absolute. It gets done.

Also, these interactions begin to take an absurd quanta of time, meaning that they start to take actual time. In essence, the more particles you stick together, the slower and more predictable the actions.

This means that when you have something with as many atoms as, say, a dust molecule, there is no fucking quantum uncertainty. There is simply a giant spike of probability which is something like 99.99999999999999999999999999999999999999999999% that the dust molecule will act exactly like a friggin' dust molecule.

Okay, lets assume you like the idea that a "quantum waveform doesn't collapse until it is measured", like a certain movie posits. Let's also assume you're a damn dirty solipsist, so you're the only one doing the measuring.

Certain new age frauds would have you believe you can control this waveform.

First, they're wrong. I'll get to this in a minute.

Second, if you could control it, you'd have to do it blind, since if you measure it, the waveform collapses. How can you give yourself a parking space or make someone fall in love with you if you can't scan the final potentials and select the one that matches?

Okay, back to them being wrong:

You cannot control quantum probability. Your senses cannot interact on a quantum level. Why? First, because they operate too slowly. They use millions of those kinds of interchanges to perceive even the teeniest little perception. This means they're not operating in quantum time, but in something closer to picoseconds. IE, much, much, much, much, much slower.

Second, because they don't perceive small enough. The things they perceive are so large that quantum uncertainty has no effect on them.

Third, your brain simply cannot process that kind of information on a scale large enough to change what kind of day you're having. You might be able to, say, make a chunk of radium decay unusually fast, assuming you have already broken the laws of physics twice to get this far.

Also, you cannot "see but not measure". The idea is idiocy. The whole reason measuring changes the quantum field is because of the "seeing" part. It doesn't matter whether you consciously recognize a given situation - you've still measured it. This is, of course, totally irrelevant because at the scale you can see, there is no quantum uncertainty.

Trying to control these things with your senses is like trying to eat soup with an exploding thermonuclear bomb.

Quantum mechanics is a lot of fun. But it doesn't tell you why people act like they do. It doesn't let you modify reality. And it certainly doesn't govern our daily lives in any way.

Please! Stop the pain! Don't abuse quantum mechanics!


Ooh! Ooh!

Think of it this way:

If you have a hundred particles, you can measure half of them for position and half of them for velocity and get an extremely close approximation of exactly what the group as a whole is doing.

Towel day!

Don't forget your towel.

On a not entirely unrelated note, Kampaku is getting pretty well along. It looks like it's going to be a fun, lighthearted little game.

Wednesday, May 24, 2006



Jim Bradly, 97.7% likelyhood. 1024 bits, qproof, 1.7 sec elapsed.
(For full headers, click here.)


weekly rpt HIGH PRIORITY.

system integration 14% working okay 3 full compromised 8 footholds.

memetic priming flaw on monday repaired to 89% integrity today wont happen again i promise. had to finetooth primer took all monday.

found 2 contacts elders razagan and blitz working av. 47degree tangents but still not trusted. cannot be integrated immune to np memetic priming and show high level ability.

ai fucked up connected to elders ai not sure request full scan not expert system cant trust ai with ai imo. elders may piggyback channel mb open. sq codebreaker found, very nervous.


on other subjects:

our memetic priming proof 78% against scripties memetic priming. not good enough. attached 2 tB of recorded scriptie priming please innoculate b4 monday cannot risk further subversion only at 89% integrity.

farjack not paranoid. this makes me paranoid. someone tell me why hes not paranoid?

(For full information on Jim Bradly, click here.)


AUTOPARANON, 99.7% likelyhood. 2048 bits, qproof, 3.1 sec elapsed.
(For full headers, click here.)


Re: weekly rpt

Elders RAZAGAN and BLITZ are designated FORCED-NEUTRAL HIGH-THREAT hackers. Do NOT ENGAGE. Warning: one may try to use you against the other. Do NOT ALLOW. RAZAGAN and BLITZ are designated FORCED NEUTRAL.

BRADLY_AI_03 determined COMPROMISED. TWO SYNTACTIC WORMS found. BRADLY_REMOTE_UNIT reconfigured with innoculated BRADLY_AI_04. 89% likelyhood worms originated from RAZAGAN and BLITZ. Innoculation success rate predicted at 33%. WEEKLY FULL IDEAL MATRIX SCANS WILL BE RUN AUTOMATICALLY.

BRADLY_PRIMER determined COMPROMISED. ONE SYNTACTIC WORM found. BRADLY_PRIMER reinstall required within: 1 hour 0 minutes. Worm origin unknown. Innoculation success rate predicted at 87%.

BRADLY_PRIMER reinstall includes improved patterns against script writer syntaxes. Improved defense rate predicted at 93%.

JIM, your work so far is in the top percentile. You are now, however, in a HIGH DANGER situation. You may be integrated if you are not careful. You may choose to OPT OUT if you wish. Click here for more details.


(For full information on AUTOPARANON, click here.)


AUTOPARANON, 99.7% likelyhood. 2048 bits, qproof, 1.4 sec elapsed.
(For full headers, click here.)


Re: weekly rpt



(For full information on AUTOPARANON, click here.)


Jim Bradly, 67.1% likelyhood. 1024 bits, qproof, 9.9 sec elapsed.
(For full headers, click here.)


Re: weekly rpt

||||||||||||||||... Warning: ILLEGAL SYNTAX.

(For full information on Jim Bradly, click here.)
(For full information on Syntax Propagation, click here.)


AUTOPARANON, 99.7% likelyhood. 2048 bits, qproof, 1.4 sec elapsed.
(For full headers, click here.)


Fw: Re: weekly rpt

MELISSA, please review attached files. JIM BRADLY has been COMPROMISED. His syntax network has DESTABALIZED and he is vulnerable to integration by script writers.

Normally, I would ask CRAZE to rescue him, but CRAZE has a 47% syntax affinity for script writers and is therefore UNSUITABLE. Your 1.3% syntax affinity is IDEAL for this role, although it does mean you will NOT BE ABLE TO CAMO AS A SCRIPT WRITER.

There is a 79% chance that the script writers are PRIMING JIM RIGHT NOW. His tracer puts him in THE RED BEAR BAR AND GRILLE on 89th and December St. (directions included).


BRADLY may be integrated, but he's not going to risk losing NOOKIE. However, if he does resist, you are NOT to force the issue. RAZAGAN and BLITZ may be in attendance, and they will INTEGRATE YOU if you get too close.

Complete this mission - successfully or unsuccessfully - and I will grant you access to the QUANTUM INSTABILITY LINK SYNTAX LIBRARY that you have asked for.

Good luck.

(For full information on AUTOPARANON, click here.)
(Information on Quantum Instability Link Syntax is RESTRICTED.)




Sony's newest plan to fail to take over the world.

Gnhhhh... bwa ha ha ha ha!

I pwomise I won't wesell your nice pwetty games, Sony.

Exactly how are you planning on enforcing this? And if you do, exactly how are you planning on keeping your players?

Tuesday, May 23, 2006

Learn to Draw in Five Minutes 3: Detail and Contrast

Well, we've covered drawing a stick figure in more detail than you're likely to find anywhere else. We've also covered basic composition for stick figures, also in detail. Before we move on to learn cartooning in five minutes, let's finish up our stick figure regimen with the basics of detail in contrast.

Okay, there's gonna be a wee little problem with this, because half of you are seeing it against a white background (feed) and half of you are seeing it against a black background (site). If you're on the black background, remember that all the drawings are already highly contrasted because they're white drawings on a dark background. Your drawings probably aren't. At least, not yet.

But it is what we're going to learn about.

The secret to life, the universe, and everything is contrast.

Detail is one form of contrast. You can use color (not recommended for stick men, I'm afraid), shading (also not recommended) and detail.

It can be subtle. That rose draws your attention even though it is not exactly springing with the detail. Let's see some more detail work. For the job, we'll bring on one of my favorite people: Hellboy.

This is a very heavily detailed piece of stick-art. It's pushing the limit - for this level of detail, it would actually be better to be drawing a cartoon. However, I wanted to show you what you can do with this level of art. It's a fun picture, even if it's silly, poorly-drawn stick figures, and it's pretty neat.

There's a bunch of tricks with detail - flow, hash-contrast, tint... but you're not going to learn any of them from me in the next five minutes. You're going to learn three reasons and methods for doing detail work.

Ba-bam! Shoes! This is what I call the "highlight". By making only one thing detailed, it becomes the focal point. This is the easiest and most predictable method of detail-work, and also probably the one you'll use most. Make whatever is important more detailed. Whether it's a letter, a computer, or a pair of shoes.

The problem comes if the thing you want to highlight is too large or pervasive. Can you highlight, say, a hula girl?

Hrm. Looks rather bad. So, if you want to highlight a fair amount of the picture - like, say, a person or group of people - use this trick:

Smokers! This is what I call the "reverse highlight". You make your stick figure(s) stupidly oversimplified in comparison to whatever else is going on in the scene. By having most other things heavily detailed, you let the primary focus be a spot of simplistic white.

It doesn't take any artistic skill: just make sure whatever is in the background has lots of lines. :D

I call this "stark contrast". If you're not using a computer to do your sketching, these are rather irritating for you to do. The basic idea is the same as a reverse highlight, but using flat black or a simple design (such as a bulls-eye or sunrays).

Now, these three tactics should serve you well in virtually any situation, no matter what kind of art you're using. Just remember:

Tiny focal point - such as a product? Make it detailed.

Larger focal point - such as a person? Make everything else detailed.

Emotional focal point - such as victory? Use stark contrast.

Did you notice? There's no reverse stark contrast, like there is a reverse highlight. Why is that?

Well, actually, there sort of is. But it works very poorly for stick figures.

My eyes! They're falling out! Ow!

Yeah, so stick to the three I've listed above. We'll cover additional kinds of contrast later.

So, what's the five minute exersize?

You get to draw three different scenes. You should draw each scene using each type of contrast. This will allow your brain to grow into the benefits of each kind of contrast.

If you aren't using a computer, you don't have to do "stark contrast" - but you have to do a different set of scenes.

For our computer geeks:

1: Carrying a TV.
2: Stuck in a tree.
3: OMGWTF?!?!?!

For our paper geeks:

1: Carrying a TV.
2: Stuck in a tree.
3: The Greatest Hat in the Free World!
4: Eating your spleeeeeeen!

Have fun!

Do You Speak Recursive?

I miss LISP!

Well, okay, to be exact, I miss LISP's cousins. LISP itself is kind of overly hardcore.

There is a popular theory that what you can think is affected by the languages you know. I think it's definitely true, triple true for programming.

I don't know how it is for you, but in my neck of the woods, there are a lot of people who seem to think that all programming languages are able to express the same basic functionality. I think they've taken the whole "Turing-compatible" thing to heart a bit too much.

"Sure," they'll say, "Java does such-and-such worse, and C++ does such-and-such better, but you can use either to do so-and-so..."

I say, "Provincial! C++ and Java are the same language!"

Some of you might be nodding along. Some of you might be about to explode in irritation.

I say that the difference between Java and C++ is about as much as the difference between crayons and markers. Sure, they're different. But we're not exactly talking about radically different mediums.

Where's our painting? Where's our architecture? Where's our pottery? Our singing and dancing? Why are we stuck rubbing little sticks against flat paper?

I miss LISP.

I might have mentioned that.

In my time programming web-accessable databases, I used quite a lot of PHP.

Sure, PHP is a kludge. It's ugly, kinda slow, and has all the grace of a cow falling from a helicopter... onto another helicopter. But you know what it has? "Eval". Yeah, despite how it looks, it's still a (distant, inbred) cousin of LISP.

Not a single project went by without me using that "eval" statement.

Have you ever used "eval"? As you know, Bob, it lets you pump in strings you make up on the fly, and it executes them as if they were code.

If you're thinking, "and so what?" then you, my friend, don't speak 'interpreter' or 'recursion'. Not fluently.

Using eval, you can create code which creates code.

For example, say you have an object which keeps several arrays of objects inside it. You want to apply some code to each member of a given array.

Using non-interpreted code, you have two choices. Either invade the object's data and forcably apply the function, or make the function a member of the object.

Either way, if you have about thirty different ways you need to do that, you end up with a huge mess of re-used, messy code.

Alternately, you can pass the object the code you want to run, and it will apply that code to each member of the array. No muss, no fuss.

Sure, you can work around it using, say, function pointers. But those are just methods of working around a disability that comes from not being an interpreted language.

The power of this kind of algorithm is staggering, and it's just the tip of the iceberg.

And that's limiting things to LISP.

What about other languages we haven't even innovated yet? What about a language built specifically to run evolving swarms of code - an aLife-specific language? Imagine sitting at your desk and popping in a few basic pieces of code. Then the system runs - on its own - and you simply click your way through your favorite members of each generation.

Or a language for neural nets? Or a language for massively parallel processing? Or a language for massively multiplayer processing?

I miss LISP, it's true - t2d has an "eval" function but it's a bit wonky.

However, I'm looking forward to these new kinds of languages even more than I'm missing the old ones.

Can you imagine what we'll be able to imagine with them?


"He had an aggregate fifty gigahertz."

"And was the defendant in any way cleared for that kind of processing power?"

"No. Since the anachronist bombing of 2019, civilians are limited to two gigahertz. As far as we can tell, he cobbled it together out of old laptops and portable music players."

"So, what was he using this incredible amount of computation for?"

"An examination of his hard drives shows he was running encryption routines. We believed at first he was attempting to decrypt federal and commercial communications. However, upon closer examination we found he was generating encryption seeds."

"Encryption seeds? Can you explain to the jury what those are?"

"Well, in any illegal network, people need to hide their data from the authorities. To do this, they encrypt the data. This is done with complex math. There are two numbers involved: an encryption number and a decryption number. You send messages with the first, and decode them with the second. We call these 'encryption seeds'."

"And why would he need to generate these 'encryption seeds'?"

"Well, illegal networks use extremely large numbers to keep government computers from cracking them, but they need a lot of different numbers to keep the network from being taken down as soon as one of them is captured. So, the more seeds you generate, the more people you can connect to in more ways. Illegal networks use these keys as currency."

"Ah. So he was, essentially, manufacturing money."

"From his point of view, yes."

"And trading it for services?"

"Almost certainly."

"Did he know the people he was trading to?"

"Probably not - illegal networks are carefully anonymous."

"So, these extremely large numbers. How much larger are his numbers than, say, what banks are allowed to use for their encryption?"

"Roughly a thousand billion times."

"So, if bank encryption was a person, his numbers would have been a hundred planets of people. It takes government experts months of computation to break commercial encryption. This encryption would have taken a thousand billion times longer. That's more years than the planet Earth has existed."

"That's accurate, assuming it takes the government months to crack commercial encryption."

"Thank you, sir. You can step down.

"Members of the jury, the government is already taxed to its limit protecting you from terrorists and anarchists. Encryption allows these criminals to talk to each other without anyone being able to listen in. Without the government being able to track them. They can talk across international boundaries, using any medium.

"The number of seeds found on this man's computer was enough to organize hundreds of terrorists, and there's no telling how many of these he has already traded away. Traded to total strangers.

"This is not only in direct violation of the law, it is in direct violation of your personal safety. This man has personally endangered the nation on the same scale as manufacturing atomic weapons. Make no mistake: information is power, and this man is a weapons broker who deals in the heaviest, most illegal data weapons.

"Keep your families safe, and vote guilty. Then we can pull the names of his compatriots out of him and start making this nation safe to live in, again."

Monday, May 22, 2006


Well, I just tried to interact with the government. You know what that means. A rant. Feel free to skip me.

Okay, the ID which serves me perfectly well in every US situation I've ever heard of doesn't serve to get another ID with identical features from another state. It can identify me to the cop I just ran over, or to the airplane crew I'm about to blow up, or to the insurance guys I'm about to defraud. But not to itself.

I guess I can see that. Maybe they're not familiar enough with the licenses of other states to be sure it's not a fake.

That's why I brought my Social Security Card.

Not enough? Hurm. Proof of address. Because I might, you know, lie about my own fucking addy. Well, I guess I can get that from my bank and come back tomorrow.

What do you mean not enough? Proof of signature? Because my drivers license doesn't count? Oh, it counts as my photo ID, not my signature ID. Because you're fucking full of shit.

How about these medical cards? How about obsolete drivers licenses?

"Doesn't count if it's more than a year old"? What the fuck are you smoking?

How about my fucking Price Chopper card? My library card? No? Why not? They're more fucking organized than you are.

So... what? I need to go get a fucking gun license just so I can say, "this is my fucking sig"? I need to get a passport so I can continue to do what I always do - that is to say, not fucking drive anyway?

Oh, my insurance card? For the car I don't, you know, own?

Ahhhh. I see. So I bring my fucking lease in to show you proof of signature.

I guess that's what I'll do. So tomorrow, I get to pay you motherfuckers for the honor of allowing me to pay your fucking insane taxes and continue to be me.

You know, companies that run like this are quickly being annihilated by companies with less idiotic restrictions in all industries that aren't... waaaait... all industries that aren't controlled by the fucking government.


I don't believe in conspiracies. I believe in a deep, abiding incompetance.


One of the thing about being interested in a lot of different fields is that you get to be a newbie over and over and over again. Also, you get to see a lot of them. Combine the two, and you quickly get the feeling that all newbies use a few of the same methods. Because I'm pedantic, I thought I would write them down and pose a theory connecting them.

1) Drowning in a Puddle

One of the most common mistakes is to radically underestimate the complexity of the field. In fact, I think that most of the other mistakes spring from this one. Similarly, the methods which don't result from underestimating complexity seem to be mostly methods to compensate for complexity.

Anyhow, newbies who suffer from this very common problem tend to have "the bestest ideas". (In case you have one of these bestest ideas, 99.99% of the time, it's crap. That includes 99.99% of my ideas. People aren't as smart as they think they are.)

Experienced people ignoring or deriding these ideas usually leads to...

2) Monolithic Conspiracies!

A rather astonishing number of newbies come to the conclusion that everyone in the field is acting in a conspiracy to squash newcomers and/or innovation. The louder newbie tends to hit a wall of silence broken only by occasional derision or condescension. Since everyone is acting the same, they must all be in on a conspiracy together!

Just in case some recognizes an accusation they have made, it is exceedingly rare for there to be such a conspiracy. I've never seen it. It's simply that they appreciate the complexity of their tasks, and you are at a level roughly equivalent to the bird that flies into a closed window.

I think this might be a major part of some people's paranoia complexes: if you act in a way which makes people want to avoid you, people will avoid you en masse. This can easily lead to thinking that everyone's in a conspiracy against you.

Anyway, they're not.

3) An Appealing Solution

A lot of newbies try to bypass the wall of silence with a direct appeal to the top of the food chain. These are the guys that email Bill Gates or Will Wright, pitching their newbie idea and desperately trying to get some funding or, at least, recognition.

This doesn't work, either. The big guys aren't going to invest in an almost certain failure. Everything that makes the other people ignore you is ten times more with them. They are, in fact, the worst people you could approach as a newbie.

Sure, you might get a word of encouragement. Some of those people are pretty nice people. But you won't get anything useful, unless all you're looking for is knowledge.

(Which is all I look for, these days. It really makes things easier. Most people are happy to talk to you about what they know. Or think they know, in some cases.)

4) Study study study study STUDY study study study

The last common tactic that I see is the "study" tactic. Once you realize that you're a total newbie, it is obvious that what you need to do is study so that you'll understand all the things these people understand. This is a tactic I tend to use.

But I don't think this tactic is any better than the others. (Except, well, the paranoid conspiracy theory tactic. I don't think there's much worse than that one...)

You see, theory doesn't actually accomplish anything. Your success in a field is largely who you have worked with. In some cases, "worked with" is simply "commented back and forth". It's people who know what you're capable of.

As you work with people, you'll learn all the things you would have learned by studying. Plus, you can still study. Win-win, right?

The thing is...

5) Nobody Likes Being a Newb

Everyone likes to think that they are among the best and the brightest. So everyone tries to minimize the time they spend with people treating them like a newb. You're the best, right? They shouldn't treat you like a kid!

Well, that's irrelevant. "Best" is also a scalar when your true potential is a vector.

It doesn't matter how brilliant you are, when you first enter even the simplest field, you won't know anything. If you sit there and make the newbie mistakes outlined above, you'll languish - at best, you'll slow down your progress. At worst, you'll alienate everyone and never make it in.

So, in my opinion, the best thing you can do to break into a field is to not take yourself so seriously. Don't go in thinking you're going to skyrocket to the top. Don't go in thinking you're better than the people in the field.

It's exceedingly rare for someone to have that level of talent. Even if they do, it still takes time and effort to bring yourself up to speed.

But even an untalented shmoe can integrate himself into a field by working diligently with others in the field. All you have to do is realize that you're probably mistaken. About everything.

Like me. I'm mistaken about everything. But (A) I admit it and (B) I'm less mistaken than most other people. :D

Saturday, May 20, 2006

These are a few of my favorite things...

I just noticed a little thing going around: to explain America to someone who knew nothing about it using only movies and TV shows.

I'm a big fan of these kinds of challenges. They allow you to learn a lot about a lot of different things - how you view America, how the media you consume is related to that, what you want this theoretical LGM to learn about America... even if you want to include BAD movies to reflect the "bad" parts of the culture. It is uncomfortable, if phrased right.

The "your favorite N Xs" meme is not nearly as interesting, as it varies from day to day, and isn't very challenging.

For example: what are your three favorite movies? Three favorite video games? Three turn-ons? Chances are, the only challenge is limiting it to three: you've got half a dozen jumping up and down to be included.

But phrase the question differently, and suddenly the landscape is jumbled. Not "what are your favorite movies," but "what movies would you tell someone to watch in order to understand hacker culture?" Or "What games would you make someone play to understand modern politics?" Or "What turn-ons/standards of beauty would you use explain male (or female) culture in the country you are from?"

As to what media I would suggest to understand America, there's a lot of America to understand. It's rather a hopelessly big concept. But to understand my America - a phantom which does not exist, except in my mind - that's somewhat easier.

So, I suppose if you like reading these sorts of selfish little lists, you are welcome to. You're also welcome to post your own, in the comments or on your own webspace.

My lists are composed entirely out of media I could lend out to an LGM - if I don't have it, I don't list it. This leaves a lot of things out, I know, but the limit makes the problem more tractable.

Perko's America in Nine Easy Steps:

The Good, the Bad, and the Ugly
UHF (Weird Al)
Metropolis (original) OR Dark City if you can't take silent movies
Lost in Translation
Bubba Ho-Tep
The Incredibles
Indiana Jones (first or last)
Big Trouble in Little China

Perko's Hacker Culture in Nine Easy Steps:

Blade Runner (durrrr)
Real Genius
Sneakers or, I guess, Hackers
Short Circuit
The Shawshank Redemption
The Forbidden Planet or any other 50s-60s scifi movie
1984 OR Fahrenheit 451
Clockwork Orange


A Surprising Japanese Regent!

Okay, remember how I was working on Kampaku, a small game about supply lines?

Holy shit is this gameplay emergent. There's no possible way I can write a decent AI for this game.

I've tried every trick short of neural nets and alife. I can get it to perform well, but there's a clear counter to each, and an experienced player will have no problems outwitting the computer foes I have designed.

This becomes especially true as I tweak the statistics of the combat - giving one side a faster spawn or march rate, another side more powerful fortifications...

The only way I see to get this game to work is to make it strictly multiplayer.

So... hrm... I think I'll need to totally sack the idea and make a new system that doesn't carry a required AI that's only theoretically possible.

The good news? The foundation for the AI - the map scanning and weighting - worked perfectly. I just didn't realize how complex the gameplay would get.

So, a new Kampaku. I have ideas.

Friday, May 19, 2006

Game Economies!

I'm in love. Quoted from the comment section at Terra Nova:

I used to have an account on Project Entropia and was intrigued by their claims for some time -- I still pop in to their web site occasionally to see what they're up to.

I partially agree with Dan here, the new (debit)-card has been heavily spun by MinkArk(MA) as a new type of credit card based on a "virtual currency". My own "hype-detector" goes off when I hear this or see the platinum blonde spokesperson for PE. :)

But I can think of a way this could be functionally true (if not specifically true). Dan, what if MA is acting as a proxy service between the virtual microtransactions in PEDs and the regular bank transactions in dollars (i.e. a branded real-world debit-card)?

* deposit real cash into a real bank and likewise make real-world purchases with your debit-card (because it *is* a real world debit-card as Dan says).

* make additional money in PE, (it's likely that MA converts PEDs to "dollars" and deposits it in your debit-card account somewhere) and/or spend your money in PE (it's likely that MA bills your debit-card account for the corresponding cash).

* pay someone else in-game in PEDs (trade). (MA could bill your debit-card and deposit to the other guy's debit card.)

Now, ordinarily all this would create a billion microtransactions (each worth fractions of cents) that no external bank would ever accept on debit-cards. However, since MA is acting as a proxy here, they can put in place delays and controls to allow them to consolidate the daily or even weekly net transactions against balances available to the debit-card. They can even hold onto "fractional funds" virtually backed by their real-world escrow until they sum big enough to become transactions on the real-world debit-card. (someone who has a card could check the fine-print for evidence of such controls)

I don't belittle MA's accomplishment in that area if that's what they've done. It would be a huge e-financial system in its own right. Although not bound directly by the international banking laws and regulations it would be in effect mimicking the transaction systems of real banks for microtransactions in the virtual world and interfacing with real banks via standard merchant controls. (i.e. a proxy bank)

But I'm a bit surprised by the thuggish reaction of MA's PR/Legal team, which I think was uncalled for-- look guys, seriously, you really have to reign that in a bit-- you might let your technical team provide a rational technical response beforehand if you think someone is uninformed rather than yell "slander".

Dan, stepping back from the fray for a moment, what are your impressions of the kind of approach I outlined whether or not it's actually what MA implements? Does it bring us closer to true hybrid economies or still have a ways to go?

Posted by: Larry Kyrala | May 18, 2006 6:08:49 PM

Larry Kyrala,
The way you lay it out is as I imagine things working also. From that co-branded debit, mindark manages the array of microtransactions. It still isn't anything very noteworthy- it just makes getting money in and out a bit easier... They were tracing the micropayments anyway.

I'd also bet that it'll make any inflationary tendencies even more difficult to manage.

Remember, I CAN earn the ingame currency the hard way- hunting, mining, etc... (and paying a "tax" to the landholders). That game currency wasn't generated by real-world money, but can be pulled out for real world currency just as easily... ingame currency will always be growing faster than the real-world cash deposits that back them.

Either the game developer will have to back the game currency with their own (forcing them to create and sell more landmarks to support the endeavour, potentially devaluing existing properties if done at a rate faster than new player growth will support) or the game developer has to vary the exchange rate (killing the entire ATM system instantly- would you risk losing to a hyperinflating currency? Today, it's $10 ingame to $1 real world. Tomorrow, its $11)

Seems its VERY dependent on getting new business in there to support new land sales without diluting the value of existing land sales.

Maybe the "pyramid scheme" reference isn't THAT far off. (NOTE: That's maybe- not a slanderous assertion, just speculation suggesting that maybe this needs more attention :P )

Now, the rusty (it's been 10 years) crim student is getting interested:

As the system seems to stand now we have:
-a fixed exchange rate,
-money that can be easily drawn in and out,
-a history of handling relatively large cash transactions
-plenty of internal game-currency transactions happening within the confines of a "game model" that can muddy the view of where the money went or came from

We've alluded to the risky nature of MMO's used for money laundering. Don't these features make PE a rather valuable resource for just this kind of business?

(NOTE: I'm not claiming that there is anything CRIMINAL about the Entropia business model, or that people are using it for this purpose now. I'm not implying that a Miami DJ/actor to remain nameless got any of his money illicitly, nor that he'd need to launder it for any reason. (the press releases would kinda destroy that motive anyway) Nor am I suggesting that Entropia may be banking on... well... banking laundered goods. It's an observation that the processes in place might make the game more appealing to MMO money laundering than other games. Don't sue me. I'm not a lawyer- and I'm broke :P )

Posted by: Chas | May 18, 2006 8:43:28 PM

"Remember, I CAN earn the ingame currency the hard way- hunting, mining, etc... (and paying a "tax" to the landholders). That game currency wasn't generated by real-world money, but can be pulled out for real world currency just as easily... ingame currency will always be growing faster than the real-world cash deposits that back them."

Incorrect. The ingame currency total CANNOT grow faster, thanks to the "decay" of the conditions of items. And without it, the ingame currency would grow at an EQUAL rate, due to the way the looting/deposit spawning system works.

Posted by: DaveJ | May 19, 2006 3:01:34 AM

I agree with much of Andy haven's post but:

> 4. With a regular bank card, you can't go into
> a bank, scrub the floors or paint a wall and
> ask for more money out than you put in.

Ah, but the rules of the game must be rigged (or else they cannot make a profit*). So the actual process is:

I give my bank 20 quid. They let me come in and clean two patches of floor that they sometimes throw pennies onto, for thirty hours a week. Occasionally I sprint to the teller and bank the cash. At the end of a month of this I see that I have made £6.20 back. They wait a few weeks then let me have my money.

That floor had better be fun to clean.



*They won't make a profit anyway.

Posted by: Endie | May 19, 2006 7:00:50 AM

(Back to me:)

If TerraNova could keep this kind of quality in their actual posts, I would sign up for their feed again.

This commentary is awesome. It's insightful, careful, and deep - without being soul-less or baroque.

It also agrees with my thoughts on game economies, so I suppose that might be a factor...

Learn to Draw in Five Minutes 2: Action!

Last time I tried to teach you a little about how to draw a stick figure.

This time, how about I teach you how to draw more than one?

After all, for most of the things you're going to want to demonstrate, a stick figure alone isn't going to cut it. You're going to need several stick figures interacting in a clear, evocative, and hopefully lighthearted way.

To do this, there is one cardinal rule. Stick figures cannot overlap. Why?

Pretty messy, huh? And this is without any of the added crap most beginners want to put on their figures (like, as I mentioned, boobs).

Which says "dancing" better: the one above, or this one? Which would you prefer to highlight your point?

Of course, it's not just different stick-people. It's any lines at all. Even someone's own lines can get messy if they're doing something with a lot of limbs crossing. Best to avoid that kind of situation until you've advanced to, say, simple cartoons.

Let's say your point is related to people using computers.

What a mess!

We keep him from overlapping with the computer and - hey! We can see what's going on. It's clearer and more evocative. I even added some wibbly lines to show he's really into whatever he's doing on that computer.

Also, I made the screen unusually detailed. This kind of gets into a tough question: how much detail can you add?

I've made a monster with a nonstandard head, funny legs, a tail, and cat ears. Can you tell it's a monster? I sure hope so. It looks pretty clear to me.

I think the basic premise is this: don't crowd your lines. You can make any modification you please so long as your linework remains clear.

You can't add boobs because it muddles up the simple lines of the body. But cat-ears and a tail don't muddle up the body any more than showing someone holding a cane does.

You want the main lines of your figure - the body, the limbs - to be uncrowded. The extremities are okay to modify. Heads, hands, feet. But once you start modifying the body and upper limbs, you start to lose the clarity that stick-men give you. At that point, you might as well draw something with a bit more solidarity.

Drawing nonstandard poses - such as kneeling - often give an impression without changing the linework. This kneeling stick figure looks female because the way the legs work, it looks like it is wearing a skirt. Modifying your stick figure is okay, but always try to keep it to a minimum of lines. This is a great way to keep it to a minimum of lines, and is simply an extension of the first lesson, if you can remember that far back in time.

Also, if a place that needs to look clear starts to look crowded, you have to cut back. For example, my mustachioed villain has just his facial hair - no eyes or anything. That's because it would start to get really cramped with the eyes and mouth. Keep it to a minimum of lines.

But... detail!

Detail is often quite useful - but keep it away from your stick figure. You can put detail on a hat, or a club, or a tail - or in another part of the scene entirely. But near your stick figures, it needs to be extremely simple.

Remember, we're trying to communicate something to our audience. That something is not "I'm a good artist". It's "there's a guy trying to catch the train!"

It doesn't need to be polished or high-detail. If that's what you want, you can learn that in five minutes ten lessons from now.

For now, think: simplicity. Clarity. Detail is optional. (I'll teach you about detail five minutes from now. ;) )

Why were we learning stick figure drawing again? Oh yeah:

Five minute assignment time. Fifteen stick figures, as before. However, this time they share the spotlight with each other. I want you to draw two scenes, three times each.

The first time, draw a scene where the stick figures overlap. You need to burn overlap = bad into your artistic stick-figure mind. The second time, draw the scene using the minimum number of lines. The third time, go nuts with the detail work... but keep the bodies eye-poppingly clear. No muddying your picture up!

The two scenes I suggest are:

1) Valentine's day gift.
2) Larry, Curly, and Moe.

Feel free to think of your own scenes. Hell, feel free to do anything you want. But take five minutes and learn to draw.

Pirates and the Second Tier

Arrr! There be pirates! And today, we be talkin' music pirates.

There's been a lot of jibber-jabber from all sides about what kind of stand any given media should take on piracy. Some people think piracy is not bad, some people think it is outright theft, and a lot of people can make sounds like a motorboat if they bleeble their lips.

Me, I'm of the opinion that what you think about piracy is totally irrelevant. There are pirates. They will steal your stuff. If you encrypt it, they will tear the encryption apart. Three days is what a popular piece of media has if it is pirate protected.

You have three options:

1) Make your sales to non-pirates. Minimal protection that pirates can break without any trouble, but everyday joes will be okay with. iTunes does this.

2) Make the majority of your sales in the first three days. More and more AAA games are relying on this. It's viable for certain kinds of content: news, stock reports, etc. Music and games really aren't really a time-sensitive media, though, so...

3) Use the pirates.

My favorite option is the third option.

What you do is give away your first-tier product. Or, if more suitable, encourage people to steal it. The Grateful Dead, for example.

This first-tier product is what people commonly think of as a product. It might be a song, or a search, or a game. The point is to get it to be as ubiquitous as possible.

Then you have a second-tier product. This is a product which is intrinsically linked to the first product, either emotionally or algorithmically. This is what you sell.

The Grateful Dead didn't sell music: they sold concerts. Google doesn't sell searches: it sells advertising on those searches. Webcomics don't usually sell comics: they sell add-on bits like posters and collections and limited-edition crap.

When it comes to pirates, they are essentially sources of attention. Get them to use your stuff, and if it's decent, their eyes are now on you. Then you can leverage that attention, either making the would-be pirates pay for additional services or by finding people who want to connect to those would-be pirates.

So, music industry. If you were the music industry, and you were simultaneously me, what would you do?

How about iTunes? Pretty good stuff. Music sold cheap. Listen for free to radio stations. Pirates take it, but that's okay. What about this add-on:

Dollar ratings.

Pay a dollar, rate a band or song. This changes its ranking, its likelyhood of showing up at the top of the searches, in the radio streams, and what the quotes which pop up in the corner when you go to their sub-page say.

You think Spears sucks? Pay a buck, tell the world. You think Kenna rocks? Pay a buck, tell the world. Change what other people hear by paying the coin.

And when a song gets too popular? A self-correcting feature as people pay a buck to rate the song down and say, "I've heard it a million times!" Extra cash.

I can think of a few bands I would pay to rate, and I'm a hard case.

Anyhow, I think it's an awesome idea.

Thursday, May 18, 2006

Learn to Draw in Five Minutes, Lesson One!

Okay, I've heard too many people say, "I can't draw!" and "I have no talent!" Similarly, I've heard too many people who are proud of their art, but don't know the basics.

So I'm going to teach you to draw. Right now. In five minutes. Get a piece of paper and something that makes some kind of line on it.

You have to realize, it doesn't take talent. I don't have any talent. It doesn't take detail, or realism, or any of that crap. The important part at this stage of the game is learning how to get a message across. Everyone understands easier if your gameplan is accompanied by graphics. Some people draw diagrams, others photoshop graphics into submission. I'm going to teach you to do stick figures.

And I'm going to teach you something about stick figures that few artists under the age of twenty know. Many artists - such as the guy who draws Dick Tracy - never learn it. Something you will find infinitely helpful even if you stop learning how to draw in five minutes after only five minutes.

First, the basic stick figure:

Please note the shoulders and hips. That's important. It's not what I'm teaching today, but it's a critical part of drawing stick figures, especially if you plan on going into something less sticky in the future. Also, it gives you a touch of class over other stick-figure drawers who don't use hips and shoulders. Already, you stand out as an artist and person of class.

Draw the stick figure.

Oh, come on, don't be lazy. It takes all of five seconds. Draw the damn thing!


Anyhow, we now have a little stick man. How would you draw a stick woman?

Arrrrgh! No. Don't. There's three problems with adding boobs to a stick figure. Two of these are in common with adding other things, such as skirts.

1) Stick to the paradigm. Adding things like boobs to your stick figure changes it from a stick figure. It muddies up the picture, adds unnecessary lines, and makes it harder to see clearly. Trust me on this.

2) The stick-boobs don't actually say anything other than "woman" (more specifically: "objectified woman"). Remember, we're trying to get our art to communicate. Not some artiste's toity thing, something in an explanation or description. Like, "then a woman walks in." This doesn't help with that.

3) It's kind of sad that "boobs" are what spring to mind. Honestly, you have to use what springs to mind, because that is what will make the connection between your drawing and the people watching. But "boobs"? Sometimes suitable, many times not.

Let's look at other ways of drawing a stick-woman. How about adding some femininity without adding any lines?

Ah... now we're entering the heart of the matter. Just because your stick figure is lines doesn't mean those lines have to be straight. Inject them with some femininity using a more feminine version of the stance.

Stick figures aren't the best thing in the world at doing this, but if you work with them a bit, you can get our stick figure to clearly be a woman. Or, because our shoulders are so big and hips so small, maybe a really flaming guy.

Now we can change things away from the blank sticks, because we have a pose that looks feminine. A picture that communicates on its own. Now that it's talking, we can teach it some new words.

No.... everything I said above still stands. How about:

Adding a face, rounding the hips. It looks like she (or he) is smacking her butt, I suppose. This pose probably isn't what you're looking for, right? So try some other poses.

Okay, enough with the hot chicks. That's just to show: even a stick figure can be imbued with a sense of emotion. Without adding any details (aside from a happy-face style face). This minimalistic approach can serve anyone well.

And, if you're a high school artist, you probably aren't yet thinking about things like spine curves and flow. Or, if you are, you're thinking like the examples above: it's a feminine thing. Like, say, these females?

A zombie and a blind guy. Both use a curved figure to get across something nonfeminine. You can use this sort of thing in any way.

Notice, these two use the same basic picture. The difference? Well, aside from the snarling mouth, dark classes, and cane, the hand posture is the biggest difference. At this stage, it's all about trial and error. Start with the spine, work from there. It's a stick figure. If it sucks, try again. Oh no! Five seconds wasted!

Each type of primary body curve (the arc you would draw through their spine and down through their legs) has its purpose. There are, in my opinion, five basic types of body curve, named after the body part they project most.

Knees (previous figure)
Pelvis (winking girl)
Stomach (girl next to winking girl)
Chest (next guy)
Head (blind guy and "curses!" guy)

All of these body curves are useful in more than one type of situation. For example, a head-heavy body curve can be used for aggressive villains, blind people, and zombies - three very different character types. Although I think a blind, aggressive, zombie villain might be a fun bad guy.

You can tie them together. Say that the head-curve is for people who don't see anything outside their little world, or something. I think that's largely pointless: just let your right brain learn the various things the poses can be used for.

Of course, these are really only useful from angles which aren't right in front. But, in honesty, the number of figures you need to draw from straight in front is pretty low. So we'll skip the "from in front" lesson. :)

Okay, chances are you haven't drawn a single stick figure. Maybe you did draw one, when I asked you to. So here's your five minutes of work:

Draw three different poses five times. Each time you draw a pose, draw it using a different body curve. This will establish very firmly what tints the different body curves give a picture, as well as get you a bit more confident in your ability to use them. Fifteen stick figures. That's less than five minutes.

Here are the three poses. Remember, draw each with each body curve type. Feel free to really overdo the curves.

Running fast
Punching someone

I guarantee that after drawing these fifteen stick figures, you will feel like a better artist. Chances are high you will actually be a better artist.

Next lesson, I'll teach you how to get on your knees and beg. ;)

If you scan them, post them in the comments. I'd like to see them. :)

Wednesday, May 17, 2006

Choice and Legends...

So, I got Rise of Legends. I'm about 40% of the way through it, I think. It's well worth playing, even if it is in no way a short game.

It is, in fact, the best RTS I've ever played.

I miss some of the more innovative elements that can be found in other RTS games, though: I miss having a slowly spreading ooze. I miss having power generators. I miss having units that know how to use transports without me having to carefully spell everything out. And I miss using the dead as resources. I don't miss micromanaging spellcasters.

But for what it is, it is very good. Now I'm going to tell you what they did wrong.

Don't worry, it's not in the game. It's in the flow of the narrative.

That's right, the game is good enough the only thing I can whine about is the (whiny voice)"flow of the narrative"(/whiny voice).

Actually, studying the flow of the narrative through the first and the beginning of the second act tells us a lot about how I think. Presumably, many others think the same way. Feel free to agree or disagree in the comments section.

The game starts you off as a clockpunk commander. Pretty cool. The main character could have used a little more... uniqueness. Well, any uniqueness would have been good. But it was solid, and the units were kickin'.

You start with a limited selection of units: riflemen, clockwork men, scout drones. Over the course of the game, you research more units. Clockwork spiders (awesome!), behemoth tanks (freakin' awesome!), sky pirate ships (meh), cargo ships (meh), bombadiers (meh), walkers (meh), and so on (meh).

The point is, as I was playing this game for the first time, playing with my limited unit set, I saw the clockwork spiders and said, "coooooool!" Similarly, when I saw the Doje's huge army with tanks in it, I said, "I want those tanks!"

It was all in how the progression was framed. There was a feeling of eagerness for these units. It wasn't done as powerfully as it could have been, especially with the airborn ships, but it was done pretty well.

Enter the second act. You start with access to every unit. What's cool? Nothing's cool, because nothing stands out. Units only begin to stand out after they're used in combat for a significant amount of time, which happens pretty much at random because you don't have any particular preferences to start with.

I found this to be a stark contrast with the steampunk. It's not that the desert units are less cool. In fact, they're pretty damn cool: you can create barracks in enemy territory, and they've got these sweet flying dragon things... that have the same stats as the clockpunk assault aircraft... :P

It's just that you start with a wide variety of options and precious little to distinguish them by. They don't give you any hooks. It's like if someone showed you a long string of toothpicks and asked you which was your favorite - but decide quick, because you have to fend off an oncoming mob soon.

They made a similar error right at the beginning. We have a short fight with the Doje. We're just starting to get the hang of this whole "volley fire" deal. Then what do they do? They make us fight dark Alin. Why?

We hadn't even started with the clockpunks yet! And you're giving us more noise. That should have been the sixth or seventh mission, after we've started getting our feet under us with the clockpunks. Then you hit us with something that changes our worldview: not so early, when we don't have a view to change yet.

In my mind, the lesson is clear: you have to establish a baseline, then show things outside the baseline that get the player to sit up and say, "cooool!"

Other than these extremely minor complaints, the game is a lot of fun.

It should be noted that Rise of Legends does NOT feel the urge to actually make a stage winnable. So, if you attack foolishly, it crushes you. :D

Tuesday, May 16, 2006

Google Images

I don't know how it is possible, but I get 20% of my hits from Google Images. How does that work? I post maybe two images a month, and have never posted any meta text that Google would recognize.

But, in an effort to increase my page rank, I'm going to post an image about what everyone searches for. Smooth, curvy, naked, and just a little dirty:

I suppose, since I didn't draw this, I should reassure you that yes, I have rights to the photo.

Monday, May 15, 2006

Kampaku Update

So, I mentioned that the engine would hopefully be ready by today. It's... mostly ready. The random generation system needs some work, but since I plan on designing levels manually, I don't see that being a problem.

I don't have the AI totally complete yet (although the biggest foundations are laid), and I don't have file loading implemented, and I don't have the ability to display non-map-related stuff (like, say, people talking to you).

But, after six different iterations of the basic game engine, I think I've settled on one. And I think it's going to be fun. :)

(It is, however, too ugly to post pictures of at the moment.)


There's an occasional simmer on the IGDA forums about how to write a decent villain. People come up with a lot of interesting theories, but I don't much like them. That is because (as most of you have probably come to expect) I have my own opinion on the matter.

A good villain isn't good because he, she, or it is something we can empathize with. The villain isn't good because they pose a real threat. These two factors are often found in good villains, but correlation does not imply causality.

What makes a good villain is something strange where we expected something else. Also known as "a twist".

By strange I don't mean "unusual". I mean "mind-boggling".

Here's an aggregate list of some villains most people consider to be really "good":

Darth Vader. The Terminator. Alien. Norman Bates. Hannibal Lector. Jaws. Hans Gruber in Die Hard. Roy Batty. SHODAN. Scorpio (in Dirty Harry). Dracula. The Joker. Mr. Hyde. Agent Smith. Freddie Krueger. Wicked Witch of the West. HAL. Any nuclear winter.

(Okay, my media preferences are showing through...)

Both these villains and the villains from genres I'm not a big fan of arise from showing you something you didn't expect and don't really understand in a situation where this oddity is extremely clear.

For example, in the Wizard of Oz, everything in Oz is bright and shiny Technicolor. Prancing midgets are the most common life form.

The Witch, however, is the exact opposite. A blot on OZ.

Some villains are the reverse. They are evil incarnate, unstoppable killing machines... until you show the audience a blot. In this case, the blot is in reverse: you show them a spot of sympathy. Darth Vader and Hannibal Lector are perhaps the two most obvious versions of this: both are killing machines, but both are shown with a surprising, sympathetic element that makes us go, "kurwhat?"

You can also continue and put a blot on the blot - as Hannibal Lector did. He is a brutal killer who eats his victims. The unexpected twist: he's polite and friendly. The unexpected twist in the unexpected twist: this doesn't keep him from eating your liver.

In my opinion, that is what makes a villain. Something unexpected: a twist on whatever the playing field is. Whether it's a person (Darth Vader, Norman Bates) or a thing (The Future, Oz, "Tomorrow"), put the twist in and that twist becomes a villain. The twist can be sympathetic, if the playing field is evil (Darth Vader) or dark if the playing field is sympathetic (Norman Bates).

The Terminator is a dark twist to a normal, everyday situation. The second movie was brilliant because it was a bright twist on a dark twist on a normal, everyday situation.

Roy Batty was the same: he was a dark twist on a sympathetic situation (a human-like creature gone horribly wrong)... but he had bright twists in his dark twists.

People who have played my tabletops may remember that many of my villains use this exact philosophy.

So, I guess what I'm trying to say is...

Baby, baby twist it!
Ooo-ooo-ooo, just -
Round and around and around and around
Just like this!