Forums Tyrant

SimTyrant - The simulator that runs from your browser! page 3

869 posts

Flag Post

@moraku u coded this stimulator urself? :O
if yes, 1 word: EPIC
also well done ^^

 
Flag Post
Originally posted by tyj1995:

@moraku u coded this stimulator urself? :O
if yes, 1 word: EPIC
also well done ^^

Quoted for posterity. Sounds like a masterbation joke, lol.
But if you were referring to the simulator, yes, this was coded by myself from scratch.

 
Flag Post

Potential ideas for storage of simulation results:

(1) Local storage for easy comparison of multiple sims for the same mission, raid, or achievement

(2) Global storage which can be filtered by the following deck tiers:

SSS-tier: Unlimited WB decks, assuming the player has 10 copies of every Tyrant card in existence.
• S-tier: Limited WB decks, assuming no more than 3 copies of WB-only cards, but 10 copies of every non-WB Tyrant card.
• A-tier: Can use WB-only commanders and up to 10 copies of every non-WB Tyrant card.
• B-tier: No WB-only cards. Up to 10 copies of every non-WB Tyrant card.
• C-tier: No WB-only cards. Up to 10 copies of reputation and raid reward cards, but no more than the average number of each non-reward Tyrant card based on Fansite data.
• D-tier: No WB-only cards. No reputation or raid reward cards. No more than the average number of each non-reward Tyrant card based on Fansite data.

 
Flag Post
Originally posted by Moraku:

Potential ideas for storage of simulation results:

(1) Local storage for easy comparison of multiple sims for the same mission, raid, or achievement

(2) Global storage which can be filtered by the following deck tiers:

SSS-tier: Unlimited WB decks, assuming the player has 10 copies of every Tyrant card in existence.
• S-tier: Limited WB decks, assuming no more than 3 copies of WB-only cards, but 10 copies of every non-WB Tyrant card.
• A-tier: Can use WB-only commanders and up to 10 copies of every non-WB Tyrant card.
• B-tier: No WB-only cards. Up to 10 copies of every non-WB Tyrant card.
• C-tier: No WB-only cards. Up to 10 copies of reputation and raid reward cards, but no more than the average number of each non-reward Tyrant card based on Fansite data.
• D-tier: No WB-only cards. No reputation or raid reward cards. No more than the average number of each non-reward Tyrant card based on Fansite data.

As for B tier – having one Draco isn’t as problematic as having 10x UB.

 
Flag Post
Originally posted by Moraku:

Potential ideas for storage of simulation results:

(1) Local storage for easy comparison of multiple sims for the same mission, raid, or achievement

(2) Global storage which can be filtered by the following deck tiers:

SSS-tier: Unlimited WB decks, assuming the player has 10 copies of every Tyrant card in existence.
• S-tier: Limited WB decks, assuming no more than 3 copies of WB-only cards, but 10 copies of every non-WB Tyrant card.
• A-tier: Can use WB-only commanders and up to 10 copies of every non-WB Tyrant card.
• B-tier: No WB-only cards. Up to 10 copies of every non-WB Tyrant card.
• C-tier: No WB-only cards. Up to 10 copies of reputation and raid reward cards, but no more than the average number of each non-reward Tyrant card based on Fansite data.
• D-tier: No WB-only cards. No reputation or raid reward cards. No more than the average number of each non-reward Tyrant card based on Fansite data.

Using stats based on the 50% percentile leaves 50% of the tyrant playing population in the dark. I am not sure if sss1 would be willing, but you might be better off working with the 75 percentile (or maybe add an F-class for that). Or it could be based solely on mission and reputation rewards.

 
Flag Post

Adjusted based on suggestions, ignoring Fansite data altogether this time:

SSS Tier
Promo legendaries: 1 copy of each
Promo rares: 10 copies of each
WB-only pack cards: 10 copies of each
WB-only commanders: 1 copy of each
Faction/Reputation/Raid Reward cards: 10 copies of each
Tournament Reward cards: 10 copies of each
Gold-purchasable pack rares and legendaries: 10 copies of each
Gold-purchasable pack uncommons and commons: 10 copies of each
Mission Reward cards: 1 copy of each
Achievement Reward cards: 1 copy of each

S Tier
Promo legendaries: None
Promo rares: 3 copies of each
WB-only pack cards: 3 copies of each
WB-only commanders: 1 copy of each
Faction/Reputation/Raid Reward cards: 10 copies of each
Tournament Reward cards: 10 copies of each
Gold-purchasable pack rares and legendaries: 5 copies of each
Gold-purchasable pack uncommons and commons: 10 copies of each
Mission Reward cards: 1 copy of each
Achievement Reward cards: 1 copy of each

