“What do the Numbers Mean?” Guide Released

28 09 2009

UPDATE: The Guide is complete! There’s still a bit of cleaning for me to do in the near future, but by and large everything regarding the actual core stats is available in the guides section. Enjoy!

I love my numbers work, and so I’m going to be moving the project to a more permanent space. I’m also going to convert the information into a more easily-navigable format. If you want to view the information from all of my “What do the Numbers Mean?” explorations, simply click on the “Guides” section of the top toolbar.

Note: this is still a work in progress. I’m in the process of writing up segments for each of the remaining stats, so it’ll be a while before everything is as pristine as I would like. I just figured I should let you all know what’s going on, as this will be an incremental process. I’ll update the Blog once everything’s all happy, though, and be sure to give me feedback on what might make the guide easier to navigate!

Additionally, are there other aspects of the game that you would like to see explained? I know that information about specific classes is pretty prized, So I may start up a Guidelet on what I find to be good in playing a Chanter properly, as well as habits to avoid. What else would you like to see?





What Time is it?

27 09 2009

Short post for today: how does the time system work in Aion?

I actually spent a non-trivial amount of time looking around for some other pages explaining the time phenomenon in Aion. I didn’t find anything helpful. Maybe everyone gets it right-off, and I’m just slow. Or maybe it’s not important at all, so everyone ignores it. I think it’s a cool mechanic, though, and one that’s strongly reminiscent of my days in FFXI.

In case you didn’t notice, Aion has its own internal time system. For every five seconds that pass in the real world, one minute passes in game time. That is, time moves twelve times faster in the game: a game day is only two hours long, rather than twenty-four (as in WoW). In game days look a lot like ours, too. That is, they’re broken up into four periods:

Dawn: starts at 4:01 AM; ends at 9:00 AM
Day: starts at 9:01 AM; ends at 3:00 PM
Dusk: starts at 3:01 PM; ends at 8:00 PM
Night: starts at 8:01 PM; ends at 4:00 AM

So the cycle persists, moving smoothly from one period to the next every thirty minutes or so. Aside from being a pretty change in scenery while in the same place, what does this mean?

Fight for your faction, day ornight

Fight for your faction, day or night

For starters, there are several types of NPCs that only appear during certain time periods. The Asmodeans, for instace, take on a quest to help an Elyos-disguised-as-a-Sprigg-disguised-as-a-Shugo, and can only accept the final quest component during Dusk or Night; the NPC simply isn’t there during the other half of the day. Likewise, there are several named mobs and some mob types that spawn only during certain times of day.

While not a huge PvP element, the time also contributes to natural cover in the PvP scene. Just as size-of-character doesn’t really matter for game mechanics, neither does time-of-day. At the same time, both qualities can still be exploited to convey some minor advantage against clickers (though they likely won’t be a challenge anyways) or unsuspecting victims.

I like the mechanic: it’s a limiting element (in that there is some dynamics to the game world – NPCs aren’t all static) that isn’t restricting to any particular player (with just two hours during a gaming session, you have access to every part of the day cycle). Have you had fun with the internal time mechanic, or has it just been a hassle that you have to work around?





Good Ideas do go Through

25 09 2009

So, remember that one problem I had with Aion’s queueing system? Yeah, I was diappointed in the AFK aspect of private shops. I suggested that we incorporate a maximum AFK time into the shops. I doubt Aion devs looked here, but this morning they acted on the notion:

Quote: Liv

We are bringing the servers down at 6:00AM PST, September 25th,  for maintenance. The purpose of this downtime is to tweak the way Private Stores work. A timer of 30 minutes will be implemented to prevent these shops from being abused as a means to prevent disconnection and alleviate queues.

The maintenance is expected to run no longer than 1 hour.

Thank you for your patience! (Source)

There ya go. Queue times shall fall at last – I’m pretty psyched. I don’t usually repost information from Aion’s newsreel, but this was just too relevant to pass up.






How can we Estimate Better?

23 09 2009

Here’s a fun, surprisingly relevant problem that Aion’s creators doubtless have been wrestling: how do we estimate, and how can we do it better?

You can look at it like this – Go, extended metaphor!

How many Jellybeans are in the jar?

How many Jellybeans are in the jar?

Imagine that you’re working at a summer camp, and today you’re in charge of distributing snacks. All that’s on hand is a large glass jar full of jellybeans. There’s no way that you can see all of the jellybeans from any one angle, and there’s too many to reasonably count out one-by-one if you poured them out. All of the kids in the camp will be heading out for snack in about fifteen minutes, and they will each have a dish into which you should put 10 jellybeans. Any leftover jellybeans are thrown away – all those grimy hands in the jar is just bad news.

Now, there are a couple things you can do in those fifteen minutes. You can run to the store and buy more jellybeans, if you think you’ll need more. You can also siphon off some of the jellybeans for safe-keeping, so they don’t have to be thrown away.

Your goal, then, is to balance the amount of jellybeans on hand to feed all of the kids in the camp with the least possible waste (all that spare money for more jellybeans comes out of your paycheck, by the way!). There’s nothing you can do to be sure that your ratio will 1:1 fit with the number of kids in the class – how best do you get close to it?

