Tuesday 22 March 2016

Some background information of "dungeon data"

This post is not related to any game play experience or card / mechanics analyses. I just want to share with you something works in background, especially on the dungeons are you attempting.

Dungeon Monster Tables

The monster tables store the appearances of monsters with their respective actions in a dungeon. For example in Hera Sowilo it pulls a data of "Tornado Holy Dragon" on floor 5. Other dungeons like Nordis and Hel also pull the same data set of "Tornado Holy Dragon". That's why every time you encounter a Tornado Holy Dragon you are expected to see the same set of behavior (for instance, preempt shield → 3 turns count down followed by Disaster Air). The only differences are the encounters' stats (HP, ATK, DEF) and their drop levels.

Have you ever asked yourself "how do they determine the level of drops?" Why the same dragon in Hel Legend drops me a level 4 egg, and Hera-Sowilo drops me a level 5, and Nordis Mythical+ drops a weird level 11 dragon?

It is because the stats of the monster you are facing is tied to the drop level - the higher the drop levels, the harder the encounter. And from now on I'd like to call the drop level "Monster Level".

Monster Level

The Monster Level (MLv) determines the stats of the encounter. Take "Tornado Holy Dragon" as an example (does not include encounter of its previous evos), its stats can be determined by the following formulas:

ATK = 1560 + 5033.3 x (MLv-1)
DEF = 820 + 820 x (MLv-1)
HP = 100207 + 322882.6 x (MLv-1) 

For instance, the Tornado Holy Dragon in Nordis Legend+ has a MLv of 10 (since it drops as a level 10 egg). With the formula you can calculate the HP, DEF and the ATK of the encounter.

ATK*DEFHP
Fomular10457982003006150
In-game value10458082003006150

* the actual damage of "Disaster Air", which deals 300% damage of its ATK value.

Every encounter in this game is stored as a linear function of stats and the dungeon data stores the MLv of the encounter.