A Tier
Promo legendaries: None
Promo rares: None
WB-only pack cards: None
WB-only commanders: 1 copy of each
Faction/Reputation/Raid Reward cards: 10 copies of each
Tournament Reward cards: 5 copies of each
Gold-purchasable pack rares and legendaries: 4 copies of each
Gold-purchasable pack uncommons and commons: 10 copies of each
Mission Reward cards: 1 copy of each
Achievement Reward cards: 1 copy of each

B Tier
Promo legendaries: None
Promo rares: None
WB-only pack cards: None
WB-only commanders: None
Faction/Reputation/Raid Reward cards: 10 copies of each
Tournament Reward cards: 1 copy of each
Gold-purchasable pack rares and legendaries: 3 copies of each
Gold-purchasable pack uncommons and commons: 7 copies of each
Mission Reward cards: 1 copy of each
Achievement Reward cards: 1 copy of each

C Tier
Promo legendaries: None
Promo rares: None
WB-only pack cards: None
WB-only commanders: None
Faction/Reputation/Raid Reward cards: 5 copies of each
Tournament Reward cards: None
Gold-purchasable pack rares and legendaries: 2 copies of each
Gold-purchasable pack uncommons and commons: 5 copies of each
Mission Reward cards: 1 copy of each
Achievement Reward cards: 1 copy of each

D Tier
Promo legendaries: None
Promo rares: None
WB-only pack cards: None
WB-only commanders: None
Faction/Reputation/Raid Reward cards: None
Tournament Reward cards: None
Gold-purchasable pack rares and legendaries: 1 copy of each
Gold-purchasable pack uncommons and commons: 4 copies of each
Mission Reward cards: 1 copy of each
Achievement Reward cards: 1 copy of each

F Tier
Promo legendaries: None
Promo rares: None
WB-only pack cards: None
WB-only commanders: None
Faction/Reputation/Raid Reward cards: None
Tournament Reward cards: None
Gold-purchasable pack rares and legendaries: 1 copy of each
Gold-purchasable pack uncommons and commons: 3 copies of each
Mission Reward cards: 1 copy of each
Achievement Reward cards: None

 
Flag Post

It is in BETA, but I noticed that ‘load_deck_from_cardlist’ chews up a lot of CPU because it reparses every stimulation. The output from hash_decode/load_deck_from_cardlist should probably be cached.

Edit 1:
Also, it might be nice to see how good of a guess the win% is given it’s not as trivial to do 1 million stimulations in this stimulator. The below code is intended for after line 4282. The +/- interval shown is one of 95% confidence.

        if (games >= 100) {
                table += '% &plusmn';
                temp = wins / games;
                temp = 196 * Math.sqrt(temp * (1 - temp) / games);
                temp = temp.toFixed(1);
                table += temp;
        }

Edit 2: Playing around a bit more, regenerate looks like it’s the most CPU intensive activation skill, even with just 1 regen unit in each deck. Not sure why …

 
Flag Post
Originally posted by purei:

It is in BETA, but I noticed that ‘load_deck_from_cardlist’ chews up a lot of CPU because it reparses every simulation. The output from hash_decode/load_deck_from_cardlist should probably be cached.

Good point. I hadn’t noticed that :p
Deck-loading now runs only once per simulation. [v1.054]

 
Flag Post

Please can you start calling it “StimTyrant” ?

That is all.

 
Flag Post

It takes 6.5 minutes to run 20k simulations, about 30 minutes to run 100k. But of course it’s only 30% of your stamina bar and barely exceed 1 mission worth of energy. If by any chance sss1 lower the standard for the fansite to 20k~50k, this simulator is more than enough to be used as optional simulator beside NETRAT there.

 
Flag Post

Never used it before, so I wanted to play around with https://developers.google.com/closure/compiler/

I ran it on the StimTyrant code:

  • halves the code size, but makes it inscrutable (45% original size)
  • doesn’t speed up the simulations (maybe 1% speed up)
  • decreases memory footprint by maybe 2%

so, only useful if bandwidth is an issue.

 
Flag Post
Originally posted by purei:

Never used it before, so I wanted to play around with https://developers.google.com/closure/compiler/

I ran it on the StimTyrant code:

  • halves the code size, but makes it inscrutable (45% original size)
  • doesn’t speed up the simulations (maybe 1% speed up)
  • decreases memory footprint by maybe 2%

so, only useful if bandwidth is an issue.

Cool – although it sounds like various JavaScript “minifiers” will probably produce very similar results.

 
Flag Post

Cool – although it sounds like various JavaScript “minifiers” will probably produce very similar results.

Yeah, for the most part that’s all it is. However, there’s an ADVANCED_OPTIMIZATIONS option that does some function inlining and does some small rearrangements to avoid lots of assignments if possible.

It took some rewriting. I had to add something like this for every function: window[‘load_deck_quest’] = load_deck_quest; because anything not automatically run (it’s run when you press submit) is assumed to be dead code, so it just gets removed! Even after all of that, still no real benefit.

 
Flag Post