There’s a few approaches:

  • Better safe than sorry is a common answer. Buy extra beans, and no worries if they have to get canned. A typical conclusion, especially from the consumers of America: we have stuff to spare, and a feeling of infinite dump space. A little extra waste won’t hurt anyone, and we’ll guarantee that everyone gets something to eat. Not a bad approach when the resource is cheap, and excess material has no real consequence.
  • Or perhaps you’re more clever than that: buy the extra jellybeans, then siphon them off to clean storage. From storage, you only replenish the jar as necessary to meet the demand of the kids. This works well if the kids are patient enough for you to refill the jar. Hungry, screaming children are rarely willing to wait any longer than absolutely necessary for food – standing in line while staring at other kids eating their jellybeans just sucks from their perspective.
  • A third approach, if only to illustrate the multiple options: use a back-off handout system. Kids at the front of the line get the normal amount of jellybeans, but when the jar hits half-full, you ration it out a little more sparingly: 9 beans per kid instead of 10, for instance. Cut back more as your supply dwindles until you see the end in sight. This isn’t a fair distribution, but gets something to everyone with a constant supply of jellybeans.

There’s a lot of options, and each one tries to address the hard balance: how much supply do you put up front, given how many people are coming, when you don’t know how far a given amount will actually go?

The problem can get a lot harder, too. Imagine that, instead of working at a camp, you’re catering youth events at your local park: now you have no measure of how many people will show up today, and you can’t safely extrapolate how many people will come in the future based on today. Essentially, when you remove the constraint on how many people are coming, managing your jellybeans gets even harder. After all, you can’t hold enough jellybeans for everyone in the world, and getting as much as you can would be horrendously wasteful if only a handful of kids show up on a rainy Tuesday.

Talk about a negative edge on approximation, huh? The point I’m trying to illustrate is that estimation is hard. At the same time, estimation is an integral part of our lives, and we need to estimate several things every day. From supplying food for kids to tracking gas used in our cars to guessing how many groceries we need to get through the week, we have to make guesses about what’s going to happen in the future. Sometimes we use measurements to help us: our cars have gas meters to help us track our fuel consumption. Sometimes we use past history: I’ve only needed one gallon of milk each week for the past year, so I don’t think I should buy two this week.

But then, sometimes our easy comparators are unavailable. There’s no scale handy for my huge jar of jellybeans, and this is a new job. How can you hope to gain some intuition into feeding kids that you’ve never met, with an unknown amount of food? Intuition here is going to be crucial – with intuition, we can guess with more certainty, and know that our errors will be less drastic if they do occur.

  1. Know what you know. This may sound trivial, but it’s important. Let’s look at the youth events in a park example again: I said there’s no way to know how many kids are coming, right? We can at least place some of the limitations we know in effect, and that will give us some bounds for estimation. Say the city has only 50,000 inhabitants. The activity at the park is oriented for kids, and probably has some age restrictions; if the kids are all supposed to be within 9 to 14, that’s likely to be within 10% of the town’s population. So, that’s just 5,000 kids, at maximum. Another good question is “how big is the park itself?” if it’s small, you likely can’t fit all 5,000 kids in there at once. If there are sister events happening across town, you can divide your maximum attendance down accordingly. So, I don’t know how many people are coming, but I do know that it won’t be more than X, based on the parameters here.
  2. Ignore precision. I think this is fairly clear from all of my examples, though you might be a bit uneasy in doing it yourself. Just remember that the details in estimation are irrelevant: 38,475 people are the same as 10,000. The paradigm my suite-mate told me was “the only numbers you use in estimation are 1, a few, and 10. Multiply them together as necessary to get the estimates you need.” Even “a few” is extemporaneous. So, for jellybeans: we’ve got a jar, and it’s got some dimensions to it. We know that jellybeans have smaller dimensions, and we can use knowing what we know to figure out how many jellybeans could fit in the space presented (comparing volumes is fun, I promise). So, maybe we can fit 20,000 jellybeans into the space ideally: it’s now 10,000, as far as I’m concerned. How many kids in class? 84? Nah, it’s just 100. If those hold, I should be able to give 100 jellybeans to each kid with the supply in the jar. That’s not going to be accurate, but that’s why we’re estimating – all we want is a ballpark figure.
  3. Know the cost of over- and under-estimating. If you over-estimate and have way too many jellybeans, what happens? If you’re short, what happens to the kids that don’t get any? If failing one way or the other is going to have a substantially worse consequence, weight your estimation accordingly. For instance, starving the kids is bad; throwing away spares is less bad. I’d therefore overstock and expect to throw some away – at least no kid goes hungry. If I’m estimating my gas, however, under-estimating is the way to go; I don’t want to drive my car on fumes unless I absolutely have to.
  4. See, you can be cute AND comfortable with imprecision!

    See, you can be cute AND comfortable with imprecision!

    Be comfortable with the imprecision. This one is key. No matter what you do, estimations are never replacements for algorithms or equations. Algorithms and equations operate on known input formats, and produce known output formats. In contrast, estimation is about making a reasonable output for some loosely-bounded inputs. Do not expect accuracy. Just be comfortable with getting a decent guess. More often than not, that’s all you’ll need: do you really need to know how many feet you’re going to get on your tank of gas, or is three hundred miles, give or take, enough information for you? Your only goal is to get a good-enough result; if that’s not enough for you, then move on to fitting your system into an algorithm.

So, why not algorithm everything? Simply put, algorithm implementation takes longer and requires fairly strict bounds on input formats. Estimation sacrifices those bounds for a faster, less-accurate conclusion. If you can force strict bounds on your input, and care about accuracy, then you should take the time to implement the algorithm.

Okay, so we’ve gone over jellybeans a bit more than necessary – why does this stuff matter? Aion and I have both been doing a lot of estimation lately:

Aion:

The Aion team estimated the number of servers and population limitations per server for pre-release and release. This has led to countless complaints across forums and such about very long queues. Remember my second solution for feeding a summer camp? Yeah, all those people in the queue are whining because they’re staring at the other players who are already in the game. Turns out adults aren’t any more patient than little kids – we all feel entitled to have what other people get at the same time. Aion is pretty brilliant in their implementation of this, I have to admit, and yes I get to wait in a queue every day when I try to play. Sometimes I can’t play as a result (too much work). In fact, A lot of this was written while I was waiting in those queues!