The internal MLv can go over their maximum level. For example the internal MLv of "Frost Devil" at MLv 10 in Aamir Legend, MLv 15 in Aamir Mythical. So "Frost Devil" you got from Aamir Mythical is dropped at Lv Max. If you have cleared the Alt dungeons in Co-op you should remember you have encounter the same "Frost Devil" that drops at Lv Max, but hits much harder - It is because they are at MLv 20 and 21 (in Alt Talos's Abyss).

You'll see same things applies to monsters that drops only at level 1, like High Emerald Dragons, it's MLv 30 in Legendary Earth, and MLv 1 at Super Emerald Dragon (the alert dungeon). There are also MLv 10 dub-lits at Sky Prison and MLv 12 Mystic Masks in Alt Temple of Trailokya.

The rank EXP (rXP) given upon defeating monsters is also tied directly to their MLv.
rXP = base x MLv
For example, Sapphire Carbuncles (and all carbuncles of the same evo stages) has a base rXP of 13.57, and non-evo Pengdras has a base rXP of 40, which is about 3x of a carbuncle.

Take Alt Shrine of Green Water as an example:

The carbuncles and pengdras are dropped at Lv Max, but their internal MLv are 31 and 21 respectively. For each carbuncles spawned and defeated, you gain 13.57 x 31 ~= 419 or 420 rXP depending on the round-off, and for each Pengdra killed you gain 40 x 21 = 840 rXP. And the High Emeralds gives 1500 rXP!

The last but the least, monsters that don't drop eggs also have an internal level to determine their stats. For example "Fire Serpent God, Hino Kagutsuchi" which appears in Izanami and Takemikazuchi has an internal level of 3, 5 for Izanami Legend and Mythical, and 3, 6 for Takemikazuchi Legend and Mythical respectively.

For your information, FD Hino's stats curve is:
ATK = 1564 + 5036 x (MLv-1)
DEF = 84 + 84 x (MLv-1)
HP = 100210 + 322899 x (MLv-1)

Encounter buff?

But wait fether, your formula is a bit off and is not consistence in eh.. some dungeons?

That's true because some dungeons also give an implicit buff to monsters! And this is how Gungho counter the buff/"conditions" of dungeons that enhance certain attr./types of monsters in our team. For example, Dark Knight! buff all stats of Physical and Devil cards by 1.5x. They also increases the monsters in the dungeon HP and ATK by 1.5x to counterbalance it. This way, they are not raising the MLv of the encounters directly so you won't get extra rXP (remember rXP is tied to MLv), and impose a "punishment" to players that use cards that does not fit the conditions (as oppose to the old restriction rule).

Below is a list of implicit monster buffs applied to the dungeons:

Player Buff Enemy Buff
x1.5 ATK Defense HP
Tengu!! Balanced 1.5 2.5
Draggie! Attacker 2.5 2.5
Dragon Zombie Dragon 1.3 1.3
RO ACE Healer 1.5 2.5
Gaia God 2.0 2.0
Zhang Fei Phy / Atk 1.3 1.3
Guan Yinping Phy / Healer 1.5 1.3
Dark Knight Phy / Devil 1.5 1.5
Takemikazuchi Balanced 1.3 1.3
Yamatsumi Wood 1.5 2.0 1.5
Gran Reverse Dragon 1.5 1.5
Alt Dungeons I * None 1.5
Alt Dungeons II ** None 1.5 1.5

* Alt Dungeons I : Alt Castle to Alt Trailokya. 1.1x ATK and HP instead to High Metals Dragons.
** Alt Dungeons II : Alt Hypno to Alt Talos's. 1.1x ATK and HP instead to High Metals Dragons.

Saturday 27 February 2016

Orb enhance vs Row enhance

YES ORB ENHANCE!

I'm talking the seemingly useless awakening here - why do they even exist? Are they solely there for the 5-orb-1-enhanced LS? Why the Time Goddess keep getting these "shitty" awakenings on UEvo?



Recently, after tinkering with my NepDra team, I think I got the answer.

Understanding the maths behind rows and OE would open a new world to team building. So let's start with the maths.

At the simplest form, the damage calculation formula looks like this:


Here we are interested in the Row bonus and the OE bonus. TPA bonus is more difficult to handle because it's a card-wise damage boost.

Row bonus are often considered as the primary damage multiplier for many row teams because it stacks additive per activation. The actual multiplier is:


For example, a team stacked 12 row enhances and matched 2 rows. The row bonus would be 1 + [(12/10) * 2] = 3.4. Simple enough.

OE bonus is rather complicated. Each OE awakening increases the chance of a skyfall enhanced orb by 20%. At 5 OE awakening, every skyfall orbs are enhanced. But here we are interested in the damage bonus given by enhanced orb.

The calculation of enhanced orb consists of two parts - one part is dependent only on the number of OE matched, and the other part is dependent only on the number of OE awakening in your team. The actual multiplier is:



For example, a team stacked 9 OE awakening and matched 8 orbs with only 3 enhanced. The OE bonus would be [1 + (0.06 x 3)] x [1 + (0.05 x 8)] = 1.652.

From the formula, there are few interesting things:

First, assuming everything else stays the same, for each extra OE awakening stacked in the team, that awakening gives a less than 5% increase in damage and is diminishing.

Second, if you can slip at least one OE into a orb match while having 5 OE awakening in your team, you are guaranteed to have a least multiplier of 1.06 x 1.25 = 1.325.

----

So what give?


Assuming you can freely trade one row enhance awakening to one OE awakening (which in fact right it's kind of officially 1:2), and in an extreme case assuming you are choosing between a card with 5 row enhances and a card with 5 OE. Reasonable, right?

Since people like stacking rows to an absurd amount, I assume on average each of your cards holds 2 row enhances, so you have 10 rows enhances and 0 OE by default.

Now let's see the amount of damage you just gained from the 5 row enhances.

Row matchedmultiplier @ 10 rowmultiplier @ 15 rowincreased in damage
122.525%
23433.3%
345.537.5%

The damage increase from 5 extra rows enhance at 10 rows enhances ranges from 25% to 37.5%. Remember, the higher the number your original RE, the less damage you will gain from additional RE.

Now let's see what can you get from having 5 OE. 

With 5 OE all skyfall orbs (of that color of course) are enhanced. Now you are making one row without using orb changers - that means all 6 orbs in the row are enhanced.

For one row, the multiplier you get from OE alone is [1 + (0.06 x 6)] x [1 + (0.05 x 5)] = 1.7. It's a 70% increased in damage you gained from taking 5 OE over 5 row enhances.

In reality it is not possible to make two rows without using orb changers. Assuming you are changing 6 heart to 6 attacking orbs. On your board you have 12 attacking orbs, enough for two rows, with 6 enhanced neutrally and 6 not enhanced.

Mathematically it doesn't matter how you split the 6 enhanced orb as long as you have at least one enhanced orb per match while matching all enhanced orbs, you average OE bonus will stay the same, and it's 1.475 in this case, or a 47.5% increase in damage. For 3 row matched (12 not enhance + 6 enhanced), it's a 40% increase in damage.

For least increase in damage in all cases, that you have 5 OE awakenings, but only 1 enhanced orb per row, it's still an 32.5% increase in damage.

It's all better than stacking 5 rows, in almost any case, not to mention it's often hard to stack 5 extra row even with two flex slot; but you can stack 5 OE relatively easy.

----

So... stacking OE or stacking RE?


The correct question is, "At how many row enhances stacked should I throw in 5 OE awakenings?"

It vaguely depends on your team compositions and orb matching nature since OE bonus varies largely depending on the amount of neutral enhanced orbs in on your board before bursting with an orb change.

For example, NepDra can usually do two row-match at maximum and usually save water orbs. It's beneficial to stack a few OE before stacking further row enhances (assuming your OE subs helps you of course, not just blindly put OE awakening in your team).

Deliberately enhancing orbs in a row team does seem to work the effort. Stacking enhanced orbs do higher damage than spiting them into more rows at high amount of OE awakenings. For example at 6 RE and 8 OE, stacking 12 orbs together net you 1.6x from RE and 2.41x from OE, or 3.85x total, somehow doing similar damage to matching 2 rows at 14 row enhances. However for some row teams that can often match 3 rows, you could get higher damage from row enhance rather than stacking orbs together and enhancing them.

Nonetheless, getting good amount of skyfall enhanced orb is far more important than
just mindlessly pumping the amount of row enhances in your team. After all, the math is here and it's you (and your calculator/spreadsheet) to build a team that suits your play style.

----

Below are some useful cards to help you stack OEs

Nut & Osiris: even if your team is row based, a card 4 OE awakenings with worth a lot more than a card with 2 row enhances awakenings

Hathor: Might as well consider putting her in your Saria/Thor team for some passive damage boost

Nephthys: Actual damage boost from her AS is, at least for row team, 2.53.

Urd/Verdandi/Skuld: 2~3 OE along with a good AS and stats, as well as extra heart enhance that helps your RCV and keep your attacking orbs from heart-to-X skills enhanced

Ares Nova/Goetia: 4 OE, quick enhance with orb spawn.

Constellation I: 2 OE and 2 heart OE. Self comboing with a heart-to-X skill that keep converted orbs enhanced.