Sunday, November 11, 2012

Lessons I Learned: The Rule of Three

Not the Book of Three. But that book was also amazing.
I was working on Issue 17 of City of Heroes when I learned this lesson. I wanted to have a sort of metroid-esque escape scene at the end of one of the villain arcs. I knew that the game did something similar at the end of another story arc, where the player team had to escape from a volcano collapsing on itself. I thought that was amazing and wanted to emulate it. I asked Joe "Hero 1" Morrissey and Vince "Dark Watcher" D'Amelio about how to use that same technology for this. Unfortunately, I discovered that scene was hard-coded. This meant that the code was written in such a specific way that it only worked in that one specific instance.

In my eagerness/youth (ah, the days of youth) I asked if we could write a new script that could be used in this instance to do what I wanted it to do. That is when I had the following conversation with Vince:

Vince: What are three ways you can use this script?

Me: Huh? Like in the mission?

Vince: No, in general. Where are three other places that either now, or in the future, you will use this script? It's the rule of three.

I then had to snatch a pebble from his hand to request the script.


Vince's question made me think hard about how this script would be designed and used. Granted, a lot of the design for the script came from Joe, who was my mentor at the time, but the idea of the rule of three stuck with me. The script that I wanted was to just have explosions go off at different times during a three minute countdown. The script we came up with was one that allowed the designer to set a timer duration, if it was visible or invisible, an objective that could stop the timer, an objective that fired off when the timer was complete, and objectives that would fire off at intervals specified by a designer. It was a Very Powerful script and we ended up using it in a ton of missions in Going Rogue and afterwards. If you looked through our excel sheets, you would undoubtedly find the Timed Objective script in a lot of places.

This story shows the benefit of trying to follow the rule of three in what you do as a game designer. It's a lesson that is especially important when designing MMO's, which require you to be firing out content in a rapid pace manner, which means programming time is always a precious gem that you must use to its highest. However, this rule doesn't just apply to programming; it can apply to the use of character and environment art time as well. However, artists work can be a bit more nuanced with the rule of three; after all, a lot of the time you're requesting things that are very specific set pieces or environments. The rule that I tried to follow was, "the rule of three, or the rule of awe". Sounds very professional, doesn't it?

Just a bunch of professionals, looking professional, doing professional things professionally.

This rule simply comes down to, are there three places I can use the pieces of art that are given to me? No? Well, then will it cause awe when the player encounters it? Examples of this can be seen all throughout the first signature story arc series that I worked on. We had examples back and forth of this. There was a new lava texture made for the first arc, which looked really great and leagues better than our old lava. There were also charred islands made for the first map, as well as a dark obelisk. The new lava helps add to any scene it's added to (easy rule of three application), the islands aren't so specific that they can't be used in other places (rule of three), the obelisk is very specific story-wise and may only be used once, if ever, again, but it is gigantic and stays in your mind after you see it (rule of awe). Then, there was the finale of all the arcs, which takes place on a giant island in space facing off against a large, unique entity, Rula-Wade. Rula-Wade, for sure, could only be used once, but he sticks in the player's mind. The island, story-wise, could be used multiple times, along with just the entire Earth scene.

Fun fact: The Earth scene was used again in Issue 25! Players would be on top of Shiva who was floating near the earth, fighting its transformed Shivans. The map, made by Addison Delany  Barnes was amazing, and had an easter egg of the floating island from SSA: Ep 7 in the distance to give a feel of where the player was and a callback to a previous story.

Now, the main danger with requesting art time is balancing that "awe" feeling with the amount of time an artist is going to put into their work. If you make an environment request that takes 3 months to finish and it results in about 5 minutes of "awe wow!", then the rest of a player's hour is filled with the same hum-drum stuff, then that was a bad call. However, if that 3 months results in a, "HOLY OH MY GOD I NEED TO SEE THAT AGAIN WWWWOOOOW!", then it's a good call. So, as you can see, not terribly objective! An example of this was the Avatar of Hamidon, which I wasn't involved in. This beast of a guy took a while to make due to various complications, but in the end it was something gigantic and impressive, a guy that you (well, at least me) wanted to see again after your first encounter with it.

Can't... look.. away...

So! The rule of three. Living by it in game design can help not only you, but your entire team, and that's something not to be taken for granted. When you work as a designer, you should strive not to have your work be additive, but to be multiplicative; that is to say, your efforts don't just life your own work up, it lifts everyone's work up. I strove to do this when I was making LUA scripts; they would make my own arcs even more awesome, but I wrote them in a generic, rule of three way, so that they would help everyone else.  A small team working in this way can crank out the same high-quality products that a large-scale team working alone would accomplish, and that's definitely something worth thinking about.


4 comments:

  1. You know what wowed me awhile ago? Tyrant's personal story mission. That one was a blast, as it affected actual gameplay.

    ReplyDelete
    Replies
    1. Thanks! I had a lot of fun making and designing that mission. It was a culmination of our APB system, or the Alternate Power Bar. I only wish we could've pinned down the problem with the server acting weird for some people but not for others. The cutscene was also a ton of fun to do.

      Delete
  2. Actually, this reminds me of an interesting note regarding the Doctor Who series. Basically, when BBC was also doing Torchwood (before the current BBC-Starz wonkiness) and Sarah Jane Adventures, the people who designed alien looks and costumes had a lot more leeway budget-wise because they could theoretically re-use all of those on the other shows.

    ReplyDelete
  3. I have to add here, this is a good rule of thumb for other skillsets as well. In my own as a chief software architect, I'm constantly having to look at various changes to the enterprise architecture of a platform with that idea in mind.

    ReplyDelete