So, why are the queues brilliant? Because Aion delivers a promise to their players of a reliable gaming experience. They could have taken the route of other MMOs and ignored server population caps, and watch the game degrade in many ways:

  • Players would have higher competition for materials because there would be a higher player density.
  • Players would have to handle more computation on their end to compensate for the player density, compromising any machines that aren’t well above the game’s recommended specifications.
  • Players would experience substantial connection latency from the server, as it would be operating beyond its own specified capacity (this one may be seen even as we are; those global lag spikes are a by-product of an overclocked server).

Aion: the new exclusive getaway

Aion: the new exclusive getaway

Aion circumvented these issues by implementing a queue. The game then becomes a fixed population-per-server environment, with transparent information for players in the queue (how long the line is, and an estimate of the queue time – look there, more estimation!). So there’s that benefit. They also knew the cost of over- and under-estimation. Over estimating and providing too many servers would have killed many of the servers. Under estimating simply creates queues, which – contrary to popular belief – actually builds suspense and makes players want to get in. Suddenly, the game world feels a bit like an exclusive party. Not everyone can be inside at once, but we’re willing to wait for half an hour or so to get a chance to hang out inside. Admittedly, the first couple of days were more than half an hour, but it’s gotten better for me with every day. That said, Aion is likely surprised that they underestimated the interest in the game.

Note that I didn’t put “check your history” as part of the intuition for estimation. This is because the past is very often misleading. Just because the past ten coin flips I’ve performed have come up “heads” doesn’t mean the next coin flip is any more likely to be “tails.” Likewise, kids that haven’t been hungry for jellybeans the past week may be really craving them this week, or may be genuinely sickened by the gooey things. Aion likely looked to other game releases and saw just how many pre-subscriptions went from CB to OB to Live, and expected those trends to carry over here. They then prepped for that level of decay; they didn’t expect such a high percentage of their subscribers to actually stay on. I think they shouldn’t have underestimated their potential, though: we kids were craving a new MMO experience more than even we realized.

My only critique is the exploitative nature of private shops. Once open, your character is not checked for inactivity, and is therefore never disconnected. 1.6 is bringing with it a catch for bots that are camping resource nodes; with any luck, they’ll bring a limiter on shop duration (say two or three hours) along with it. Don’t get me wrong – I do like the legit shops that are out on the frontier. They can save me a lot of travel time if they happen to have what I’m looking for, even if it is a little pricier. But then, the afk chumps aren’t adding anything to anyone’s game experience when they’re trying to sell bandages for one billion kinah each.

Me:

I did a lot of estimation in my first post on “What do the Numbers Mean,” and I’ve been doing some more for the second one (Coming soon!). For instance, I assume that Parry stops 50% of the damage on an incoming swing. It may be closer to 30% or 40%, given some reading I’ve done, but I’m not convinced. I estimated 50% based on the admittedly small in-game sample, and compared it to the other avoidance/mitigation stats. Parry is meant to be middle-of-the-road in terms of mitigation, so the amount mitigated fits very nicely at 50%. Again, it could be more or less, and it could even scale with weapon quality – just like the shields. However, 50% is enough of a ballpark for me.

Of course, I could work out algorithms for these things, and for some I’ve figured out the equations. Yet I don’t stress over those too much. Instead, I base my intuition here on the premise that Aion is a diverse game, so stats should likewise be diverse. I find it highly unlikely that any one stat will trump all other available attributes, but I guess time will prove that right or wrong.

Now, if you’ll excuse me, I have a game to go play. My queue time is finally expired, so I’m gonna get back to the game! In the meanwhile, for all of you whiners out there, I challenge you to present here a better solution for Aion’s release. To say “they’re doin it rong” is one thing, but if you can’t do it better, then who are you to judge? Show me that you can; I’m always curious to hear more solutions, and any truly valid solutions will doubtless be good to preserve for future game releases.





What does Aion remind you of?

20 09 2009

There, see? I’m not so arrogant that I refuse to use dangling prepositions. The situations simply needs to call for one. With.

I think I’m sixteen years old again. The anticipation I feel is so strangely reminiscent of driving home from the mall with my mom, avidly reading through the instruction booklet of the new game I’d gotten. It was Kingdom Hearts: my girlfriend at the time absolutely insisted that I try the game out.

Who wouldve thought a game with a dog-man and a lispy duck could be so excellent?

Who would've thought a game with a dog-man and a lispy duck could be so excellent?

I had rolled my eyes at the concept of a Disney-based video game having any merit: “How can there be any substance when it’s all about ‘Unda da sea!’ and a cartoon mouse?” But she was stubborn, and I figured I didn’t have much to lose. I trusted her judgment, and by the time I had actually picked the game up, I was surprised at just how anxious I was to try the game out. I haven’t felt that kind of good vibe about a video game in a long time; I’ve enjoyed several, but nothing struck me as being worth my time before I had a chance to play it.

And then I read about Aion. I heard about it through a 20-minute video over on Barky Bits (a resto druid blog). I was incredulous at first. “A Korean game, adapted for the US? That sounds a little hacked.” I was frustrated with WoW, though – my guildmates never seemed to have the same dedication to raiding and progression that I and the officers had. Dependency on so many of them really made doing anything a hassle, and Aion offered a shot at something new. So I read some more, watched some more, and decided to give it a try. CB2 hit, then CB3, and then CB4. I was hooked by then; I just played more for fun, no longer striving for level cap (the characters were doomed to deletion, so grinding wasn’t exactly appealing), but exploring the finer details of the game. OB was the final sell: getting back into the game for a few days in a row convinced me that the game was worth my time.

