Sunday, December 20, 2009

A tale of three android ad networks

I wrote a simple dice-calculator app for the Motorola Droid and have been experimenting with various advertisers on the ad-supported version. Here's my capsule review of three; AdMob, Quattro and Greystripe.

Its important to knwo up front that NONE of these so called 'advertising networks' actually tell you how much they pay or for what. Therefor, you have to experiment and intuit. These are the
results of my experiments to date.

AdMob.

The Good:

AdMob is the 800 pound gorilla in this space having been bought by google. Their sdk is the most mature and easiest to integrate. Their ads are also the least intrusive. They will also run your "house ads" for your own products in your other apps for free. Finally, their reporting tools are *excellent* and really give you a good feel of the trends of usage of your app.

The Bad:

Unfortunately, they also pay the worst of all three. Although they don't publish their exact formula (none of them do) it semes to be *heavily* if not entirely base on click through. I've served almost 7,000 impressions, but only had 14 click throughs. Total revenue: $0.88

Quattro.

The Good:

Quattros ads are still fairly unobtrusive, about twice as tall as an AdMob ad. While the SDK is a bit less mature, it is a bit more automatic. AdMOb's view has to be told by your app when to get a new ad. By contrast you just place the Quattro view and tell it how often you want to change ads and it does the rest.

Quattro pays for impressions as well as click throughs and it shows in your revenues. With about 6500 impressions and only 6 clicks I already have made $1.44. Quattro also encourages a faster ad-flip rate and thus Ive gotten those 6500 impressions in something like a third the time it took for AdMob, who I integrated earlier.

The Bad:

Quattros analytics pages frankly suck. You cna ask for number between any two dates but what it shows you is the aggregate total over those days, not numbers by day. This makes trend analysis very hard. They also don't have "house ads". Finally, while their view is easier to integrate, you also have a bit less control over it.

Greystripe

The Good:

Greystripe is different from the other two who are primarily banner-ad suppliers. Greystripe specializes in interstatials, ads that take over the entire screen for their run. They imply on their website that they pay per impression. In fact, their reporting tools don't even show click-throughs. This means you get paid for displaying the ad, whether the viewer clicks through or not.

I have found their tech support responsive, which is important given their issues. (See below.)

The Bad:

Interstitials are by far the most intrusive kind of ads there are. Therefor you won't be generating high impression rates per user if you don't want to drive your users away. I have my app configured to display one on launch and then one approximately every 5 minutes. For games, it makes more sense to integrate the interstitials between levels since you cant pull the screen away from the user mid-level.

Their Android SDK is in beta and is by far the hardest to integrate. To begin with, its not perfect yet. My interstitials don't display properly the text on the buttons to go back to the app or to the linked advertiser web-page. (I've reported this and they say they are working on it.)

The biggest problem however is that they chose to implement their ads not as an Android view, like the others above, but as a separate Android activity. This causes your app to go through life cycle call backs that are exactly the same as when a user navigates away from your app and then returns. This is simply a nightmare to deal with, impacts app stability, and needs to be fixed right away.

Their reporting tools are neither as good as AdMob nor as wretched as Quattros.

The OTHER issue I have right now is that they *say* they pay per impression but their reporting tools aren't showing it. I have 158 impressions so far and its still reporting $0 income. This makes it hard for me to get a grip on what, if anything, they are actually paying me for my efforts. Given that the impression rate is so much slower with interstitials, this is an important consideration.

Conclusions:

Right now, for income (which is why we do this, right?) Quattro is the big winner. They aren't terribly objectionable and pay quite well. If their reporting tools were better and they had the house ad option, they'd be the only banner service I'd use. As is however those values are big enough to make me keep AdMob too. At least for now.

AdMob is the second place producer. They are less then half as lucrative from a payment point of view, but their tools are excellent and have really helped me learn user trends from this first product.

Greystripe has promise, but they need a lot of work. The SDK is definitely not done and need some serious re-architecting. And I'm very concerned that their website has yet to tell me I've made any money at all.

In web-advertising, interstitials are a big money maker and there is promise in this market, but Greystripe has work to do if they want to fill that niche.

Sunday, December 6, 2009

A new definition of desperate...

Senate Republicans trying to claim they are afraid that the health care reform bill will hurt Medicare... A program they have been trying to torpedo as long as I've been a legal voter.

Lets face it. They think Americans are idiots with no memories. Or at least, they think Seniors might be. That seems to be what they are baking on in this latest move to protect their big-money insurance industry supporters from reaping the field of distress they have sown among working americans

If I were a senior, I'd be pissed off at them right now. Course any Senior with still functioning neurons should have been pissed at them for a long time before this.

It reminds me of an old jewish joke...
"Chutzpah is killing your parents and then throwing yourself on the mercy of the court because you are an orphan."

Chutzpah seems to be in no short supply among the republicans in the senate.

Friday, November 27, 2009

No American needs Health Insurance

But every American needs health-care.

As I reported previously, more people die in this country every month from lack of proper health-care then from drunk-drivers and the accidents they cause.

This simple fact seems to be eluding all our politicians and media pundits. Over and over I keep hearing the goal for our national health care system that "every American has insurance." But as many real american consumers know, having health insurance is no gaurantee that your health care bills will get paid.

Some estimates put the number of "under-insured" already in the current insurance system at 25 million Americans. These are working Americans whose insurance is inadequate and will not cover the bulk of their health care costs.

Any plan that only measures its success by the availability of low cost insurance will have no effect beyond ballooning the number of under-insured Americans. Which will do nothing to keep them from being ruined by the costs of health-care. After all, bankruptcy and pregnancy have one thing in common... you can't be "a little bankrupt", either.

The bulk of non-dillusional Americans have finally admitted the obvious, that we have the least effective and most expensive health care delivery system in the developed world. Even the politicians are finally willing to admit that. But what neither they nor the media are saying is that we are also the only one who counts on insurance to finance the delivery of that care.

The link is obvious. And its a link we must break. We all need to tell Washington that we don't give a crap about health insurance. What we care about, is health care.

Friday, November 20, 2009

You have no privacy already...

... get over it.

Scott McNealy said that a few years ago and he was absolutely right.  This may sound cynical, but you should always be skeptical when law makers say they are going to "protect" you as its almost always from the wrong things.  One example is the totally pointless and useless COPPA law, which makes web site developers ask you your age and restrict your ability to communicate with others if YOU tell them you are under 13.  Well, I'm sure no kid has EVER lied about their age.... right?

Other examples of "protecting your privacy" have come and gone as legislation and all are equally pointless.

Why? Because people don't have to be required to give their privacy away... we all do it all the time, every day, voluntarily.  Its in the decisions we make and the actions we take.  Its in anything we do that is "in public' and, lets face it, that's most of our lives.  "Sharing" tools like Facebook, web forums, and so forth just increase the amount of information we provide on ourselves. 

As an example a group of MIT students recently wrote an "outing" program that predicts someones sexual preference based on nothing more then their circle of facebook friends.    It really shouldn't surprise us that who we associate with says a lot about who we are.

You might think you have some security/anonymity if, like me, you use a psuedonym for non-work related stuff.  But, it turns out, there is EASILY enough information on the net  on most of us to make correlations between our psudonyms and our real personae.

Its not just the net though, there are huge databases on what we do and who we are that pre-date the net.  The insurance industry has one that lists every medical procedure you've ever had.  Of course there are the credit databases that show our patterns of purchases.  The information is out there and, thanks to the cheapness of computing power, the genie is out of the bottle and anyone with some time and some horsepower can put together a surprising amount of detail on any of us.  If you doubt that, take a look at this "service" that was recently advertised in one of my professional management forums I participate in.

We have no privacy because we've already given it away, just by virtue of being part of this society.  So as Scott said, rather then passing pointless and ineffectual laws, we better start getting used to it and figure out how best to handle it.

Sunday, September 20, 2009

More people die from lack of heathcare then from drunk driving

Harvard has just completed a study that shows that there are more deaths every day from lack of health coverage then drunk driving and murder combined.

http://www.reuters.com/article/healthNews/idUSTRE58G6W520090917

So when someone says to you "I think everyone is happy with their health coverage" look them in the eye and ask if their "everyone" includes all those dead or dying because they have none.

Monday, September 14, 2009

inmates running the asylum

I know the media likes a gathering. It looks good on camera. It looks even better if they look nutso as so many of the signs at the "9-12" rally in Washington made their holders look.

But lets get real here.

This was an event manufactured and hawked by Fox News, probably the single biggest media in the conservative world with the largest reach into conservative american households. They pushed this thing like JC himself was going to make an appearance. One of the lead spokespeople for it even said on camera that he was "sounding like a televangelist."

And 10,000 people showed up.

10,000 out of a population of over 200 million adult americans. When you figure approximately half the US identifies itself as "conservative" that's a turn out of .008% of their audience.

Edit; revised *generous* estimate is 70,000. Which is a bit more but still only a bit over .05% of the theoretical fox audience. Interestingly, one of the no-shows was Fox's own Glen Beck, who was a primary organizer for the rally...

