Archive for development

Apr 11

I’ve got your cin and cout *right here*

Over the years I’ve had a few friends begin to learn programming. Occasionally, one of them will find me for help.

I can tell whenever one of them starts out in their first C++ classes, because I start getting asked questions about iostreams, and the questions are almost always about use of esoteric manipulators.

People are intimidated that they’re never going to be able to understand all of the arcane complexities of this built-in system that’s taught to them on day one, which they assume their future livelihood may depend on.

A line and a half of code from one of our servers jumped out at me just now.

They’re reasonably indicative of all of the professionally-created C++ projects I’ve ever worked around.

Here you go:

    // iostreams can suck it
    FILE* fp = fopen( ...

To anyone who asks in the future: You’re safe, guys. Just make it through the class.

Apr 04

You Don’t Own Your Character or Items

If you enjoy playing MMOs, there’s a potential future in which you shouldn’t want to, either.

Another one of the more interesting sessions at IMGDC was (coincidentally) also put on by Dr. Bartle: “Government Interference: How much [pain] can you take?”

The session presented a number of hypothetical situations, some more potentially possible than others, aimed at finding out at exactly what levels of “involvement” would cause us to make the call to just plain throw in the towel.

His initial posting is linked below and my reply is inlined.

Link: TerraNova: The Point Of No Return

This was a great talk. Scary, but an interesting (I hope) intellectual exercise.

MMO developers have to be at least part masochist in order to thrive in the unique challenges of our chosen environments: business, technical, operational, and across nearly every other axis related to MMO development.

Devs are sometimes perceived as simply not wanting to give up any amount of control, or as people who enjoy screwing with others’ experiences as little tin gods of their own worlds, and so on, which is a view that’s both unfortunate and simplistic.

The big threshhold for me wasn’t related to anything like that. Bring on new ways of thinking, as long as the net effect is an added value to the customer experience as a whole.

However, in the hypothetical world where:

  • Virtual goods have real world value.
  • Players own the virtual goods, instead of having rights to use them
    • …causing volumes of property law to come into play
  • Where I am liable for changes in value in a customer’s now-owned, real-world-valued item
  • In which I can not alter the game in any meaningful way that affects said goods’ value
    • Whether that’s via releasing an expansion, or buffs/nerfs, or an unfortunately introduced dupe bug.
      • It’s not just “nerfs” - Improving item/class A causes an implicit devaluation of items/classes B-Z.
  • That takes place in a world where value now implies that item-drops, xp rewards, et al, are gambling
    • …making us subject to gambling regulations as well
  • Where I can’t push the liability for potential changes in value downstream

I might as well be in the business of making securities trading software on Wall St. or slot machine software in Nevada, both of which when taken individually, are regulated far less than the Worst Of Both Worlds hypothetical above.

Practically speaking, there are plenty of places in which a developer can build either of those, make quite a bit more money in the process, and work far more sane hours.

Of course, in our spare time, I imagine many of us would still make online games, just because the act of making them remains fun.

We just couldn’t let anyone else play them.

Yeah. Let’s not go there.

I don’t necessarily see this worst-of-both-worlds scenario actually happening, but this wouldn’t be the first time that I’ve been accused of having a hair too much faith in humanity, as is the case with so many developers - We just want to entertain.

Dec 24

Why Fantasy? (I’d love to be wrong.)

Richard Bartle has woken the periodic “Why is Fantasy the dominant MMO genre?” beast at TerraNova, and it demands to feed on our attention.

It’s prompted a number of replies and other posts that bring up some good points:

  • Risk-averse development
  • Convenience of having ‘magic’ to explain things
  • The existence of Tolkein
  • The existence of AD&D
  • Likeliness of appealing to both genders
  • …and others…

I think that all of those arguments have some degree of merit - There are aspects of each that are very true. There are also great replies from Damion Schubert and Michael Scoggin there in the TN thread.

Michael’s point that “…humans have more universal reaction to organic stimulus.” is the closest to the answer that I’ve always given.  It’s great to see someone actually having studied this.

As for my take, even before you get into development risk, or D&D, or Tolkein, or any of the rest of the above:

Fantasy resonates primarily for three reasons:

  1. We (humans, both men and women) are just plain wired to be instinctively affected by it in a way that other genres don’t cause, and…
  2. For the majority of the (US/EU) playing audience of both genders, that wiring is initially built upon by the fact that it’s the first fiction we’re ever exposed to, which is when most of our fondest/strongest memories are formed, and..
  3. …there’s a good chance that it’s most likely the genre that woke our imaginations in the first place.

Pick a subject at random.  What’s the first thing that you think of?

I’ll pick “winter.”  The strongest/fondest/first memory is a blizzard from when I was about 7, building snow forts with my friends Lee and Tony in giant 12 foot drifts up against the cinder-block walls of a garage, with a shiny red aluminum snowshovel while wearing a yellow winter jacket and dark blue mittens.

Or I could pick “music.” The first flash of a memory that makes me smile is my mother playing singalong-type folk songs on her classical acoustic, sitting next to the heavy coffee table on the floor in our living room in the house we lived in when I was 5, taping us singing along on an ancient cassette recorder.

My point is: Early memories are sticky. 

…and the early memories that first woke your imagination are sticky beyond ever being dislodged.

When it comes to fictional attachment, forget about Tolkein or AD&D, I’m talking even earlier:

  • Snow White
  • Jack and the Beanstalk
  • Cinderella
  • Hansel and Gretel

Just from four stories at random, you have fantasy concepts burned in: Dwarves, Witches, Princesses, Heroes, Poison, Castles*, Giants, underdogs triumphing over stronger evil…and lots and lots of Magic.

([*] Sorry, Richard - To a lot of us “castles” are a fantasy element, not something you can wander down the road a ways to see. ;)

You don’t need to have been exposed to all of them.  As long as you’ve been exposed to enough of these tales, you already have a solid foundation.

To paraphrase Raph (and I’ll apologize in advance for mangling the concept) one part of Fun is the idea of building on things that we already know, by learning more about them and being rewarded for it.

In most of us, there’s already this functional, working base of Fantasy bits there just waiting to be awoken and built upon.  That’s what drives us to Tolkein, to AD&D, and to Fantasy worlds that reward us for building on this pre-existing knowledge.

Things that we enjoy later are (relatively speaking) acquired tastes.  I enjoy Sci Fi worlds a lot now, but I enjoy them for what they are - Crafted places of varying degrees of quality and fun - They don’t have the same kind of difficult-to-define resonance that Fantasy does.  They take effort to get “lost” in.

Like I said in the subject, I’d definitely love to be wrong on this one, because I do agree that it’s limiting us.  I’d love to see the market more open to first-timer success in other interesting directions.

(When I say first-timer, I mean that we’re not going to be able to count, for example, Blizzard’s eventual World of Star-iablo’s success here - That will be a victory built on the strength of a brand, not a victory for genre diversity.)

Even if I am right, I don’t believe for a moment that all is lost. 

As the market continues to grow, which it’s going to do in all forms of online entertainment, even if 50-70% of the experiences out there remain fantasy based, there are plenty of chances for success in other genres.

As the whole pie grows, the non-fantasy slice will grow along with it.  The majority may continue to cut their teeth on Fantasy, then they’ll acquire tastes for other worlds.  And so the cycle continues.

Compounding that, as time goes on and tools improve, it’s going to become more and more possible to make compelling worlds for less money.  The days when “success = 250,000+ paying customers” are not just going away, they’re already long behind us.

As it stands right now, as many other games have proven, you don’t even need six figures of users to make your development money back, turn a profit,  continue to build a healthy business, a solid brand, and be able to do good by your customers.  Those stories just don’t make nearly as interesting of headlines as “WoW scores its 15,000,000th user!”

The presence of the juggernaut has changed the average observer’s perspective of what “success” is by a fair bit, but it hasn’t changed the reality.  On the contrary.  It’s actually created a lot of interesting opportunities.

In that light, I think that “Why Fantasy?” isn’t really the most interesting question to ask.

The more interesting one is: “Okay.  It’s Fantasy.  We accept that.  How do we best expand from here?”

Nov 02

There’s an interesting debate going around about designers and scripting.

Those who are good at it like it. People who have cleaned up after those who are bad at it try to keep it out of their projects at all costs.

In other breaking news, the sky is blue, pie is tasty, and the cake is a lie.

For those who want additional context, allow me to take a crack at a definition.

(tr.v.) Scripting:

1. non-programmers writing programs in substandard programming environments

1a. …leading to debugging said programs with tools that would have sucked in the early 1980’s

2. an amazingly powerful and useful prototyping and development tool when wielded in the right hands

3. a painful and frustrating experience for all parties, not entirely unlike having intimate relations with a capascin-coated cheese grater when the wrong hands are forced to wield it

4. a terrible idea that can destroy the future of entire projects by making them infinitely less maintainable and extendable

5. the performance killer that you wish you never met

6. a fantastic idea that can make the difference between getting the project done right and not getting it done at all

7. a tool that people ask for when they don’t know what tools they need to complete a given job

7b. …or aren’t yet sure what the job is in the first place, but are positive they’ll need to be able to do everything

8. a great way of helping your staff grow into becoming better, more creative, more expressive developers

Pick as many as you like. They can all been true. Sometimes even on the same project.

Those results above are a small sample of permutations of answers to the following questions:

1) What project objective(s) are you using it for?