So here I am, driving home from the game store again as it were. Six years later and I’m still the same, impressionable kid I was. Thing is, I was extremely glad I gave Kingdom Hearts a chance: every minute of it was awesome. Kairi made me happy; She and Sora weren’t so far from Theladas and Jerricah (yes, I wrote about them – however terribly – even back then). I’m confident that Aion will be like that, too: every minute will be awesome. The content is well-developed and tested. The environments and combat are engrossing and relatively non-trivial, especially for introductory content. The crafting engine is superior to any other that I’ve ever seen. The class variety is substantial, despite initial impressions. Most of all, a good part of the community seems genuinely interested in experiencing the game. The atmosphere feels so different from WoW, where bosses are simply an obnoxious path to shiny gear.

But, anxious player is anxious. So, how to pass the time? Here were a few of my solutions:

  • Read about learning and memory. Perhaps not the wisest decision ever.
  • Run errands and clean up my suite. all of my dishes are spotless now, at least, and I have food enough for a week at least.
  • Go back to work, this time reading about historical architecture. I’m surprised I didn’t fall asleep straightaway.
  • Look for new anime TV shows to watch. Darker than Black and Bokura ga Ita both caught my attention. I’m well aware that they’re polar opposites, but I really enjoyed what I watched of both. I guess I have an eclectic taste (in anime, anyways).
  • More work: define an algorithm for finding perfect exponents (a^b, where a and b must both be integers) for any given integer, c. Then, determine a linear-running-time algorithm for determining the optimal days to buy and sell stocks. To think that this was the most fun work I had on my list of options…
  • Ghost Hunt: Pure Excellence in Storytelling.

    Ghost Hunt: Pure Excellence in Storytelling

    Back to TV for a while (This was when I actually stumbled across Bokura ga Ita). My number one recommendation is still for Ghost Hunt, though;that show was so amazing, I wish I could wipe my memory and watch it all over again. Single best series I have seen in any genre in years.

And now, I’m revisiting my old Warrior Tanking Guide for WoW. I had a whole discourse on just about every aspect of tanking (I know you’re just so surprised – like I could ever write at length about a topic). There are a few lesser-known points of tanking, though, and they apply to gaming in general. So, as many of you are shaking with anticipation for the gun to fire and the sprint to start, I’ll offer these three key points of unsolicited advice to you:

  1. Do What You Love. Gaming is about having fun. If whatever you’re doing isn’t fun, you shouldn’t push yourself to do it – not here. Experiment, to be sure, but don’t ever think that you’re locked into a certain situation just because you started it. Life is all about making choices, and in the world of games you always have the opportunity to change those choices. Take advantage of this flexibility: if you want to level faster or slower, do it; if you want to try crafting more, go for it; if you hate the class that you were so sure you’d love, don’t sweat it – just try something else!
  2. Be Social. Aion is just coming off the racks, and the precedents we set at release are going to persist throughout the game. I’m really hoping everyone makes an honest effort to be helpful and upbeat as we kick off; fighting and complaining at each other will only leave a sour taste in every player’s mouth. So, I challenge every player to give at least one active piece of advice to another player when a question comes up (even if it’s the 123739’th time it’s come up in Region chat, as some surely will). Have patience with your fellow players; some of them are likely far cooler than you’d imagine. Also, if you’re in a guild that’s running Ventrilo or a similar VoIP, get on in there and mingle. Even if you don’t stay with the guild forever, meeting other players and getting to know them will enrich your gaming experience. There’s nothing like chatting about movies while bashing in the skulls of helpless NPCs.
  3. Take Breaks. This one is crucial, no matter how hardcore you may think you are. Two types of breaks are worth keeping in mind: breaks for your whole body, and breaks for your hands. Whole body breaks means don’t eat your meals at the computer; do yourself a favor and spend the fifteen minutes of eating somewhere else. Read the paper, walk the block, or just stare off into space. Constant exposure to a single thing is draining, whether you notice it or not. If you take breaks periodically, even if only for a few minutes, you’ll come back more refreshed and focused. You’ll get more done, believe it or not. I’ve seen it happen, too: four hours of raiding broken up with hourly five-minute breaks runs so much more smoothly than a four-hour raid with a single 15-minute break, or even a three-hour raid with no break. Monotony hurts your brain: be sure to help yourself by taking breaks and staying hydrated.
  • Then, the breaks for your hands: these are just as crucial. Any software engineer will tell you just how easy it is to work for hours without resting your hands. I often run the risk of typing out these entire posts without resting my hands; I really need to borrow Spang’s software so I can have a hardcoded interrupt, too. The basic idea is that putting too much stress on your wrists (by, say, pressing them against the edge of your desk or keyboard for hours on end) can compress the carpal tunnel, a small tube that protects the nerves controlling your hands. Applying pressure to those nerves hurts, and will damage the dexterity of your fingers. It’s unlikely to develop into full-blown Carpal-Tunnel Syndrome, but there’s no reason to hurt yourself while playing a video game. What’s the solution? Hand exercises!
  • Yeah, it sounds dorky. Hands are important, though; I like my sense of touch just the way it is. The relevant exercises here are really easy, too: just 15 seconds per hand every hour or so for the health-nut. Simply press the elbow of one hand into your stomach, and hold your palm up to the ceiling. Then, using your other hand, pull down on your fingers to make a right angle with your hand and forearm (or as close as you can get – don’t pull harshly or force your hand down). This is the easiest way to relieve the stress on the carpal tunnel. After ten seconds of stretching it, let go and pull your hand into a fist, knuckles facing the ceiling. Shake your hand out, then switch to the other one (even if it’s only handling your mouse). There’s more exercises if you’re curious, but the whole body breaks you should be taking will be more than enough in tandem with these stretches.