The real story here? The big money interests behind the desperate attempt to derail health-care reform can now truthfully answer the question "what if you threw a party, and nobody came."

Lincoln was right. And if you ever wanted to see the portion of the people you can fool all the time, then look at that rally. I am heartened to see its is no more then .004% of the country :)

Wednesday, September 9, 2009

Aion Open Beta Review: A keeper

I've been playing the Aion open beta the past few days and I have to say my reaction to it is about 180 degree from my reaction to Champions Online.

To begin with, while CO looks like an amateur comic book , Aion is *gorgeous*. Dripping with details, very believable environments and people. Just a pleasure to look at.  Having said that, it can at times be "too" pretty.  My character is on the slender/good looking side and between the overly ornate (but still formfitting) armor he's currently wearing and a few of the animations, such as the hands on the hips idle anim, he really looks kinda queer.  Not that I have anything against queer folk at all, but it wasn't what I had in mind for this character.  I suspect this is more an issue of Eastern/Western style clash then anything else, as Aion was originally a Koren game.

For any one who doesn't know, Aion is a "angels v. daemons v. devils" game. The Angles and Daemons are PC races, the devils are the 'spoiler" and are controlled by the computer. (It should be said that this is an over-simplification. Although I'm currently playing a Daeva, an Angel, and i haven't seen the Asmodean side yet (the daemons) the game suggests that it gives both sides in the war a justification that makes them the "good guys" in their own eyes.  Interestingly enough the "angels" are called "Daevas"... which is another word for daemon.)

The experience is well paced from both a gameplay and story POV. You spend your first 10 "newbie" levels as a human being. This allows you to learn all the game basics as well as to help you develop an emotional connection to the "humans" before you ascend to godling. The world is rich in story and flavor and i have yet to run into any quest that felt too objectionably like a repeat of a previous one. Both Aion and City of heroes cast the players as exceptional heroic protectors of the "normals." In both quests and making that connection however things Aion does a much better job. The "normals"in CoH lacked any character and were there mostly as Macguffins to retrieve or sources of canned applause. In Aion though every NPC you meet feels like it has its own, rich background story.

At Level 10 you "Ascend" and leave the newbie playpen. At this level oen of the other big features of Aion kicks in-- your wings. In some (but not all) zones you can sprout wings and fly. Again, CoH had flight, but thus winged flight is a more visceral (and harder to control) experience. You are also time limited on your flight so that's one more quantity you need to watch and manage. It was smart of the developers to make you wait for this bennie. Not only did it give you the time to connect with the land-bound humans but it also delayed your trying to learn to manage this while you were learning everything else about playing the game. Right after you get flight you are given a sort of "training quest" to get the hang of it where all you really have to manage is your flight time. This works very very well to introduce you to "flight skills."

The rest of Aion so far is pretty vanilla fantasy MMO. Those who coem to it from WOW (or EQ or even older) will find a lot that's familiar. Advancement choices are mostly through choice of gear and pluses that "socket" into the gear, though you also periodically get important new skills. They have built a "user store" feature into the game that formalizes people selling gear that don't want. This makes them standing around and shouting their advertisements a bit more controlled less annoying and correspondingly less annoying.

I haven't reached what NCSoft calls the PvPvE yet, which is where the three factions clash. I suspect that's probably the "end game". But I AM staying up too late and generally enjoying myself getting there.

All in all I think NC has another winner on their hands and a very natural game for WOWites to "graduate into" when they want a more adult and serious game experience.

Thursday, September 3, 2009

The difference between what, how, and why

This came up in the same conversation I referenced below and I decided it was important enough to make a brief note on. I think its something people can often get confused by.

As a stage magician I've had a great deal of practical training in both critical thinking, and lying. After all, much of a magician's job is to lie to the audience and make them believe it. (Although I also firmly believe that these are lies told with a wink. I always want my audience to know that my job is to tell them a lie they will have fun pretending to believe, even if they really know better. This is why mentalists who pose as genuine psychics upset me. I think you do your audience a disservice when you leave them with false beliefs they might take into the real world and act upon.)

One important critical thinking skill is to be able to clearly separate different questions in your head and not confuse them or assume that proof of one proves another. In specific, our freind the NLP adherent kept insisting that, because the hypnotic techniques he knows work, his explaination of why they work must be right. This in fact is a common fallacy of religious thinking. Someone tells me that x effect has y cause. I see x effect, so I assume that the cause must be y.

I call this the difference between 'what', 'how' and 'why', and I gave him this example:

A piece of paper bursts into flame. That's a 'what'.

A man holds a glass lens at the right angle to the sun to make the paper burst into flame. That's a 'how'.

The great burning turtle in the sky who swims around the world is attracted by his own reflection in the lens and when he stares into it his immortal power burns the paper beneath. That's a 'why'.
From that example I hope it is fairly obvious that the existence of a what and a how does not prove any particular why.

5 signs of techno-babble

So, I recently ran into an adherent of NLP or Neural Linguistic Programming. This got me thinking about a few things.

Religions always spring up around scientifically unanswered questions, be they the source of volcanoes (Vulcan), the effects of drunkeness (Dionysis) or the existence of extra-terrestrial life (Scientology.) Based on this person I'd hazard a guess that NLP is apparently a religion built around unexplained psychological phenomena. Mostly hypnotic and suggestive phenomena.

Now, from a sociological perspective it makes a lot of sense that modern religions are being born on the fringes of science. Most of our big mysteries today are the areas of science we are still uncovering. And even places where we do have some information, in many cases its information that is hard for a lay-man to grasp and understand. This is fertile ground for mystery religions.

One thing all religions will do is try to improve their sense of legitimacy by tying themselves to the popular understandings and mysteries of the day. In the ancient world, people commonly believed in fate or destiny. That important people were destined from birth to be important. Thus, every story about an important person *had* to include a distinctive and unusual birth story. You can see this in the stories about such people as Alexander the great or Jesus of Nazareth, to name just two.

Today, people are swayed by words they think of as 'scientific' so any recent religion will cloak itself in nonsense phrases that "sound scientific." Here are some words that should flag your suspicion in any statement about the world:

  1. Quantum. People love this word even though they have no idea what it means. The "magic" of Quantum mechanics in the way it breaks with every-day experience has really caught the imagination of people. It seems to "make no sense" yet they know that it has real provable effects. In the common mind, that equals magic and techno-babble will very often try to associate itself with that by using the word Quantum in a totally nonsensical manner. As an example (from my friend the NLP true believer...)
    "This is the basis for what is known in NLP as quantum linguistics. It works differntly than you expect." (sic)
  2. Infinite. Another word common people know has meaning but generally can't really picture or comprehend. Calling something "infinite" is always good for an 'ooh' or an 'aah'. This is why there is an entire car company named "Infiniti". Again, another example from NLP psychobabble courtesy of my friend on the forums..
    What are you NOT thinking about sends your mind into a search for ALL the things you aren't thinking of. Which is infinite.
  3. Void. The opposite of infinite and again, something that people have trouble imagining and thus has mystical connotations. Like the "everything" of infinite, the "nothing" of void is outside of the common person's every day experience and is thus magical. Another example (amazingly these were all from one thread, most of them from only one or two posts.)
    When you break these containers you go back to the "one" or void.
  4. The Unity of Matter and Energy. This is, ofcourse, a direct invocation of the great god Einstien. ;) Eisensteinian physics is really the start of "you don't see it but its true" science in msot people's mind. (Although even Einstein was drawing in part on earlier observations and theories, most common people do not know this.) Einstein's theories are both mysterious and powerful-- everyone knows they led to atomic bombs which are powerful and scary things. If you can invoke Einstein then you can capture his "power"... or at least his power to engage the belief of the common man in things they cannot see or prove. So here is another example from the same source:
    everything is one piece of matter nade up from energy. creating labels splits it up and puts it into containers which we call reality (sic)

  5. Theory. Probably the most magical of modern day terms. And one again that common people do not understand. They know that scientists call their ideas "theories" and they have great faith in those scientists. Therefor anything else that is called a theory carries a weight of assumption of truth in their heads. Part of what they don't understand is that even scientists don't claim that their theories are actually true. Just that they are useful and seem to line up well with the known facts. This is one of the big differences historically between a religion and a science. A religion generally tries to prove its postulates truth whereas the whole approach of science is to try to come up with new ways to prove those postulates false. But call your unscientific notion a "theory" and all of a sudden it gains weight with the common man. This is why right wing christians call their creation myth a "theory" these days. And its used extensively in modern psuedo-science religions:
    The theory is that this transdiverational search eventually takes you to a place before language and the meaings existed in your mind into the "void" (sic)
    You have to love that one. "Theory", "void" a mystical place and an obscure multi-syllable programming term. Now THERE is a magical formula for you!