2) Who’s using it?

3) Do they need to use it, or do they have alternatives?

4) Which language is it?

5) In what ways can that language interact with your particular system?

There are far too many dimensions of “Scripting” for it to boil down into a simple good vs. bad argument. I’m busy as hell at work this week, but I’ll try to argue some of them tomorrow, and probably end up disagreeing with myself in the process.

Oct 02

Changing Times

Haven’t abandoned the blog - Typing original content with the busted wrist is a lot more difficult than it really should be. Three weeks to go!

In the meanwhile, here’s an Interview with Ten Ton Hammer that went up yesterday.

The game-neutral concept that’s touched on here is games adapting to their players.

The rules have changed a lot since the days of there only being a single online world choice at any given time. You’ve got to learn as much as you can about the audience that you have, and make sure you’re meeting their needs as best as you can.

Another “duh” concept that falls cleanly into the “more than just the right thing to do; it’s also good business” bucket.

Relevant clip from the interview:

Savanja: What prompted the decision to move nearly all of the heroic content from the overland zones?

Scott Hartsman: The fact that overland heroic content went largely unused was the biggest driver in this decision. It doesn’t take a long visit in any of the global level channels to infer that very few people go through the effort of grouping to adventure in an overland zone, and the logged combat data backed this up. Solo/Duo-capable outdoor content gets played; heroic content very seldom does.