And with that, I’m gonna go back to work. I hope those tips help, and feel free to check out some entertainment, perhaps from the list above (look up the Funimation shows in Youtube Shows – they’re happier there), if you’re still fretting over how to pass the time from now until launch. Don’t worry, the game will be here soon enough! There’s plenty more to be coming from this blog, too. I may be a bit briefer because of time constraints – somehow, I doubt that any of you will complain about that.

Just a few more hours to go! The car ride was so much faster when I was sixteen…





Character Pre-Selection, Plus Origins!

18 09 2009

It took me a bit longer than I had hoped, but I finally decided on the key characters that I wanted to create. Anyone reading my blog likely isn’t surprised: Theladas and Jerricah are the premiere characters in my writing. I was debating for a very long time if it would be worth making my templar alt now.

Thel got ousted from the rock; Jerri's never been a big fan of sharing.

Theladas and Jerricah, now in Aion! Thel just got kicked off the rock; Jerri's never been a big fan of sharing.

But then it hit me: as unlikely as it is that someone would name their character “Jerricah,” she and Thel have names that matter to me. Ry can go by any convolution of his name, as can ‘Aria.

I’m on the Azphel server. I was pretty undecided on the server front, so I went reading through some guilds online. Turns out that Dark Echo was looking to get some quality work done in the game right-off, and they had an opening for a Chanter. I jumped on the opportunity, and suddenly had a server choice made for me. I’m happy with it so far: the other guilds on the server seem like solid competition, and my guildmates are all pretty stellar. Some of you may know Anikka, over at Sin Healing (go say ‘Hi’ if you don’t!); it’s gotta be good if it has bloggers, right?

Anyhow, now that I have these characters created, I figured I’d share some background on them with you. These are (partial) backgrounds for Thel and Jerri in Aion:

TheladasBanner 3B1

Theladas was raised under the relatively traditional Asmodian adage: the only way to survive is to fight. He came from mundane (non-Daeva) parents, so his resolve to fight for survival was all the keener – there was no immortality to protect him. As a child, he sparred regularly with his father. The duality of a Quarterstaff as a practical tool (walking stick, or readily converted into a hoe or rake with a metal attachment) and a fighting implement led both Theladas and his father to favor them. Theladas often considered blading the ends of his stave in order to add some additional power, but he didn’t have any exceptional skill in crafting.

Theladas learned fighting from his father and morality from his mother. He rolled his eyes at her lessons; he resisted the concepts of generosity and service with the whole of his being. The outside world taught him that any such vulnerabilities could cost him his life: he didn’t understand why taking such a risk could ever be worthwhile. Nevertheless, he humored his mother. He had some elementary practice in acting, too: no normal Asmodian could eat his mother’s cooking with a straight face.

Shortly after Theladas turned twelve years old, his home settlement was besieged by the Balaur. The city went up in flames, and Theladas lost both of his parents in the melee. His mother was killed before she could even leave the house – one of the dragon-like beasts tore through the wall and killed her in the atrium. Theladas’ enraged father forced Theladas into a closet before charging out to seek vengeance. He allegedly defeated three of the Balaur before they devoured him in the town square.

Bitter, angry, and orphaned, Theladas had no choice but to serve as a priest’s servant at the nearby city in Adelle. He loathed the work and stress, and was rarely given any more attention than an obtrusive slave. He lived on meager rations, as he was forbidden to hunt for himself, and was thoroughly alone. He wept for his parents daily, and cursed them afterwards. He hated them for making him care, and he hated them for abandoning him so recklessly.

Some months later, one of the priests of the temple took notice of Theladas. Her name was Allison Mews. She took Theladas aside one day during his work, after catching his unique way of sweeping the floor (it was much like swinging a quarterstaff, she thought). Sure enough, Allison found that the boy had training with a weapon. Theladas almost too readily told Allison his story: he’d gone for months without telling a soul. The next day, Theladas was roughly shoved away by his old owner, and Allison took over as his caretaker.

Over the next year, Allison worked with Theladas to hone his fighting skills. She also taught him how to meditate. In the meditative state, she told him, he could potentially protect himself and others with his willpower alone. Theladas didn’t quite understand her point at first, yet he soon began to feel what it was she spoke of. After a harsh day’s work, Theladas would meditate as Allison had taught him, and the aches in his shoulders would lift. He learned more and more about controlling this new strength, with Allison providing advice and assistance as necessary.

Theladas never fully understood why Allison offered to help him. He asked her about it regularly, yet her reply was always the same. She would shake her head and smile, saying, “I’m just doing Marchutan’s work.” Theladas knew she was lying, but ultimately ended up respecting her reasons. He knew she wasn’t trying to kill him, at least, and had no qualms with taking advantage of an opportunity. And so Theladas learned, and practiced, and practiced more, and injured himself in practice, and practiced more.

Theladas was well past his fourteenth birthday when he was out running an errand for Allison. His journey sent him across the island of Ishalgen: to each person he brought a missive, he was resent to another person with yet another letter. Theladas was grinding his teeth pretty hard by the time he passed through a graveyard. A purple glint then caught his eye: Theladas had discovered the crystalline prison of Munin.

Munin watched expectantly as Theladas approached. At once, he saw something in Theladas’ eye that was more than mundane. “I never thought I’d see another Daeva grace my path,” he said to the boy. Theladas stopped short, eyes narrow.