Those are 5 good examples of scientific techno-babble. In general these are words that should raise red flags in your mind when someone throws them at you out of context. Chances are even they don't know what they really mean. I'd like to end this with one more rule of thumb. This is somewhat tongue-in-cheek but also has a lot of truth to it. I credit Harvard Professor Jim Waldo with this as that's who i heard it from...

"Any discipline that has to explicitly call itself a science, probably isn't one."

Monday, August 24, 2009

Champiosn Online Update

Alright,

I played with a friend last night who has more of the game figured out. The GUI is awful so I don't blame myself for not finding these, but she showed me how to turn off the ugly black lines. She also says there is a way to get all the powers in power selection but its hidden.

We played together for a bit. The game was faster and easier with a team... but it wasn't a whole lot more fun. In the end its still the same-old same-old boring MMO play and very very reminiscent of the CoH experience.

So while some details have changed my report stays more or less the same. They are scheduled to launch this puppy in a few weeks and sst way too early. I think id maybe pay $5 a month for the experience as is, but no more.

Saturday, August 22, 2009

Champions Online (not so) Mini-review

[Note: This was intended to be a short review, but it turned out a bit longer then I had planned.]

I've been a fan of the Hero games HERO roleplay game system since I was part of a play-test group in high school for the original Champions rules. I've also often lamented that the MMORPG developers could learn a lot from the traditional pen and paper game designers if they ever bothered to talk to them.

Thus, it was with some hope and excitement that I entered the Champions Online open beta last week.

Unfortunately, I guess I have to start this by saying I'm pretty disappointed with the game on a number of fronts.

Because I have the game pre-ordered I was sent an "early" invite to the beta... which began last week and is also open to anyone who goes to file planet. My pre-order "perq" came down to being able to dl a locked copy of the game early and get maybe a few hours jump on those who had to dl it when it "opened." Seems to me its more that I did THEM a favor by pre-downloading and decreasing the hit on their servers at launch, then the other way around.

But okay, so I log on and make a character. First thing I am struck by is the lack of options in the character editor. It seems very reminiscent of my CoH experience but with an even more limited the range of options then CoH at launch. To be fair, there are some options like tails and wings that only came later in CoH. But the range of clothing seems to have been proportionately reduced. Perhaps to make room for these specialty pieces in the art budget. Net effect is a narrow range of general costume options. Struggling and compromising, I come up with something that seems vaugely right for my character conception... a classic sneaky thief type ala Lady Christina in Dr. Who and the Planet of Death. A character type I've played many times in pen and paper Champions games.

Then I hit character stat assignment. Second disappointment. Unlike a pen and paper HERO session, I can't assign stats as I like. Instead I have to pick from a limited list of stat packages according to archetypes they pre-selected. They all seem distressingly combat oriented, but I finally decide that the "acrobat" type fits my character the best.

Next, I go on to pick abilities. The choice is again distressingly narrow and all combat focused. I pick a gun skill and a martial arts skill because this is supposed to be highly skilled human, not some mutant over-the-top power blaster or similar silliness.

For a game that was touting how open ended their character system is, this again feels distressingly like CoH redux ( but there was more range in choice within that system then in this one.) There I picked an “archetype" and then starting powers from that archetype All thats happened here is that it is turned upside down. As I discovered when I later got my first level, my choice of initial powers limited me to guns and martial arts for all future powers. So I'm still stuck in an archetype, its just that it was inferred from my initial power selections.

Alright. That was less then exciting, but maybe the game will play interestingly, I think...

More fool me. As I enter the tutorial it looks almost EXACTLY like the opening of City of Heroes. Im standing in the end of a blind alley-way and directly in front of me is a policeman with a "talk to me" sign over his head.

I won't go into details on this because I don't want to spoil it for people. The tutorial is a bit longer with a bit more storyline. And actually the story line is mildly amusing.... but it feels distressingly like a single player game as I move through it and I start wondering why exactly I'd pay monthly for a single player experience...

I finish the tutorial, complete with fanfares and trumpets about what a wonderful "hero" I am. And here I need to digress because there is a pattern. City of Heroes praised the players as "heroes" for everything they did... some of which was heroic like saving lives and some of which the heroism could be seriously argued like breaking into buildings and confiscating materials all without warrants or chasing down and beating up people on the streets just for belonging to a gang or having an unpopular political affiliation.

Jack Emmert likes to put canned applause in his games. Enough, Jack, really. The only people to whom this player-fawning game behavior has any value really need professional help, not yours. How about making a game for well adjusted adults rather then ill-adjusted 14 year olds?

But I digress. After the feelings-of-deja-vu tutorial I am sent into the “real game" and I go to "Canada." Again, the game play is remarkably familiar. I've been playing MMOs since their inception on AOL. And they are all distressingly the same. This is no different.

The HERO system is one of the most strategically complex roleplaying systems out there. As a HERO player I was hoping to see actual HERO mechanics in play. No luck. The game has me running around clicking attack buttons, and an occasional pick-up or respawn button. There is no evidence that is visible to me, the player, of the timing chart, which is a central part of the HERO system.

My only "maneuver" is the dodge key, which I have to hit and hold at just the right time. Close timing is not really a good idea for a game which has to deal with net-lag. This mechanic worked okay for me but I expect results will vary depending on net-geography of the players. In any event, there is nothing terribly strategic about this.

I mentioned leveling earlier. HERO system is a point system and incremental, there is no "leveling". The same cannot be said for Champions Online. It has exactly the same D&D derived level system every other MMORPG has. At each level you don't get to assign your own points but instead have to chose from a limited selection of new "powers" that are pre-built for you. This again feels a WHOLE lot like City of Heroes, and nothing like the Champions game I know.

About the only place the HEro system surfaces its head is in the stats of items you pick up. And yes, just like every other MMO it has items you acquire to improve your stats. Again, this breaks with the unified point-system of HERO and makes it feel like a D&D/D20 type game. The items are descirbed as stat pluses in somewhat HERO terms, but this leads to a new problem which is context. You have no idea how much "4.2 energy defense" is in the context of the attacks around you because enemies never reveal the stats of their attacks. This makes it a blind numbers game that could be ANY system underneath. Again, very MMO-like, very HERO-unlike.

Im not going to go on much further, I think you probably get my point that this feels like CoH II (and in some ways an inferior sequel) not like any sort of HERO game I was envisioning. But I can't end this without one last gripe...

The game is UG-LY. City of Heroes had some of the nicest, most believable looking human characters I've ever seen in a game. It still stands up well against more modern competitors with much higher graphics requirements like Age of Conan. (Though I must admit that Conan's environments are much lusher and more believable. Thats the prettiest human-scale game I've seen to date.)

Someone decided to go a different route with Champions online and make it more "comicbooky." Ugly cell-rendering draws thick black lines around everything and the characters are much flatter in appearance. To me, this is a step backwards. I couldn't get into WOW in part because of its cartoony look. This in its own way is almost as bad.

Now, it is reminiscent of some of the classic Champions artwork... but that was a game made back in the days when RPG publishing was an amateur garage-shop thing and you didn't *expect* art to look great. This is a big budget computer game. I want a virtual world I can believe in. And reminding me that its a comic book doesn't help that. On the other hand and to be fair, maybe what they are doing is putting me on notice that this isn't a game for me.. a mature thoughtful adult. That their goal is to reach 13 yr old pimply faced comic book junkies of all ages.

If so, then I have to admit they have succeeded well.






Monday, August 17, 2009

An MMO Solliloquey

To level or not to level,
this IS a question.
Whether to suffer the drudgery and boredom of outrageous grinding,
Or to make short your content and by the players end it.

To die, to Lose.
No more, and by a raise to say
we end permadeath and all consequences
of play that is crap.
Tis of the masses devoutly wished.

To die, to raise.
To raise, perchance to bore.
Aye there's the rub.
For in this state of invulnerability,
what dramatic tension may come
when death hath lost all its sting.

That the masses cannot imagine: there's the fact
That makes an experience so devoid of Roleplay;
For who would suffer a 13 yr old in battle,
The talk of trash, the accent innane,
The sp33k of l33t, the P of K,
The insolence of the child and the childish
That patient and mature player does take,
When he himself might his exit make
to a game of mature adults? who would roleplayers bear,
To grief and annoy under a desperate need for attention,
But that the dread of leveling again,
In the undiscover'd game which fares no better?

That those dissatisfied yet pay monthly puzzles the will,
And makes us rather bear those ills we have
Than fly to others that we know not of?
Thus economics does make cowards of us all;
And thus the native player of roles
Is sicklied o'er with the wants of the masses,
And enterprises of great pitch and moment
With this regard their currents turn awry,
And lose the name of improvement.[1]

Thursday, August 13, 2009

Inaugural post

It seems appropriate that my inaugural post of my new blog page be something related to the presidency.

The special interests and the loons who believe them are out in full feather trying to scare people off of actually getting proper health care  in this country.  In response, the Whitehouse has done a nice job of creating a "mythbusters" website.

If you have any questions or concerns that health care reform might hurt you and not help you... I highly recommend this site.