It’s a case of the game adapting to the way people actually play, compared to how they were originally assumed to want to play. People don’t “group up, then wander around looking for something to do” in open-ended hour-after-hour six person play.

People are objective-based, generally conscious of how much time they have available to play, and tend to want to group with people whose goals for the moment match theirs. Taken as a whole, they form groups with the express purpose of going out to do something specific. Many also prefer to know ahead of time that they’re embarking on an adventure they have time to complete. In EQII, both of those specific attributes of grouping can best be addressed via dungeons and instances.

On top of all of that, the split between outdoor/indoor also reduces frustration on both ends and it sets an expectation that people can begin to rely on. Solo/duo folks can consistently enjoy their own play style by not encountering unattainable group content in the overlands. Those group folks who do play-by-wander won’t be frustrated by all of the ‘useless’ solo creatures there – They know to head indoors.

It’s a common misconception that people universally hate change. People only hate change that doesn’t make intuitive sense when they try to reconcile it with their own individual experience and, more importantly, their desires for their future in your world.

That’s the part that you really don’t want to screw up - Losing the trust of the people who actually do see themselves as having a future there. Those are the ones to foster.

The big-ego days are long gone, unless you’re interested in setting yourself up for a potentially painful fall. When you examine your motives for making online entertainment, if you don’t see yourself deep down as being the provider of a service (yes, on the development side), be ready to eventually lose out to someone who does.

(Tip of the hat to Chris Cao who was the first person I heard use the phrase “people are objective-based” in neatly summing up that concept in a lot fewer words than I’d ever been able to.)

- Scott

Sep 21

Small Interview about Betas

Had a conversation with Calthine about betas, including a little bit of beta strategy explanation that turned into the second half of this article over on Allakhazam: All A-Buzz About Beta

Other than the actual launch, beta is my favorite part of the dev cycle.  It’s when all the excitement happens.  It’s the first transition point where the plans meet the chaos.

You also get a much better handle on the surprises that may lie in store.  Nothing crystallizes a set of remaining priorities quite like seeing first-hand the impact they could have on real people.

Assuming that your game is inviting people at the correct stage of development, you finally get to see people playing and having fun.  On top of that, if you pick the wrong people, and beta’s either bad or nothing special.   Invite the right people, and the tone of a good beta community is just unmatched.

It’s also great being there to see people who’ve been “beta friends” through other test cycles, or are long time friends from the boards, get a chance to hang out with each other in-game.

Even though (or maybe because?) they’re playing on disposable characters, there’s a time when everyone’s on their best behavior, genuinely at their most helpful, and the overall feeling is a server full of extra-cooperative folks truly banded together against the world.

Yep.  I like beta.

Sep 16

Danuser on Strategy vs. Execution

Steve’s got a post up this morning making a good point about talking a good game vs. being able to back it up using “why there aren’t there more WoWs,” as an example.

There’s many reasons, and the overall point he makes is an excellent example of one of them.

Moorgard.com: It Ain’t the Recipe - It’s the Chef

- Scott