“Who’re you talking to?” he asked.

“You, of course,” Munin said with a scowl. “Do you see anyone else around?”

Theladas rolled his eyes. “Then you’d better stop looking through that purple thing – it’s messing with your eyes. I’m not a Daeva.”

“Oh, but you are,” Munin insisted.

“Daevas don’t come from mundane parents; everyone knows that,” Theladas said, glaring at the ground.

“Then where did the first Daevas come from, hmm?” Theladas looked back up at the man’s question. “They didn’t just fall out of the sky, you know. They’ve been a real part of this world for a long time, but they came about by chance. From mundane parents, no less.”

“So?” Theladas asked, impatient to get back to his work. Thinking about being a Daeva was making him envious.

“So, don’t let your parents define who you are,” Munin told him. He then pounded on the purple glass of his prison. “How about a deal, then?”

“What deal?”

“You go back to Allison Mews, and ask her why she’s been taking care of you-“

“-How did you-“

“-When she tells you that it’s all about Marchutan,” Munin went on, ignoring Theladas with a wave of his hand, “ask her if she would take care of you if she didn’t know you are a Daeva.”

Theladas stared at the man in the purple crystal for a long minute. “What’s the deal, then?” he said at length.

“If she has been telling the truth, then she’ll simply laugh it off. If she laughs the thought of you being a Daeva away, then you know I’m wrong; you can go wherever you like, and serve your mundane life out however you like.”

“Go on,” Theladas said, a bit reluctantly.

“Mmmm, but if she has been lying,” Munin said with a wry smile, “If she has been lying, then she’ll tell you at once when you ask her that question. She will tell you, just as I have, that of course you have the blood of a Daeva in your veins. And when she admits it, you come back here and I’ll see you onto the next step in your Ascension.”

Theladas slowly started to turn from the prison. “What’s in it for you?” he then asked, stopping dead in his tracks. When Munin didn’t answer, Theladas added, “Why would you want to help me?”

“Why, so that you can help me, too,” Munin said with a grin.

Theladas hurried back to Allison’s chapel quickly, his brow furrowed in contemplation the whole way. “A magical man inside in a giant, purple crystal is the expert on Daevas now?” he asked himself lamely. “What is this world coming to? I don’t even know why I listened to him.”

But Theladas couldn’t help his curiosity and, hide it though he tried, his hope that there was something more to his life. Allison’s eyes went wide when Theladas asked; she knew at once that he had met Munin. However, true to the old man’s word, Allison admitted to knowing that Theladas was more than a normal servant boy.

“You’d best go meet with him again,” Allison instructed. “You have a long road ahead of you.”

JerricahBanner 3C

Not a week after he had met Theladas, Munin had a second curious visitor. A young girl, dressed in fine robes and with the palest complexion he had ever seen. Her hair was a pale blond, vibrant in its luminence. Her eyes were an oceanic blue, and were presently filled with apprehension.

Unlike Theladas, the girl approached Munin’s prison with intent – she had come here to find him. Munin smiled warmly at the girl. “What’s your name, young Daeva?” Munin asked.

“I-I’m Jerricah,” she replied quietly. Her eyes were wide with wonder at the massive purple crystal. “And I’m not a Daeva. N-Not yet.”

“Ah, but you are an Albescent,” Munin said, tilting his head to the side. Jerricah nodded once. “That must be hard.”

“My family hates me,” Jerricah said, dropping her gaze quickly. “I’m nothing like my big brother, Yanis. He got the dark skin and dark hair; I got this curse, instead.”

“It’s not a curse, dear,” Munin told her.

“It is,” Jerricah insisted. “I can’t go anywhere without being ridiculed. Sure, being able to manipulate energy at will is handy, but lots of people can do that – they just have to study for it. I paid for it with this-” she gestured at her body, almost in disgust, “-instead.”

Munin couldn’t help but chuckle. He raised his hand in apology when Jerricah’s icy eyes locked on him. “I mean no offense, dear lady, but I think you underestimate just what a gift it is you have.”

“Looking like one of them is a gift?” Jerricah scowled.

Munin shrugged. “Outward appearances won’t mean much once you actually pursue your path. The mastery of energy that you already have far exceeds what most sorcerers are ever capable of. You’re only what, twelve?”

“Thirteen,” Jerricah corrected, standing up straighter and crossing her arms.

“Thirteen,” Munin agreed. “Do you have any idea what you’ll be capable of in ten years’ time? The very elements themselves will be at your beck and call. Ice storms, walls of fire, earthen monuments, and wind strong enough to shake the mountains shall leap from your fingertips. Albescents have a blessed strength with magic, an attunement and intuition for the elements that no one can ever understand. No number of books, and no number of hours spent studying can ever give you that. You may look like an Elyos, but an Asmodian Albescent who rises to her call is able to fight with unmatched skill.”

Jerricah sighed heavily. “I’m never going to have a normal life, am I?”

Munin raised his hands helplessly. “Sorry, kid; I don’t deal in normal. Last time I tried that, they put me in this prison.” He laughed at his own joke, but Jerricah was still staring at the ground. After a moment of silence, Munin raised an eyebrow. “Was there something you wanted to say to me?” he asked.

Jerricah looked at Munin, slightly confused.

“Something you wanted to ask me, maybe? Or did you just walk out here to mock me in my jail cell?”

“Oh!” Jerricah started. She shook her head and forced a smile. She then bowed deeply before Munin. “I have heard that you are able to help the men and women who are ready to ascend with the road to Pandaemonium. I implore your guidance in finding my way to immortality.”

“So you’re serious about this?” Munin asked.

“Yes, sir,” Jerricah said, still bowed.