I ran a debug sim (Draco: 10xMonarch Vs Jotun) when I found this error.

Turn 1 begins for Dracorex [9 HP]
Dracorex [9 HP] plays Monarch (0) [3/5/3]
Monarch (0) [3/5/3] summons Honor Guard (1) [1/6/2]
Turn 1 ends

Turn 2 begins for Jotun [20 HP]
Jotun [20 HP] plays Avalanche
(Strike: +1) = 1 damage
Avalanche strikes Monarch (0) [3/4/3] for 1 damage
(Strike: +1) = 1 damage
Avalanche strikes Honor Guard (1) [1/5/2] for 1 damage
Avalanche freezes Monarch (0) [3/4/3]
Avalanche freezes Honor Guard (1) [1/5/2]
Turn 2 ends

Turn 3 begins for Dracorex [9 HP]
Monarch (0) [3/4/3] is frozen. Cannot reduce timer!
Honor Guard (1) [1/5/2] is frozen. Cannot reduce timer!
Dracorex [9 HP] plays Monarch (2) [3/5/3]
Monarch (2) [3/5/3] summons Honor Guard (3) [1/6/2]
Turn 3 ends

Turn 4 begins for Jotun [20 HP]
Jotun [20 HP] plays Equalizer (0) [2/5/1]
Jotun [20 HP] freezes Monarch (0) [3/4/3]
Turn 4 ends

It seems Honor Guard not Intercept it somehow..

 
Flag Post

oh, shouldn’t Fansite adopt SimTyrant as an alternative for EvaluateDecks already?

 
Flag Post
Originally posted by Necrophades:

I ran a debug sim (Draco: 10xMonarch Vs Jotun) when I found this error.

It seems Honor Guard not Intercept it somehow..

Fixed in v1.055

Originally posted by juderiverman:

oh, shouldn’t Fansite adopt SimTyrant as an alternative for EvaluateDecks already?

We’ll see.

 
Flag Post

LocalStorage isn’t available for older browsers (older than a year) IIRC.

Just saying.

 
Flag Post

Oh, a better place for the confidence interval would be with the average points. (line 4364 in v 1.055)
True Win % Interval: win% +/- range%

e.g. Say you’re testing deck 1 vs. deck 2 to see which beats Mission 100 more betterly. If the interval for deck 2 contains the win % of deck 1 then you cannot rule out deck 1, even if the win % of deck 2 is larger. People are probably running lots of quick sims (<< 10k) because they want a quick answer. They should know how accurate the shown win % is.


Minor graphical confusion with where Achievements are shown on the page. Mission/Raid/Quest dropdowns could be grouped together to imply ‘choose one of these’.


I was concerned the decks weren’t changing for quests based on the webpage output, but I see they are. Minor graphical fix would be if getquest/getraid are on, dump the whole deck, instead of the first subdeck you fight against.

 
Flag Post

It’d be great if you can make an option to record all loss sim like the one in debug mode.
It’s already great as it’s now btw.

 
Flag Post
Originally posted by Necrophades:

It’d be great if you can make an option to record all loss sim like the one in debug mode.
It’s already great as it’s now btw.

I guess you mean “Tell me why my deck lost, so I can improve my deck against that scenario”?

 
Flag Post

You read me like an open book. Yes.

 
Flag Post

Implemented new battlegrounds: Friendly Fire, Genesis, Artillery Strike, Photon Shield
Added dropdown for Custom Battleground selection.
Now uses the dev.tyrantonline.com data instead of kg.tyrantonline.com data

Version 1.060 – you may need to clear your cache to see the new changes.

 
Flag Post

is this legit for use in the fansite(to give simulation results in suggested decks)?

 
Flag Post
Implemented new battlegrounds: Friendly Fire, Genesis, Artillery Strike, Photon Shield

Sorry, may I ask what are these battlegrounds? Future battlegrounds (that have not be officially implemented in the game)?

 
Flag Post
Originally posted by garrymakis:

is this legit for use in the fansite(to give simulation results in suggested decks)?

Not sure what you mean by this. Fansite currently only accepts EvalDecks simulation results, but you are free to comment on your suggested decks with SimTyrant simulation results. If you’re worried about simulation accuracy, feel free to check it yourself. You can verify results between SimTyrant and EvalDecks as well as review battle logs via debug mode and build your own confidence.

Originally posted by KevinChan2:
Implemented new battlegrounds: Friendly Fire, Genesis, Artillery Strike, Photon Shield

Sorry, may I ask what are these battlegrounds? Future battlegrounds (that have not be officially implemented in the game)?

Yes, these are future battlegrounds. I implemented them early so we can play-test them before they go live. They are likely not implemented exactly as they are in-game, but it should give us a pretty good idea.