If you distrust ALL politicians (and I wouldn't entirely blame you) then here is an excellent site from a group whose only partisanship has ever been to the american consumers.





SMF creation tool

OpenSoalris (and Solaris 10) have a brand new XMl based way of describing system services. Its a lot more powerful then the old Unix start script system but building the descriptive file (called an SMF) is a bit daunting.

But someone has come up with an answer. This tool builds simple SMFs for you.

Very handy.

Wednesday, August 12, 2009

Eclipse 3.5 and Flex Builder

Well, today was shot to hell wrestling with Eclipse, Maven and Flex Builder.

Have I mentioned how much i dislike build configuration?

Anyway, I managed to at least get Eclipse and Flex Builder 3 working. It turns out that thats easier then it looks. Here are the steps I used:

(1) Download and install Eclipse 3.5. I used the J2EE install.
(2) Download and run the Flex Builder 3 installer.
(3) Ignore all the warnings that it only supports Eclipse 3.3 and 3.4. Just keep telling it that you know what you are doing and want to install it anyway. It will end with a scary message about failing and suggest you do a manual install from inside of eclipse. Don't do that!
(4) Here is the magic, when it is done there will be a file in your eclipse/links directory called
com.adobe.flexbuilder.feature.core.link
Open that file in wordpad and you will see it contains one line:

C:/Program Files/Adobe/Flex Builder 3 Plug-in

Edit that line so it looks like this:

path=C:/Program Files/Adobe/Flex Builder 3 Plug-in

Save the file and start eclipse. Voilla!

Sunday, August 9, 2009

Updated Script Sandbox

The one fixes a minor bug and adds support for code from Readers and support for compiled scripts:

import groovy.util.GroovyScriptEngine;

import java.io.Reader;
import java.io.StringReader;
import java.security.AccessControlContext;
import java.security.AccessController;
import java.security.CodeSource;
import java.security.Permission;
import java.security.Permissions;
import java.security.PrivilegedAction;
import java.security.ProtectionDomain;
import java.security.cert.Certificate;
import java.util.Collection;

import javax.script.Compilable;
import javax.script.CompiledScript;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class ScriptSandbox {
    ScriptEngine _scriptEngine;
    AccessControlContext _accessControlContext;
   
    public ScriptSandbox(String engineShortName) throws InstantiationException{
         ScriptEngineManager sem = new ScriptEngineManager();
         _scriptEngine = sem.getEngineByName(engineShortName);
         if (_scriptEngine==null){
             throw new InstantiationException("Could not load script engine: "+
                     engineShortName);
         }
         setPermissions(null);
    }
   
    public boolean isCompilable(){
        return _scriptEngine instanceof Compilable;
    }
   
    public void setPermissions(Collection<Permission> permissionCollection){
        Permissions perms = new Permissions();
        perms.add(new RuntimePermission("accessDeclaredMembers"));
        if (permissionCollection!=null){
            for (Permission p : permissionCollection){
                perms.add(p);
            }
        }
        // Cast to Certificate[] required because of ambiguity:
         ProtectionDomain domain = new ProtectionDomain(
                 new CodeSource( null, (Certificate[]) null ), perms );
         _accessControlContext = new AccessControlContext(
                 new ProtectionDomain[] { domain } );
    }
   
    public Object eval(String code){
        return eval(new StringReader(code));
    }
   
    public Object eval(final Reader rdr){
        return AccessController.doPrivileged(new PrivilegedAction(){
            @Override
            public Object run() {
                try {
                    return _scriptEngine.eval(rdr);
                } catch (ScriptException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return null;
            }}, _accessControlContext);
    }
   
    public CompiledScript compile(String str) throws ScriptException{
        return ((Compilable)_scriptEngine).compile(str);
    }
   
    public CompiledScript compile(Reader rdr) throws ScriptException{
        return ((Compilable)_scriptEngine).compile(rdr);
    }
   
    public Object execute(final CompiledScript script){
        return AccessController.doPrivileged(new PrivilegedAction(){
            @Override
            public Object run() {
                try {
                    return script.eval();
                } catch (ScriptException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return null;
            }}, _accessControlContext);
    } 
}


Friday, August 7, 2009

Java Scripting API Sandbox

Well, I am adding generic scripting to my DarkMMO client. 

The server passes the name of the scripting language being used and then the script code.  The client finds the script engine and then executes the code using the Java Scripting API that is built into JDK 6.

This was all pretty straight forward and easy, however if I let the client execute any code the server sent it coudl be a BIG security hole.  Therefor I decided to try to sandbox the code.  It has been a frustrating few days but I posted a request for help to users@scripting.dev.java.net and got back a very useful link froma helpful soul there.

From that I was able to figure out how to do it, so here is the result. A generic Java Scripting Sandbox!  (Code below)  This sandbox is intiialized with the name of the scripting engine you want to use and then can be set to run any code you pass it with any permission set you chose,. In fact, the permission set can be changed on the fly by the main program.

In order for this to work, you need to have a security manager enabled.  I do this in DarkMMO with the VM argument -Djava.security.manager

Once you enable the security manager you have to give the code of the program and libraries it depends on permissions or it wont work.  I do that with a security.policy file that grants all permissions to the app like so:

grant {
    permission java.security.AllPermission;
};

Finally, I tell the VM to use that security.policy file with this VM argument:
-Djava.security.policy=security.policy
  

With that in place, the following class runs scripts in a sandbox.  All it handles is eval(String) because that's the only kind of script I need to handle, but its extension to the other kinds of evals aught to be intuitively obvious.

import java.security.AccessControlContext;
import java.security.AccessController;
import java.security.CodeSource;
import java.security.Permission;
import java.security.Permissions;
import java.security.PrivilegedAction;
import java.security.ProtectionDomain;
import java.security.cert.Certificate;
import java.util.Collection;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class ScriptSandbox {
    ScriptEngine _scriptEngine;
    AccessControlContext _accessControlContext;
   
    public ScriptSandbox(String engineShortName) throws InstantiationException{
         ScriptEngineManager sem = new ScriptEngineManager();
         _scriptEngine = sem.getEngineByName("groovy");
         if (_scriptEngine==null){
             throw new InstantiationException("Could not load script engine: "+
                     engineShortName);
         }
         setPermissions(null);
    }
   
    public void setPermissions(Collection permissionCollection){
        Permissions perms = new Permissions();
        perms.add(new RuntimePermission("accessDeclaredMembers"));
        if (permissionCollection!=null){
            for (Permission p : permissionCollection){
                perms.add(p);
            }
        }
        // Cast to Certificate[] required because of ambiguity:
         ProtectionDomain domain = new ProtectionDomain(
                 new CodeSource( null, (Certificate[]) null ), perms );
         _accessControlContext = new AccessControlContext(
                 new ProtectionDomain[] { domain } );
    }
   
    public Object eval(final String code){
        return AccessController.doPrivileged(new PrivilegedAction(){
            @Override
            public Object run() {
                try {
                    return _scriptEngine.eval(code);
                } catch (ScriptException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return null;
            }}, _accessControlContext);
    }  
}


Tuesday, August 4, 2009

Well thats the game industry

I've spent a long time in the game industry, about 15 of my total 25 years as a professional software engineer. And one thing you get used to in this industry is instability. The average job in this business lasts 2.5 years. Seldom less then 2, seldom more then 3.

As you might have noticed, CampFU is down. Sadly, the economy has forced us to shut the doors on the Camp and I have moved to my next position.

The good news is, its a VERY exciting one at a really amazing game company. The company is Blue Fang Games in Waltham, MA. Founded by ex-papyrus people, Blue Fang has made a name for themselves in the animal games space with their hits Zoo Tycoon and Zoo Tycoon II. World of Zoo, the companies first WII product is going to be launched soon and is really, really neat. It takes the animal game experience to a very close and personal level that I think will be a big winner with both kids and adults.

I have joined Blue Fang as BFG's first Chief Online Technical Officer. I can't tell you what I'm working on yet except to say that its going to be Blue Fang's foray into the exciting world of online games.

So this monkey is in a new monkey house. Stay tuned for more information!

Thursday, June 18, 2009

Tuesday, June 16, 2009

Repeating Mistakes

Just a short note... a  number of people have asked me what I think of JavaFX.

First off, I think its both ironic and depressing that Sun made the *same* giant mistake Adobe did.  Its a mistake no one who actually understands graphics should ever make.  Quite simply, both Flash and JavaFX are vector renderers that work in pixel coordinates.  

Bzzzt.  Wrong.  A hint for anyone ELSE entering this space, google "normalized coordinate systems."  I don't know if Silverlight makes this mistake as well or not as I haven't played with it.  But in a world of cheap floating point, this is a no brainer.  (Frankly you can adequately do normalized coordinates in the kinds of resolution we're talking about with fixed-point math if you had to.)

Secondly, I find the JavaFX project itself, astounding , ironic, and maybe a perfect proof of the concept behind the old IBM joke that "when a project is behind, IBM throws man power at it and makes it more behind."  More manpower, beyond a fairly low max, does nothing for a  project but bloat it.  I have it on report from friends inside Sun that, at the time Sun was bought by Oracle, Sun had 400 people one way or another working on JavaFX.  For all that man-power, I'd argue that JavaFX has attained no more "buzz" or penetration then my own alma-mater, Project Darkstar, which, at the largest size its ever been, has maybe 8 full-time people on it.  Project Darkstar also delivered usable results significantly sooner.

Finally, I find it as bit sad and maddening.  Chris M. and I tried really hard to get Java established on the client 4 or 5 years ago.  That's plain old Java.  We made inroads into the game industry that can still be felt today in projects inside of companies such as Electronic Arts as well as a whole host of little developers.  One of those developers created a game (TribalTrouble) that was a headliner on Apple's games website for over a year.  We did all that with, at most, a team of 4 engineers.  And we had that team for only a year.  Chris and i almost broke the back of the whole process three times with deals in place with Sony to get Java onto the Playstation, and Sun corporate managed to kill each one.
 
In the end, Project Darkstar was born as much by our realization that we would *never* get Sun to understand client computing, and thus had to get them into games on the server side,  as anything else. But with 10% of the manpower Sun has put into JavaFX and a tiny amount of the support, we could've changed the world in ways I am willing to lay money that JavaFX never will.

The one GOOD thing to come from JavaFX in my mind is the "kernel VM."  This is a technology we asked for 5 years ago and was told "couldn't be done."  HAD it been done, we'd probably all still be talking about "applets." Now that the ground has been lost to Flash, however, it may well be too little too late.






Telling Stories

I've been thinking a  lot lately about something I heard Terry Pratchett (author the Discowrld series and other novels) say in an interview.

"What are we as humans? Chimpanzees with an amazing gift for telling ourselves stories."

This really struck a chord with me, and I definitely think he is on to something.  The fact that we tell ourselves and each other stories for amusement needs little explaination.  But the more I thought about this, the more I realized how many other facets of our nature relate to story telling.  Story-telling has incredible power.

One of the producer's of NOVA described his program once as "the story of science." Certainly, history is the telling of stories, be that military history, scientific history or religious history.

More then that, Science itself is a form of story telling.  It is the story of "what exists".  When a scientist proposes a theory, that theory is a story about the world.  The rest of science is testing that story to see if it matches well with what we can perceive in the world.

Religion too, is a story.  A good net-friend of mine who also happens to be an Epsicopal priest once told me he sees religion as "the story of why".  The meaning of what is in the world.  

The stories of science and religion have had huge impacts on how we  live but they arent the only stories we tell ourselves.   If science is the "stories of what" and religion "the stories of why" then history is "the stories of who."  Who we understand ourselves to be is a result of the stories we tell ourselves, and those stories in turn become the basis for almost everything else we do.

The process of invention is also the process of story telling. Its the story of 'what if.'  A man once imagined what might happen if a wire with an electric charge through it were palced in a near-vaccum.  The result was the first practical electric lightbulb.

You will note that when i use the term 'story' in this way, it is not pajorative and non-judgmental.  I am not drawing a distinction between the "real" and "imaginary."  That's because often one man's fact IS another man's fiction.  What we decide to tell ourselves is fact and what we decide to tell ourselves is fiction is ITSELF just another story.  It is an arbitrary decision we make for ourselves and only has value in that it separates the stories we do apply to understanding ourselves and the world from the ones we don't.

We organize our lives and what we do about them with the stories we tell ourselves.  In that sense ALL stories are 'fact.'  They are all powerful and can change the world for better or worse.  In that sense all stories are equally "real."  By the same token, all the stories we tell ourselves come from our ability to imagine.  The world does not contain stories, just events.  Stories are what we make of those events using our imagination.  In that sense, all stories are equally imaginary.

But what is undeniable, to my mind, is how they permeate every facet of what we understand to be our existence as human beings.





Thursday, June 11, 2009

if I never hear the word "Theme" again.....

Okay,
Its time for a patented jeff-rant, and this time its about the idea of "themes" in literature.

As the son of authors, let me tell you something. NO good writer has EVER started a project by saying "hmm, what themes am I going to explore in this work."

Good writers think about character first, and story second.  Trust me, Steven King never asked himself, "what theme should I invoke now."  But he asks hismelf all the time "what would scare the crap out of them now" or even more often "what would this character do in this situation."

Some writers do write with a statement in mind.  Sometimes its to make a point, though more often its to attempt to get the reader to think about the issues and come to their own conclusions.  Kurt Vonnegut (who never considered himself a sciecne fiction writer) comes to mind, as do many of the "golden age" science fiction writers.  But none of them I gaurnatee you ever thought about a "theme."

The idea of "themes" will not be found in any book on writing written by actual writers.  However you find it all over academic literary criticism.  This is where your contemporary lit teacher in high school got it from.  And, in film school, we had a hirearchy: "Those who can't do, teach.  Those who can't teach, critique.  And those who can't critique, review."

Unfortunately we now have a whole generation of grownups who believed their conteporary lit teacher that writing fiction was  all about "themes."  And thus we have a crop of adults who somehow think that talking about the "themes" in liertature makes them seem smarter.  Some of them even believe that because they can play "identify the theme" they could be writers.

But I got news.  Its just like film criticism.  And being able to play "find the phallic symbol" in movies never made anyone a film maker.  "Themes" are the phallic symbols of literature, in more ways than one.





Thursday, May 28, 2009

Sometimes an artist makes you see something new in something old

I'm not either an American Idol fan or much of a  morning TV viewer, but when I'm working in NYC I sometimes flip on the TV in the AM to wake up to.

The other day i happened to catch this broadcast...

http://www.dailymotion.com/video/x9etuq_adam3-reg_music


I never thought of the song "Mad World" as a queer anthem before.  But I think I will after this.

Wednesday, May 27, 2009

Getting smart about licensed game content

I've been thinking a lot about the issues a game company faces using someone elses licensed IP since seeing the new Star Trek.

I really feel for the guys at Cryptic as I think they've gotten nothing but screwed by licenseors.  First Marvel pulled the Marvel Heroes license out from under them half-way through the development of that game.  Now JJ Abrahms and Paramount have labeled everything that came before the new Star Trek movie as "Your father's Star Trek."

IMO the new Star Trek is very successful in rebooting the franchise.  This bodes very well for the future of the franchise from Paramount's point of view.  On the other hand it pretty much invalidates the entire history of the series to date... including all of Next Generation, which is the license Cryptic holds.

Given how much time it takes to develop a major game, I think we need to start writing tougher licensee protections into IP license contracts in this industry.  I think there should be serious and significant penalties for canceling a contract for anything but the very best of reasons.  I also think the licensor should be liable for actions they take that damage the valuse of the license between the time of contract signing and the first few years after release of the game.

Baring that, I think we need to think long and hard whether it really makes sense to license any IP at all in our business.  As is its a major source of uncontrolled risk in the development process-- a process that is mostly about risk management.

Saturday, May 23, 2009

The Terminator War

For my birthday we went out and saw the matinee show of Terminator Salvation (aka Terminator 4.) Its an interesting if maybe flawed film.

The good points. Its a war movie, and that's really what I wanted from this movie. I've been waiting since the teases Cameron gave us in the original Terminator. The movie absolutely sells the post-apocalyptic blasted and machine dominated landscape I at least always imagined from the brief, dark flashes we were shown.

This was Stan Winston's last movie and its a fine send-off for the master of full-size mechanical effects. The film mixes full size props, model work and CG so successfully that I was rarely aware of what technique was in use when.

Unfortunately, the movie is also deeply flawed. John Connor is supposed to be our hero , but in this movie he is practically a supporting character. Although we see his competance and command ability we never really get to know him, and as such, find it difficult to really care about him.

The plot also has a few "dumb" moments. I don't want to give any spoilers, but suffice it to say for a group wearing rags in a world where anti-biotics are rare and valuable, their medivac capabilites when called upon are truely amazing.

They also felt a need to work BOTH tag-lines from previous terminator movies in. The first one is acceptable, but the second when it comes up feels really forced and obvious. It was also Arnold's tag line, and in Christian Bale's mouth it sounds pretty silly.

Another silliness is that at one point John Connor rides a machine that has no business being human-rideable at all. It isnt even particularly important to the story and IMO should have been left on the editing room floor.

On the SkyNet end, there are also some oddities in technology. Without spoiling anything its hard to go into more details, but after you see the movie just consider what it turns out SkyNet has constructed in the context of where it supposedly is in the advancement of terminator technology. To my mind they don't exactly line up.

All in all I'm not disappointed in this film. It did what I wanted, which was really introduce the machine-war in a gripping and visually stunning manner. It also hints at what may be the machine's fatal flaw. It's never stated, but I would argue that the machines' have a problem-- they are built to purpose. In many cases in this film machines under the control of SkyNet *could* have killed Connor. But thats not what those particular machines were built to do. Machines don't go "off mission". They do exactly and only what they are designed and programmed to do. I can see that as eventually being the flaw that brings SkyNet down. But if that was the intent, the script could have made that clearer.

All in all, this was an intersting and enjoyable film, but it really could have used a good science fiction screen writer to tighten it up and remove the "goofy parts."

The ninth wonder of the world

Well, tonight I saw something I thought I'd never see... A Michael Bay film that actually works.

Michael Bay has an amazing penchant for goofy, over-blown pyrotechnic militaristic spectacles. His first outing, Independence Day. was a god awful mess. So badly written plotted and xenophobic/jingoistic that it led to quite a few internet lists of "what I learned from independence day."

The sad fact of the matter is Michael Bay has all the sensibilities and moral depth of a 13 year old comic book junkie. Its said though that true art is accomplished when an artist meets the limitations of the medium and uses them to their best advantage. I just finally saw the Transformers movie and it is a perfect 13 year old fantasy. Michael Bay met and used his own limitations in this film and, wonders of wonders, it works.

This is not a deep movie. In fact its a goofy, over-blown pyrotechnic militaristic spectacle. But its eaxctly what every kid imagined while playing with his Transformers and watching it unfold on screen is surprisingly fun, even for an adult.

Saturday, May 16, 2009

Dying on demand

Its hard to do anything in this country of value that puts any group with money in a less then favorable position.  As such it was just a matter of time til the insurance industry and their cronies started trying to scare people away from getting better health-care.

Last time around the lie was "god forbid we might end up like Canada..."  Yes, god forbid we MIGHT end up like Canada.  I've traveled to Canada a lot on business and have taken it on myself over the years to do my own survey.  And you know what? From cab drivers to business executives, I have yet to meet a *single* Canadian who is unhappy with their health care system.  Compare that with the number of Americans who are really happy with their insurance provider.  We could do worse then to end up like Canada.

It turns out that the only people who don't like the Canadian health system... are the American health insurance companies.  Well, now, there's a surprise, huh?

Unfortunately for the insurance companies this time around, Canada is in SO much better economic shape then we are right now that, when the Comparison is drawn, even the dumbest American has to wonder if being Canadian is really all that bad.  SO their new target is England and the brittish National Health Service.

I listen to the brittish equivalent of NPR's "wait wait don't tell me", they call it the "News Quiz."   The britts are rather incensed at our attacks of their helath care system and have some both funny and pointed things to say.  More or less they all come down to this:

"Well its true, with the NHS you have to wait for treatment somtimes, where as in the American system you can die any time you want."

That about sums it up.



Monday, May 11, 2009

Not Your Father's Star Trek: A Movie Review

Shelley and I went to see the new Star Trek movie on mother's day.

The tag line for this movie is "this is not your father's Star Trek" and this is more true then you might expect.  Without giving away spoilers let me just say that this movie truly reboots the entire series and lets it start all over again while still making sense within the franchise history.

Probably being the age of "your Dad" that they talk about, as a Star Trek fan since TOS, let me say that I still loved this move.  JJ Abrahms walks the line brilliantly between keeping all that your dad loves about star trek alive while updating the series in very smart ways.  

The action feels "modern" in a quick-cut 21st century style while still also feeling very "trekish".  The new actors by and large do a good job of catching the soul of the original performers' performance of these charcters, while exploring their youth in a way we've never been privledged to see before.  Shelley and I agreed that the strongest of these was the new McCoy who really seemed to channel DeForest Kelley in his performance. 

We disagreed  on the weakest.  The new Checkov looks nothing like Davy Jones, who Walter Koenig was originally cast to look like.  Shelley found that distracting.  For me, there was something about the new actor that plays a young Scotty that didn't quite click for me.  I guess he sort of has the air of a "slacker" in this film, which just didnt fit the tireless engineer I remember so fondly from TOS.

The science was also a bit hand-wavvy for Star Trek.  A magical new kind of matter and travel through black holes feature heavily in the plot.  Someone will probably try to claim that there are time-travel paradoxes in the plot as well, but as we already know the Star trek universe contains multiple parallel realities (eg the episopde "Mirror Mirror") these are pretty easily explained away.

Quibbles aside though, this movie was tremendous fun and bodes will for the future of the franchise.

Friday, May 1, 2009

Why people who run factories shouldn't run software companies

Well, I'm having an interesting debate over on linked in with a guy who has this idea that you can treat software employees as replaceable parts in a production machine.

His logic is that there is always someone else to hire if the employee quits. Many of the greatest minds of the 19thc. would probably agree with his logic.

The problem, ofcourse is that this IS'NT the 19thC. and we arent making Ford automobiles.

His delusion comes from the misunderstanding that he is paying people to spend man-hours producing lines of code. This idea was debunked back in 1975 by the classic book The Mythical Man Month. One of the best known anlogies from that book explains that if one woman can produce one baby in 9 months, it does NOT necessarily follow that 9 women can produce one baby in 1 month.

This is the fallacy of looking at the product of the software process as lines of code. Its not. The product of the software process is problem solving. The code that implements the solution is just the most visible artifact of that process. A far more important part of the process is the thinking that went into the solution. This is what can generate improvements and off-shoots from the original problem and keep you moving forward rather then constantly re-tracing your own steps.

And that lives squarely between the ears of your developer.

The smartest engineering manager I ever knew once said to me, "your most important assets walk out the door every night. You want to make sure they walk back in the next morning."

That means you had better treat them like valued individuals, not cogs in a machine. And if you don't do that, they will find someone else who will.

I did do a bit of research and discovered that my antagonist in this debate runs a two man shop, and thus doesnt actually have any employees. In my mind, thats a good thing for everyone concerned.

Thursday, April 30, 2009

The Tao of Bugs Bunny

Well, so now we have a fun little flu bug for the media to hawk like its the coming of the anti-christ.

Its a times like this I remember the words of Bugs Bunny:
"When you are nervous or in doubt,
Run in panic Scream and Shout!"

People, just because the media knows scaring you to death sells ad space does NOT mean its anything to panic about. A few statistics to consider:

The number of deaths by Swine Flu this month: One.
The average number of auto fatalities a month in 2008: 3109

So, were you to get in your car once a month and drive to the doctor to be checked for Swine flu, you would be about 3,000 times more likely to die getting there then to die of the disease.

Should you be taking reasonable sanitary precautions? Sure, you should *always* be taking reasonable sanitary precautions. After you play with your pets, wash your hands. Its never a bad idea. Covering your mouth, if you can, when you cough is always nice to others.
But realize we live in a bacterial stew everyday of our lives, and all evidence indicates that a certain amount of germ exposure is good for us.

So if someone suddenly sneezes on you, or doesnt have a chance to cover their mouth when they cough, before you go off on them, consider the effect that your haranguing them now may have on their concentration in the parking lot- where they are doing something that CAN kill you. Driving their car.

And remember. Something isn't magically more dangerous just because you heard about it 5 times on the news today. One case is still just one case, no matter how many times the media tells you about it.

Thursday, April 23, 2009

Green Capitalism and other Oxymorons

So, its time to shout about naked emperors again.

This time, my target is so called "green capitalism."

Green capitalism is, at its heart, an oxymoron.  Capitalism is predicated on consumption.  The more resources we consume and turn into goods, the higher our GNP and the more wealthy our system says we are.

The whole system is geared in fact to drive towards greater and greater consumption of goods.  Take, for instance, a dining set.  In my grandparents time that was something they saved half a lifetime for and handed down to the next three generations.  In our time, every married couple wants to buy at LEAST one of their own.  And they can because competition has driven price down to where they can do that.

Unfortunately, decreased prices leave the maker of that dining room set in an awkward position.  Some goods are by their nature consumable, such as food.  In order to produce dining sets that cost less, the producer must sell more of them over his life time in order to be able to continue to buy food for his family.  The market for non-consumables is constrained to the number of customers there are. This inevitably drives that dining set towards "consumable" status, because that is the only way to sell enough of them to pay for all the consumables the producer must purcahse to live.  (A related effect also drives the quality down since each dinign set must be produced more cheaply to produce a profit.   This further adds to the consumable nature of the product.)

In the end, Capitalism drives more and more resources to be used up faster and faster. This is inevitable.  Moving to so called "renewable resources" where possible reduces the impact some what but it will never be possible to have a capitalist economy based 100% on renewable resources.

The only way out of the viciuous cycle is to stop consuming things that can be non-consumables.  And the only way to stop that consumption is to stop having to pay for consumables in our lives.  And that leads to a totally different economic model.  One where real needs are met directly by society, not through an artificial mechanism of stored purchasing power.

Another one bites the dust....

As I assume most of you have heard, it looks like Oracle is buying Sun.  This leaves one wondering what is going to happen to various Sun projects.  I have some pretty strong suspicions about what will happen to Netbeans, at least.  To quote Oracle's web page...

"Eclipse is one of several open source communities (Apache, PHP, and Glassfish are other examples) in which Oracle invests significant development resources. A Strategic Developer and Board Member of the Eclipse Foundation, Oracle is a leading participant in the Eclipse Web Tools Platform and Technology projects."

Ofcourse, they wouldn't have fared any better being bought by IBM so I suppose the NB guys must've felt the axe falling for a bit.  While they have my sympathies, I actually think this is the right thing to do.  Sun held onto the NB flag for way too long after it was clear it was an also ran.  If I were Larry I'd take the two really outstanding parts of NB-- Matisse and the Profiler, and re-tool them as Eclispe plugins.  In the long run they could be huge successes that way, more so then when they were part of Netbeans.

Saturday, April 18, 2009

Why we buy

Sellers don't exist without a market to sell to.

While I've never met an MMO player who didn't profess feelings for gold farmers that fell somewhere between disdain and violent hatred. The fact of the matter however is that gold farmers and character levelers are fulfilling a market need. If the customers weren't there, they'd find some other way to make money.

So the fact of the matter is that "normal" players, despite their avowed hatred of these members of the community, are patronizing them and doing so in great enough numbers to support a fair sized market with quite a number of sellers.

Why do the players do this? I'd argue its our fault as game developers. In order to succeed in our games we require that our players pay in pain. Everyone knows the term "the grind" but how many have stopped to really think about how negative a term that is. The fact of the matter is that the players gave tht name to MMO "gameplay" and its NOT a compliment.

The discomfort is severe enough that at least one player decided it was less uncomfortable to have sex with a stranger then spend the time grinding.

The question i have is, WHY do we put our players through such misery? If we wanted to be honest Id say it was two reasons:

(1) Laziness on our part. Repetitive boring gameplay is *easy* to implement.

(2) Fear of users consuming our content too fast. We want to streatch out their time on line because they pay us by the month, so we make them do these repttitive boring things to make it take longer for that inevitable end-game to happen.

Neither of these are good reasons IMHO. Someone at the IMGDC conference which I have been attending this weekend made the excellent point that noone buys gold from gold farmers in order to get basic quipment. Its always the VERY expensive carrot we hang out there, be it mount or whatever, that drives the players to conclude that they'd rather pay a gold farmer then do it our way.

Clearly, these mechanics are un-fun. Otherwise noone would be paying someone else to do it for them. So who is responsbile ultimately for the prevalence of gold farmers?

We are, when we design un-fun games. Lets fix the problem where it really lies.

Thursday, April 16, 2009

High in the Clouds

Anyone who knows me knows that I instinctively want to attack and tear down over-hyped nonsense. In the past this has included such things as Second Life.

More and more I am running into "cloud computing" as the latest meaningless buzzword.

Well its not really meaningless if you think about it. What after all is a cloud?

A cloud is a body of vapor, made up predominantly of empty air. To create a cloud you need a lot of hot air. So "cloud computing" is actually pretty descriptive of what really exists. Mostly vapor and hot air.

The latest guys to jump on the cloud computing buzz-word and try to ride it like a senior on prom-night are "OnLive." They claim to be able to move your game to the cloud and then (to quote their web site) "instantly sending your controller actions upstream and the results back downstream" over the "broadband internet."

Well, to begin with, as Prof Waldo likes to point out, a guy named Einstein proved quite awhile ago that instantaneous communication over distance is impossible. Even giving them a bit of lee-way on the word "instantaneous" this reeks of someone who has never had to do ANY internet game design. Latencies are an unavoidable reality on the internet. The nature of the beast. Unless they have invented time-travel technology, they are in the same boat as everyone else there.

So until they show me this magical latency disappearing act working reliably in the uncontrolled field, I'm going to count that as one part vapor and two parts hot air. And without that, this whole concept fails. If you've ever played a game that experienced "lag", imagine experiencing that all the time, unpredictably, on every keystroke.

Even if they could make this proposition work, one has to ask "why would you want to?" What they propsoe to do is to take the computing that today is being done on computers we game developers and operaters get for free -- the end user's machines -- and move it all to server horsepower we would have to pay for. Ontop of that they then saddle us with vastly increased bandwidth demands we ALSO have to pay for.

The future of online gaming is clearly the OTHER direction. Figuring out how to use MORE of the free massive parallel network we call our users, not less. There is some interesting research being done right now in Universities in Germany, Scottland and Taiwan exploring how to build that network and utilize it in a way that is reliable and that cannot
be influenced by the owners of the machines. I think practical applications of this work are probably still 5 to 10 years away, but that is clearly the right direction.

In the end, there really is only one possible environment where Onlive's technology can make sense, IF they can get it to work at all. Thats in the hands of the cable providers. They have to pay for the boxes they put on top of your TV, and they ship a lot of them, so they want them as thin and cheap as possible. They also own the bandwidth. So driving bandwidth usage is actually good for them. But thats the only market I can see where the economics *might* make sense. Interestingly enough, since they control the pipes, thats also the only market where they could actually control the latencies of communication to some degree. Instantaneous isnt possible but if they were willing to prioritize the game traffic over all other traffic inside of their closed network, and invest some hefty hardware resources to it, they could probably bring it down to an acceptable level.

But right now, OnLive is a heated mass of vapor. Time will tell if they can manage to be anything more.

My next target in "Cloud Computing" will be our practical experiences with EC2. Watch for it!


Wednesday, March 25, 2009

"Cause thats where they keep the computers...."

Famous Bank Robber Willy Sutton said he robbed banks because, "thats where they keep the money."

Willy, the modern world would have confused the hell out of you.  Frankly, it confuses me.

I like using half-dollars for coin magic.  Their size makes them both seemingly harder to hide while at the same time actually easier to manipulate.  When I was a kid I used to get rolls of them at the Bank.

I have a show coming up in a few weeks and I need to start practicing.  I went to 3 different banks, all of who gave me nothing but dumb looks when I asked for a roll of half-dollar coins.

I don't get it.  The government is still minting them, where are they going?  Aren't the banks supposed to be the oens who distribute currency?

I guess these days tha banks aren't where they keep the money, but just where they keep computer records.  In the end, I had to order them directly from the US Mint and pay $1.25 a peice by the time I added in rush postage.

Its a very weird world I find myself in.

Monday, March 16, 2009

Redefining Virtual Environment

Yesterday I gave the keynote at the Massively Multiuser Virtual Environments Workshop at the IEEE VR conference.  My address ended with the following quote and contention:

Jeff Kesselman's Theorem
A MUD universe is all about psychology. After all, there IS no physicality. It's all psych and group dynamics.


Now I'd never be quite so obviously egotistical as to name that myself.  I was gifted with the title "Jeff Kesselman's Theorem" by Raph Koster about 12 years ago when I posted that statement to the MUD-Dev mail list.

Little did I realize I'd come to revisit it a dozen years later.  But in that intervening time, phenomena like Facebook have proved me right.  Facebook is a virtual world as real to its participants as any 3D rendered space.  It has its own rules and culture and, most importantly, it has an intricate web of human interrelationships.

Because that is what makes a world.  Not hills or trees or any of the things we render so well today, but people and relationships.   In many ways, the start of the shift of our way of life from 'real worlds' to 'virtual worlds' was probably the telephone.  Psychologists tell us that this is what teenagers spending long horus on the phone were doing, creating and dwelling in their own little virtual world of close inter-relationships.  If you have someone you call regularly to "stay in touch", thats what your doing, maintaining their presance in your world and you in theirs.

But if rendered mountains and 3D animated avatars arent really  the core of a virtual world, then what is?  What is the fundemental component  that makes a virtual world possible?  I believe its identity.  A continuos identity allows us to recognize each other and form beliefs and opinions about each other over time.  Without that, there could be no relationships. An unusually large percentage of the human brain seems dedicated to recognizing faces.  This reinforces how important identity is in our daily lives.

Some Japanese believe that there are many "you"s.  There is the you that you perceive yourself, plus the individual unique version of you that exists in the mind and perceptions of every person who knows you.  A deep and thought provoking idea that once again speaks to how closely identity and relationship are tied together.

At CampFU we have no 3D rendered environment.  But we have a continuous sense of identity.  Your personally designed avatar is what others see on the site and in every game you played with them. As we roll out all the features, will also have a sense of presence.  You will know when your friends are "around" on the site and have some idea of what they are up to.

And that makes CampFu a virtual world as real as WOW.



Saturday, February 28, 2009

Virtual summer is here

Well,

CampFU opened its doors to campers this weekend. As in any new online system like this there were a few creeks and groans under the sudden load of real, uncontrolled users.

In particular, the automatch system that finds others for you to play with is straining and needs some tweaks. I want to assure all our new campers however that the rebel monkeys are hard at work this weekend on this and other improvements and you should see rapid evolution of CampFU into a smooth and seamless experience over the next few weeks.

We have a whole lot of additional features planned for the site once the basics are running smoothly, including various ways to form on going teams and social connections. This is all being supported by The Monkey Wrench, our real-time collaborative social-gaming web platform. Down the road you can expect other, different sorts of virtual environments to join the Monkey Wrench family of online experiences.

So come on down and check it out. And if you happen to play with someone names C_T_Orangutan, be kind 'cause thats me!


Tuesday, February 24, 2009

Another one bites the dust

Well, a once promising MMO is going down in flames. All though the arm-chair pundits are all repeating the common-wisdom. We all know that common wisdom is neither.

Its the usual death-watch chatter. "Nothing can beat [fill in current market favorite here]!" We all know from history that's false. If it weren't, we'd be playing Ultima Online right now. "It shipped too early!", well, that certainly doomed Everquest, or a whole host of other MMOs that went out buggy and incomplete and went on to be major market successes.

That one annoys me particularly because I think it shifts blame from the true culprits for AoC's demise. Yes, there were serious technical issues but thats never stopped an MMO from being successful before. Hardcore MMO players will put up with a lot IF they feel they are being included in the process of fixing the issues. Complaints about incomplete content also fail to acknowledge that the content that WAS included at launch was unique and compelling in a way no other MMO (including the much vaunted WOW) has managed to hit. Since then AoC has filled out the gaps in content that did exist.

The game and quest designers did a brilliant job and deserve recognition for that. The artists did an amazing job and also deserve proper recognition. And the programmers... well, they did no worse then on most games these days, especailly early stage MMOs.

The blame for the crash and burn of AoC *must* fall squarely on the shoulders of Funcom management and their total mishandling of their game's community. To begin with, the game shipped with infuriatingly inadequate customer support. You placed a ticket in the queue, and then about 6 hours after you had gone offline, they'd send you a note saying that they couldn't help you because you weren't online any more and wipe out your ticket. This is a true "customer disservice" system, one seemingly designed to take upset customers and make them more so.

To compound the problem, they outright dissed the PvE RP community, refusing to even answer questions as to why they wouldn't give them basic courtesies, like marking one PvE server an RP server, and instead fawned over and catered to the tiny hardcore PvP minority. After being ignored for the better part of the year and by two successive producers, many of the RP PVE people like myself came to the conclusion we weren't wanted and left.

It wasn't long before AoC gained the reputation of a "PVP gank-fest" discouraging further players from even trying it.

No, the blame for this business failure, as is almost always the case, falls squarely on the shoulders of management. In the end AoC was the Commodore Amiga of MMOs. Those of us old enough to remember can think back to when Commodore bought Amiga. They gained what was a brilliant, decade ahead of its time art machine. And they tried to sell it as a business computer for 4 years and ultimately failed. AoC is a brilliant exploration/questing game. But their management decided to sell it as just another ganker-PvP game. And thus, it failed.

If there are lessons to be learned here they are not "don't try to beat WoW" but "take care of your customers and they will take care of you." Its also not to get distracted by the clamoring of a minority, however vocal. Especially one who, by their very nature, chase others *away* from your product. Instead focus on your core strengths and serve the largest group you can find that they address.




Thursday, February 19, 2009

Deduction or Induction? A classic nerd debate

I've been working on my own game system, MUTT.  MUTT has a detective skill that I call "induction."  This is because I firmly believe that Sir Arthur Conan Doyle used the wrong word when describing Sherlock Holmes.

A good nerd-friend challenged me on this somewhat classic debate: whether Holmes induces or deduces his answers.  Below is the argument my discussion with him produced.

The word "deduction" has a variety of meanings, as anyone can find if they go to the dictionary.   Debating such meanings relative correctness would be pedantic and pointless.  However Sherlock Holmes is often held up as an example of deductive reasoning in a formal sense. IF we limit our discussion to that issue: does Holmes formally deduce his results, I think the answer has to be no.

I would suggest in fiormal terms a typical Holmes argument takes the following form:

(1) If P then Q
(2) If P then S
(3) If P then T

Q S and T are all true, there for the only reasonable conclusion is P.

He is certainly not alone in this reasoning. This is classic court-room stuff and even has a legal term-- "the preponderance of evidence." But is it, formally, deduction? By deductive reasoning it is clearly fallacious. Just because P is *an* explanation for Q S and T does not make it automatically the *right* explanation for Q S and T. In fact, there is no logical requirement that Q,S and T have the same cause at all, just so long as there are no other predicate statements that say the disparate causes cannot logically co-exist.

Holmes himself in fact shows us this when he describes his own methodology-- "when you have eliminated the impossible, whatever remains, however improbable, must be the truth." [4] In order for this claim to be logically true, it presupposes the omniscience to know all possibilities and impossibilities. What Holmes really means is "When I have eliminated every other possibility I can think of, the one left must be true." Which fits with his ego, but is hardly a logical conclusion.

SO either Holmes does a very bad job of formal deductive reasoning, or in fact engages in educated guesswork from specific bits of evidence leading to a theory of the whole cause, which would be reasoning by induction. I chose to believe the latter.


So what do YOU think?  Comments are open.



Thursday, February 5, 2009

CampFu is coming!

I need to congratulate and acknowledge my *super* team here Rebel Monkey.

They have worked long and hard and given up many a bannana break to get us here but CampFu is almost ready to beta!   This will be a soft launch so, if you signed up for the beta, watch your email for your invite to go camping.  If you HAVENT signed up for the beta, you can do so right now at www.campfu.com 

Don't miss out on the fun!

Friday, January 23, 2009

2008 The end of the MMO?

Many people are looking at the lackluster performance of last year's MMO hopefuls and sounding bells of doom for the genre.  While I *DO* think the genre is in trouble, I think most of the commentators miss the real reasons.

In "Kill Ten Rats: Tao of the MMO" the author suggests that the subscription business model is at fault.  While I am all for experiments in business models, and in fact we are doing something very different at Rebel Monkey, I don't think his argument holds much water.  In the same breath he talks about his friend dropping $200 on Steam games.  At $15 a month, thats only $180 a year's worth of gameplay.  By the time/value equation that many pundits are saying will drive leisure spending in the down-turn, thats a bargin!

BUT its only a bargin if you are actually being entertianed.  And that I think is where the true short fallls have been.  Lets look at some of the less then spectacular showings of last year....

"Age of Conan".   This game had promise.  Although ultimately the same questing-grind as every other MMO, the quests were at least fresh and original and didn't feel like you were doing the same things over and over again.  In addition the art direction was simply stunning. This is mreo then eye candy, this directly plays into the "explorer" mode of gameplay.  Finding a new, different, and gorgeous vista open out before you with every new area you came across made that an unusual pleasure in AoC.

Unfortunately, AOC failed to live up toits promise in two ways.  The first was technical, released before it was technically ready it generated a floodof customer service issues that Funcom was ill equipped to handle.  Furthermore, Funcom made the classic MMO mistake of failign to grasp that, when you eneter the service business, customer service is the heart of the business.  Their CS support was inadaquate, hastily thrown together, and reeked of condescension and lack of respect for their customers. 

In the end, it was bad management that doomed AoC more then anything else.

Warcraft.  To be fair I never really expected Warcraft to be very successful.  While the GDW Warcraft miniatures table top game is a stand-out in its space, miniatures have *always* been a niche within the niche of wargames.  It really didnt strike me as a property with much "legs."  Havign said that, Mythic has dopne a nice job with it. 

Squint and what Warcraft really is, is Dark Age of Camelot: The Sequel.  They have perfected their RvR concept that first appeared in DAOC and moved it from an endgame experience to an important and integrated part of the leveling up process.  Its is  also painless PvP and thus the only fun I've ever had IN PvP. 

Unfrotunately, in the end, it suffers from a number of core MMO problems.  The ever-war that cannot be won or lost but just tilted back and forth grows tiresome and boring.  Its a story of battle after battle without there ever being a real purpose or conclusion.   The Public Quest idea is a nice one, but as you go up levels it gets harder and harder to put together pick-up groups to do them.  The zones, while havign soem superficial variety, are  in the end uninteresting and do not inspire the same exploratory "wow" factor that AoC did.

I DO have to give mythic credit for understanding they are  in the people business and showing more respect for their custoemrs then FunCom.

In the end, I think MMOs ARE suffering, but not from their busines model but rather from a lack of real progress in game structure.  The only successful formula in entertainment is "do domething different."  And it is here IMO that MMOs have really suffered.  Whatw e have seen are, at most, tiny steops and evolutions.  Take a look at the language MMO players use to describe their MMOs.  The word you hear most often is "Grind."  "Grind" is NOT a fun word.  I don't knwo why MMO develoeprs havent clued into that yet.  If anyone EVER says they are "grinding" your game, you have just failed to truly entertain.

And that, IMHO, is why the genre is collapsing.  I give some props to the MMOS of 2008 for trying new thingsm but in the end, they just arent enw or different enough.  Rather they are refiniements on gameplay that the players have seen before, done before, and are tired of.

My prediction is that the next break through MMO will do gameplay very differently from MMOs of the past.

Who knows, it might be us ;)