“At such a young age, are you sure?” Jerricah didn’t move. “Why not go to one of the Guides in town?” he asked. “I’m but a poor prisonmate, after all; why come to me?”

“Because you are wiser than them.” Jerricah said.

“Don’t lie,” Munin said with a roll of his eyes.

“I didn’t,” Jerricah began. She trailed off, feeling Munin’s eyes boring into the top of her head. She sighed. “I can’t go to any of the Guides. My parents have forbade my ascension; they’d have me slave in the basement for all eternity. I cannot stay here any longer.”

“And so you hope to escape your home by rushing into the world?” Jerricah nodded slightly. “Out of the frying pan and into the fire if you ask me,” Munin said, apparently losing interest.

“Please, Munin,” Jerricah said, standing up and staring Munin in the eye. He could see her determination at once. “Please grant me guidance. I cannot go alone; I don’t know the way. But I cannot stay here, so I must go. Please.” She watched Munin’s expression closely, her small hands balled into fists.

“Well,” Munin said slowly, letting his voice drag. With another glance at Jerricah, Munin threw his hands up in defeat. “Who am I to deny a lady in distress?” he asked of the air. Then, with the responding bow that Jerricah had been waiting for, Munin said, “I’ll do what I can to guide your way to Ascension.”

At once, Jerricah’s face lit up in a smile; Munin laughed. “You should smile more,” he told her, “it suits you.”

Plenty more to come, but I think that should give a little background to these kids.





What’s a Weave?

17 09 2009

The following is presently an open problem in Aion. There are many people who will tell you they know the solution, but there is yet to be any conclusive evidence that convinces me of an actual solution. Moreover, most so-called solutions look at a particular case, rather than the general.

The basic problem is this:

Every character in Aion is capable of performing auto-attacks. Every physical damage dealer also has instant special abilities to deal damage. A character can only be performing one action at a time, however; instant special attacks and auto-attacks must happen in some form of interleaving structure. Every ability has an associated delay, implying a possible limit to the number of special abilities. Given this, what’s the best way to prioritize your auto-attacks and special abilities?

I don’t have a concrete solution to the problem myself. I believe it’s an open problem for a reason; each case depends on the number of special attacks available in a given time period and the strength of special attacks versus auto-attacks. The speed of the weapon in question is also an important component: faster weapons have identical special attack cooldowns, but shorter auto-attack cooldowns. Thus, each case is likely to have different results under optimization.

I would like to give some general intuition for solving this problem for a given particular case. That is, if you know the number of special attacks, their blackout periods, their cooldowns, and the speed of your weapons, you should be able to guess a good solution from the advice here. You can then tweak the information to fit your particular playstyle. Perhaps I can test out the general solution in the future, but I don’t really plan to test out Assassins, Gladiators, and Rangers that extensively.

First, let’s look at some key aspects of physical damage combat:

The Auto Attack:
Every character in Aion can perform these. based on the weapon equipped, and any Attack Speed modifiers, your auto-attacks will land at set intervals from one another in time. The time is listed on your character sheet. As a general rule, faster attack speeds lead to smaller damage values per swing for weapons of equal worth. The auto-attack swing timer is always running in the background once auto-attack is activated (though it is presently rather buggy because of an underlying implementation error).

Instant Special Attacks:
Most every special attack for physical damage dealers is instant; cast times are avoided so as to make the Concentration stat a non-issue for Warrior and Scout classes. When any special attack is executed, the auto-attack swing timer is allegedly reset. The reset in time occurs at the beginning of the animation period (as soon as your action bar blacks out), or what is sometimes referred to as the Global Cooldown.

Blackout Period / Global Cooldown:

Whenever a special ability is activated (completion of a spell cast or an instant ability is activated), your action bar will fade. During this period, no other action can be performed (though movement and jumping are sometimes preserved). The Blackout Period in Aion is not constant across abilities. For instance, a Priest’s buff spells can be cast within 1 second of each other, while many Gladiator special attacks have a blackout period nearing or exceeding 2 seconds (most are closer to 1 second, to be fair). This difference may not seem substantial, but it means that player reactions must revolve around individual skills, rather than a single Global time (turns out that this is harder to do optimally). Auto-attacks cannot occur during any Blackout Period.

Cooldowns:

Every special attack also has an associated Cooldown. Because most abilities are ridiculously cheap for Warriors and Scouts (remember from the Numbers post: MP is not a limiting resource for them), the cooldowns of the attacks become the limiting factor. Cooldowns vary from attack to attack, but most attacks used in a regular rotation require eight to twenty seconds of downtime before they can be used again.

Okay, that’s all elementary-school stuff, right? I just want to make sure Aion-specific traits of these terms are clear.

Now, some of the common solutions to the optimal interleaving of special attacks and auto-attacks:

Auto-Attack Only:

Auto-Attacks Only: damage is inflicted on every blue "A." 13 attacks in 12s.

Auto-Attacks Only: damage is inflicted on every blue "A." 7 attacks in 12s.

This one is rare, but important in a few key situations. Namely, when your weapons swing so quickly that even chaining special attacks is slower than your auto-attack speed. In such situations, the slower special attacks may hit a bit harder, but the lost speed could actually be a detriment to your damage output.

Burn Everything Early:

Special Attacks Only: damage is inflicted on every orange "S." The auto-attack swing timer continues to update, but there is never an opening for a blue "A." 8 attacks executed in 12s.

Special Attacks Only: damage is inflicted on every orange "S." The auto-attack swing timer continues to update, but there is never an opening for a blue "A." 8 attacks executed in 12s.

Many people claim (without evidence) that chaining together every special attack available as soon as it becomes available is the best way to deal damage. The intuition is that, because the abilities are special, they should take priority: they likely deal more damage and have important effects to get on the table (debuffs, stuns, etc.). Proper chaining of skills will lead to more attacks per second than generic auto-attacks for a slow weapon, with the added bonus of landing debuffs. Especially in late game, when your special attack list becomes long enough to fill a full 20-second rotation with no gaps, this becomes a very appealing option.

Weave Attacks:

Weaved Attacks: damage is inflicted on every blue "A" and orange "S." 13 attacks in 12s.

Weaved Attacks: damage is inflicted on every blue "A" and orange "S." 13 attacks in 12s.

The middle-of-the-road approach. The Weaving approach takes advantage of instant special attacks’ resetting of the auto-attack swing timer. That is, as soon as an auto-attack occurs, a special attack can be used without slowing down the auto-attack’s timer. Thus, a small pause is included after each special attack to allow for the next auto-attack to land. Remember that, in the Burn Everything Early approach, there should be no gaps in the rotation; as a result, no auto-attacks will land. By loosening the rotation correctly, one or two special attacks can be removed from a given 20-second rotation to allow for a number of auto-attacks (6 to 10, depending on your swing timer and tightness or rotation). This will give you more hits, but the auto-attacks are likely to be weaker than the special attacks on a one-to-one basis.

So, which approach is best? It’s all a matter of trade-offs. Each approach has its strengths, and the relative benefit to a player will vary with gear and available skills. As I said, it’s an open problem. Let me try to give some insight into some trends I’ve seen, though:

  • Filling a rotation with only special attacks removes the need for a fast weapon. The weapon simply becomes a stat stick; the one that best benefits your damage with special abilities subsequently becomes the best weapon overall. This means that attack speed bonuses on the weapon are irrelevant (unless the Blackout Time is affected by weapon speed – I don’t believe this to be true, but I haven’t encountered it yet so I can’t say for sure). It seems a little unusual that a stat of such relative worth would be useless to the highest level classes, simply because leaving no space for auto-attacks actually leads to more damage.
  • Filling a rotation with only special attacks only works once a rotation can be filled. What I mean is, you won’t have a full rotation at lower levels. When you can’t fill your rotation, you’ll have blank time no matter what you do. The auto-attacks here have, in my experience, come out to be roughly equal to the number of auto-attacks gained from a weaving approach at lower levels.
  • Weaving Attacks will perform better with a weapon speed that is closer to the Blackout Time of your special attacks than with a weapon that is really off from your Blackout Times. The closer they synch, the less time you have to wait for the next auto-attack. Therefore, there’s less blank space in your rotation not being devoted to special attacks.
  • Weaving inside a chain attack is almost always a bad idea; The chains tend to be tightly timed in and of themselves, so I find that they are best treated as a single, long-Blackout Time special attack.
  • Weaving around every attack may leave out too many critical abilities. In tandem with the note above, don’t let waiting for auto-attacks push important debuffing abilities or key high-damage abilities out of rotation. There are likely a couple filler abilities that can be lowered in priority – they are the best options to drop if your rotation is getting particularly tight.
  • Weaving will perform better under a lower latency. The closer you can time your special attack to the start of your auto-attack, the less swing-time you’ll end up clipping by restarting your swing timer. This is the best way to tighten a rotation, and some practice will allow you to predict when an auto-attack should land so you can pre-empt the server and have the two attacks land at nearly the same time.
  • Auto-Attacks are powerful. They miss out on the special effects and damage boosts of special attacks, but they do hit surprisingly hard. Their value should not be ignored.
  • Burst damage will behave very differently between approaches. A full chain-skill set will likely execute the most burst damage, but two single special abilities will likely benefit from having an auto-attack woven between them for three hits in the time of two-and-a-bit.

How would I approach the problem? I’ll give two case studies. First, I spent a lot of time on a Gladiator in the Closed Beta. I started out just chaining my abilities, then auto-attacking while the cooldowns spun. The performance felt a bit lack-luster. When I tried weaving in some auto-attacks between abilities, the cooldown timers suddenly started to synch more evenly: I had exactly the right special ability come up as soon as my auto-attack triggered. Suddenly, instead of the one auto-attack that fit in the open window at the end of my rotation, I was seeing three or four auto-attacks land in the exact same time-frame. No special attacks needed to be cut: I just got two extra swings every twelve seconds for exercising some patience. I subsequently stuck with weaving my attacks on my Gladiator.

Second approach, on my Chanter: I had fewer special abilities, so my intuition was to go with the approach that had worked on my Gladiator. I figured that this way, I’d be able to spread out my abilities and cut down on the downtime. It worked nicely. Then, curious as I was, I started trying to chain my abilities together as tightly as possible. I figured that if I could tighten my special attacks into one block of the rotation time, the other half of the rotation would be completely open. Turns out that I performed the same number of auto-attacks on a supertight rotation as I did on a nicely weaved rotation. Interesting. But, when I started getting lazy, I saw problems. When waiting between attacks because of inattention or some such, the little phases of open time cut into the block of blank time at the end of the rotation. As a result, a loose burn-all-specials-first approach yielded fewer auto-attacks in a given rotation.

As you can see, results change based on the situation. Either of those case studies may have behaved differently with more or less abilities to consider, or with differently timed weapons. I never had to choose between two auto-attacks and one special attack, for instance, which could have a whole range of trade-offs. I like that this is an open problem, though: if players can execute well-thought-out solutions, it will be a good indicator of how well they understand the game mechanics and, hopefully, the game itself. I look forward to hearing more about this subject, and in particular some thoughtful counter-examples to the boringly-easy “chain everything together immediately” approach.