Recent posts by leftylink on Kongregate

Flag Post

Topic: Tyrant / hh's custom.txt

There are a lot of storied players and strong factions in HunterHogan’s collection of decks. However, one significant omission bothers me immensely. More specifically, I speak of the omission of the defense deck of one specific player from HunterHogan’s list. Take a moment right now to review his list and think of who I am talking about, keeping in mind that you are not looking for a player who is in the list, but rather a player who is not in the list.

Figured it out yet?

Okay, that’s enough time. If you guessed me, you were right. Notice how the name leftylink does not appear in HunterHogan’s list anywhere at all. How in BLAZES did I not make it onto this list? WAS I NOT IMPORTANT ENOUGH TO HUNTERHOGAN to be deemed worthy for inclusion? HunterHogan, how dare you make such a judgement of MY WORTH while including players who are CLEARLY less significant than I am. This is a personal affront and insult to my name.

 
Flag Post

Topic: Tyrant / [DEV] Arachis Raid Released

Originally posted by SeanDougherty86:

Potential Bug:

How did this poor bastard get in our raid?

We didn’t make it public

Look ma I’m famous

 
Flag Post

Topic: Tyrant / [bug?] Summoning overload bug again?

Originally posted by hunterhogan:
Originally posted by dmerritt:

Dunno if this is posted/belongs elsewhere, Mission 290 is glitching with a 5x Enclave Warp Gate Deck. Warp Gates stop summoning after a few rounds.

I used a deck with 5 Warp Gates and the sim winrate is 99.75% but I lost 4 of 12 matches. Another player reported losing twice in a row. I didn’t look for this issue, so I don’t know if this happened to me or not.

http://tyrant.40in.net/kg/mission.php?id=406&q=290#sdecks:did=20196

Anyone else?

FredrIQ has it right. The fact that only 50 units can be summoned has been well explored since the release of Credo Master over a year ago. this should not be a surprise to anyone.

tyrant_optimize gives a win rate of 83% for that deck, not 99.75%.

./tyrant_optimize ROhGhbg+-CEhGhuL4hGg+hG "Mission 290" -r sim 1000000
win%: 83.0136 (830136 out of 1000000)

Edit: It seems the cap is even lower than originally expected. That means the win rate should be even lower than the 83% than tyrant_optimize reports.
Maybe it’s even around the neighborhood of 49% or so. Just a guess.

 
Flag Post

Topic: Tyrant / Grand Master Plan for FP leaderboard

You might think that I am shafting Italian, but in reality I have no problem with them. Italian plays a very important part in the master plan. There are very few factions that can satisfy the role Italian has to play. In fact, the next faction that can fill that hole has not even penetrated the top 60 yet. So I need Italian very much in this plan. Please do not think that I do not have the balls to say it.

 
Flag Post

Topic: Tyrant / Grand Master Plan for FP leaderboard

Originally posted by ManuelDevil:

lol wtf are u?
if u have problem with italian attack us, don’t QQ in the forum about your ipotetical top 10.

instead of wasting time, learn to surge, n00b

I have no problem with Italian. Italian plays a very important part in the master plan. Without Italian, this plan would be very hard to implement. Notice that there is not a single other faction in the top 60 that can play the role Italian has to play in the master plan.

 
Flag Post

Topic: Tyrant / Grand Master Plan for FP leaderboard

Originally posted by technoale:

so you just hate italian?

No, Italian has an integral part to play in this master plan. If Italian did not exist, this plan would be significantly harder to implement.

 
Flag Post

Topic: Tyrant / Grand Master Plan for FP leaderboard

reserve

 
Flag Post

Topic: Tyrant / Grand Master Plan for FP leaderboard

I have a Grand Master Plan to improve the Tyrant FP leaderboard. Currently, the leaderboard looks like this:

Better World
Warmongers
Italian
Pendulum
That’s All She Wrote
Shinigami
Noobz
Tyrants Club
ElectroMagneticPonys
Brags Only

It could look a lot better though, and in this thread I share my ideas about how to achieve perfection in the FP leaderboards.

First, Pendulum needs to move up one spot. It will not be an easy task to overtake Italian, as they are a strong faction, but this could be accomplished with some hard work.

Shinigami also needs to move up one spot as well. There’s not a lot of FP distance separating Shinigami and That’s All She Wrote, so this goal isn’t too far away.

Next, Noobz needs to move up three spots. That means Noobz has to work hard to overtake Italian as well, but I’ve always thought Noobz had a really cool name and I think they can persevere to overcome this obstacle.

Now comes the hard part. ElectroMagneticPonys must move up a whopping five spots! There’s a lot of competition up there, but I think such an awesome faction such as them, who coordinated effectively to make a pony shape on the conquest map, can coordinate just as effectively to make such a feat reality.

When all this happens, the FP leaderboards will have achieved a new level of perfection. I am excited to see this plan in action.

 
Flag Post

Topic: Tyrant / Current Tyrant Bugs (August 18, 2013)

We cannot sell Infantry cards in such a way that would decrease the count of Infantry cards owned to less than 2. That’s fine, that’s not a bug.

However, the bug comes when a user comes to own a foil Infantry. This foil Infantry cannot be sold. I would guess that this bug extends to foil Heavy Infantry as well. We should be able to sell foil Infantry.

 

Topic: Rise of Mythos / JULIET

This post has been removed by an administrator or moderator
 
Flag Post

Topic: Tyrant / SimTyrant - The simulator that runs from your browser!

Originally posted by IMBArathrum:

There is also a problem with legion achievement. Check out this deck http://tyrant.40in.net/kg/ach.php?id=255#sdecks:did=15600

Let’s talk about this.

Far as I can tell, every turn, for every assault that has the skill Legion…

tyrant_optimize counts one activation of Legion if the assault either healed or rallied itself.

SimTyrantJS counts one activation of Legion if the assault healed itself… and then one more activation if the unit rallied itself.

I can’t figure out how iteratedecks counts Legion activations, sorry. For all I know it might just be reporting the mission win rate and not the achievement rate. Considering that t_o thinks the win rate 97.235%, this is the best hypothesis I have here.

 
Flag Post

Topic: Tyrant / Automatic deck optimization

Originally posted by IMBArathrum:

There is also a problem with legion achievement. Check out this deck http://tyrant.40in.net/kg/ach.php?id=255#sdecks:did=15600

Let’s talk about this.

Far as I can tell, every turn, for every assault that has the skill Legion…

tyrant_optimize counts one activation of Legion if the assault either healed or rallied itself.

SimTyrantJS counts one activation of Legion if the assault healed itself… and then one more activation if the unit rallied itself.

I can’t figure out how iteratedecks counts Legion activations, sorry. For all I know it might just be reporting the mission win rate and not the achievement rate. Considering that t_o thinks the win rate 97.235%, this is the best hypothesis I have here.

 
Flag Post

Topic: Tyrant / Automatic deck optimization

CC this thread on ANP off-by-one question

Andor, if you could, change this line:
fd->last_decision_turn = p0_size * 2 - (surge ? 2 : 3);

to read this:
fd->last_decision_turn = p0_size * 2 - (fd->gamemode == surge ? 2 : 3);

I made an incredibly stupid mistake when writing that line, as you can see.
This change allows tyrant_optimize to pass the first of two ANP tests I just submitted to the test suite (it already passes the second).

We’ll pretty much have to invalidate all ANP calculations made by tyrant_optimize.

I’m sorry I was so stupid ;__;

 
Flag Post

Topic: Tyrant / [For SIMs] Public Test Case Repository

Doh, looks like I introduced an off-by-one error to the “speedy” turn limit way back when I did ANP for tyrant_optimize. Confirm for me:

PoH0fu (Cyrus, Sundering Ogre, Communications Array) ordered fight versus Po (Cyrus)
Last decision is on turn 1, battle finishes on turn 11.
All damage (10 damage) happens after last decision, so damage bonus is 10. Win bonus is 10.

Speedy bonus ends on turn 9 (or is it 10? either way, it’s not 11), so we should see 20 points (SimTyrant and IterateDecks), not 25 (tyrant_optimize).

Submitted two tests to repo to test the timing of the speed bonus.

 
Flag Post

Topic: Tyrant / [For SIMs] Public Test Case Repository

I keep failing this test because the expected winrate is listed as 50%, and I check with a tolerance of 1%.

[FAIL] 3f270f swipe + valor will still count regenerated units – Had 53.197 winrate, but expected 50 winrate

tyrant_optimize reports 5312347/10000000, iteratedecks reports 531415/1000000, SimTyrantJS reports 531826/1000000.

The math:
Revolver activates one turn before Sidewinder, attacking. Sidewinder is at 5 health.
Sidewinder attacks, activating Valor on Revolver. Revolver dies!
50% chance that Revolver does not regenerate. Well, then Sidewinder can’t touch Tremor Hunter, and attacker wins.
50% chance that Revolver does regenerate. Well, then Sidewinder activates Valor on Tremor Hunter, killing it!
Well, now the attacker can only win if Revolver regenerates four more times successively, which happens 6.25% of the time.

So the win rate should be 53.125%. If you don’t mind, I’m going to change that right now.

 
Flag Post

Topic: Tyrant / [For SIMs] Public Test Case Repository

OK, I tested with Ningeco on Step 21.

Ningeco never chaosed any of the Righteous units, since he kept his Chaos Xeno, rather than having it be replaced with a Chaos All.

 
Flag Post

Topic: Tyrant / [For SIMs] Public Test Case Repository

I don’t think this achId is supposed to be there:


[PASS] 2a56fe CopyCat battleground effect: Commanders should NOT Mimic enemy Assaults.
[SKIP] 58364d CopyCat battleground effect: Action cards should NOT Mimic enemy Assaults. - skipped because ["achId"]
[PASS] 95ee7c CopyCat battleground effect: Action cards should Mimic allied Assaults.

Should test case 58364d really have an achievement associated with it? Methinks not.

Oh look, I can edit test cases myself. Fixed that.


This one seems weird to me:
[FAIL] fbcfd2 Commander's existing Chaos skill does not get replaced with Chaos All under 'Friendly Fire' battleground effect. - Had 0 winrate, but expected 100 winrate

Is that really how it works? This is unlike all other “commander gains a skill” effects (see Decrepit and Forcefield). I don’t have a Friendly Fire quest handy, otherwise I would check it myself…


I am glad that through our collective efforts we have come up with a good set of test cases.

 
Flag Post

Topic: Tyrant / Automatic deck optimization

Originally posted by cslaci:

Is there a way to use the optimizer to perform simulation ONLY and do not have to terminate it’s execution?

Like

optimizer.exe DeckHash1 DeckHash2 -r sim 100000
optimizer.exe DeckHash1 DeckHash2 -s -r sim 100000
optimizer.exe DeckHash1 DeckHash2 -s -r -e “Whatever” sim 100000

Sorry if I have overlooked something, but I did not find a solution for this one.

Doesn’t tyrant_optimize already have this sim option you are talking about?

Even if it doesn’t, the only thing you need to do is make ownedcards.txt blank (I just do ln -sf /dev/null ownedcards.txt) and then use the -o option (Or you can use -o=/dev/null). Optimization then stops immediately after initial simulation since you have no owned cards with which to improve your deck.
This solution has been around forever, and it makes the sim option completely unnecessary.

 
Flag Post

Topic: Tyrant / SimTyrant - The simulator that runs from your browser!

Think I could convince you to also allow + as a suffix for upgraded cards?

 
Flag Post

Topic: Tyrant / [GUIDE] Phobos Skills

We know that Jam will stop "on death" activation skills from activating. So it is reasonable to be curious about whether Freeze does the same.

I have just tested on a Chilling Touch tile: Freeze does not stop "on death" activation skills. A Neverender, even when frozen, will still Strike 2 as it dies.


Originally posted by Moraku:

• Can you payback On Death skills? (only applicable against Neverender)
Answer: NO. Regenerate triggers AFTER the window for Payback trigger. This means there is no target for Payback to activate upon.

Heh... I can demonstrate a situation where an on death skill is paybacked. Watch this (and thank you to commonkey for pointing this out initially).

Attack deck: Cyrus (or really, any non-heal, non-protect commander), Interdictor, Neverender.
Defense deck: Atlas, Mobile Command, Electromagnetic Pulse.

Instructions

Fight yourself. Play Interdictor. If defense plays EMP (50% chance), skip the battle and try again. Else, defense played Mobile Command, which is good! Sit back and watch the battle carefully. Next, you will play Neverender. Defense now plays EMP, killing both your units.
Interdictor strikes 3 on death.
Assuming you got to this point, then 50% of the time, Neverender regenerates.
Regardless of whether Neverender regenerates, Neverender strikes 2 on death.
If Neverender has regenerated, there is a further 50% chance you will see Mobile Command payback Neverender's strike onto itself, causing Neverender to be killed a second time (oddly it does not strike 2 again when it dies a second time?!).
For those keeping track at home, this happens 12.5% of the time in this setup.

---------- TURN  4 ----------
Attacking Commander: Elena #-1, 4/4 HP
Units:
    Interdictor #1, 3 atk, 2/3 HP, 1 wait
    Neverender #2, 4 atk, 2/2 HP, 2 wait
Structures:

Defending Commander: Atlas #-2, 10/10 HP
Units:
    Mobile Command #101, 1 atk, 12/12 HP, 3 wait
Structures:
Defending side plays Electromagnetic Pulse #102
Electromagnetic Pulse #102 uses strike(2) on ["1", 2]
Interdictor #1, 3 atk, 0/3 HP, 1 wait uses strike(3) on [101]
Neverender #2, 4 atk, 0/2 HP, 2 wait uses regenerate(2) on [2]
Neverender #2, 4 atk, 2/2 HP, 2 wait uses strike(2) on [101]
Mobile Command #101, 1 atk, 7/12 HP, 3 wait uses payback(0) on [2]
Mobile Command #101, 1 atk, 7/12 HP, 3 wait uses strike(2) on [2]
---------- TURN  5 ----------

Just tested this tonight, and it still works. Enjoy.


I used the same idea (Interdictor's strike causing Neverender to regenerate) to attempt to cause chaosed Neverender to strike itself, but I have not yet had any luck. My setup for that was Ningeco, Utopia Beacon, Infantry, Sustained Wall, Zarak against Dalia, Interdictor, Neverender. Fight as Ningeco, surrender if Neverender comes first, let Infantry smack Interdictor once, then wait for Zarak to kill both units at once. You cannot use EMP here because EMP will act before Ningeco can use Chaos on Neverender. If what we observed above holds, Interdictor should strike, Neverender might regenerate, and then if Neverender is alive when it's Neverender's turn to Strike 2, it should kill itself. However, I have gone through at least ten trials without success here.
 
Flag Post

Topic: Tyrant / [GUIDE] Awakening Skills

We know that Jam will stop “on attacked” activation skills from activating. So it is reasonable to be curious about whether Freeze does the same.

I have just tested on a Chilling Touch tile: Freeze does not stop “on attacked” activation skills. A Scrapper, even when frozen, will still Strike 1 when it is attacked.

 
Flag Post

Topic: Tyrant / [Guide] Warswapping 2.0

Originally posted by Philosopher:

We started swapping to confirm the bug and report it, because we knew Evo/WM have been war swapping for weeks. We’ve stopped.

I have not observed further TASW/BW war swapping. The last pair of wars ended around 05:38 of December 22 UTC, so I confirm this post is true and that TASW and BW have stopped.

And in case anyone is wondering, Evocati and Warmongers are still at it. Yup.

 
Flag Post

Topic: Tyrant / [POLL] Rename "The Alliance" (and a debate on the morality of said "Alliance")

I was going to suggest that you call the larger alliance (currently known “the Alliance” on the forum) what we call ourselves (the G5 Allies). It just seems ridiculous to put this up to a vote when it is clear what we call ourselves. Then, I realized that it is not always the case that a group is known the same way by those in the group and those outside the group. So I will yield to the community on this point. Call us “the Alliance” if you want, I guess, but I agree it is confusing because there has historically been a different “Alliance”.

In the same vein, I was also going to suggest calling the smaller alliance what we call ourselves (the UA), but the same problem applies here. I would request, however, that you not call us “the counter-alliance”. That just seems like a silly name for us.

As for various arguments in this thread… whatever.

 
Flag Post

Topic: Tyrant / Automatic deck optimization - leftylink's thread

Originally posted by grrrmpf:

Thanks Leftylink for all the work you put into this! Quick question since I am not a git expert: How do I deal with git error messages like this (caused in this case by the “-lboost_chrono” required on Windows)?

error: Your local changes to the following files would be overwritten by merge: Makefile

Simply moving that file out of the way does unfortunately not seem to help.

The solution is obviously to become a git expert. It will make your life much better.
But actually:
git stash; (do whatever you need to do); git stash pop


Originally posted by Herethios:

Hey Lefty!

If I get it right, I would have to be a collaborator in your Repository in order to work on your code without cloning it. I suppose I could now delete my repo and clone it again in order to get your werror branch. After my changes I can send you a pull request again and Bingo!

Correct?!?!

Greets Herethios

You don’t have to delete your repo, though you can if you want. You can just add my repo as a remote (remote add leftylink git://github.com/leftylink/tyrant_optimize.git) and get whatever branches you want from it. Please keep in mind that I still rebase my branches, though. I guess I should stop doing that sometime.

Anyway, send a pull request whenever you like.

 
Flag Post

Topic: Tyrant / Automatic deck optimization - leftylink's thread

Small announcements:

I added a small fix to the XML parsing code that will cause it to NOT choke on the ` character in raids.xml. Now, removing the ` character is completely optional!

I merged in all of Herethios’s compiler warning fixes and added the -Werror flag to the Makefile (causes compilation to FAIL if there are any warnings). There were no warnings on my development machines, but if you find any because of platform differences, feel free to point them out to me.

Yes, all branches are rebased.

Probably the next item on my list is “on Kill”, but I think I am waiting on more information on its mechanics before diving into the implementation.

Now to reply to a few posts:


Originally posted by KevinChan2:

In Automatic deck optimization:

tyrant_optimize.exe SzMBLeCIIGMBInEFJw “Xeno Domination 1” -o -s -r climb 100000 > result.txt


(omitted)
win%: 70.806 (70806 out of 100000)

In SimTyrant v1.105:

Wins 3170/5000 63.4%
Link: http://haileon.com/SimTyrantJS?deck1=SzMBLeCIIGMBInEFJw&surge=1&ordered=1&mission=318&sims=5000

I don’t know whether this is bug, so I post a report here.

I think this is a significant discrepancy, and that you should figure out a minimal set of cards (possibly a subset of cards used here) that cause this discrepancy, and we should talk.


Originally posted by commonkey:

Thunor: you can use card IDs instead of name. So for example in Custom.txt:

bla: Dracorex, pip [864], Orbo

is a valid deck. 864 is the id for pip, you can find all the IDs in cards.xml

Thank you commonkey. I am updating my first post to indicate this.
Psst, we should talk about merging my changes sometime…


Originally posted by Herethios:

Hey Leftylink!

I started to remove some Compiler Warnings.. Thy hurt my eyes! ;) I don’t know my way around on github, so please check wheter I have done anything wrong or not! I have more changes wich I have not put on github yet, because after changing xml.cpp my pull request said 60 changes! I suppose that qould be into master and not into leftylink…

I am used to Clearcase! First Time I am trying to help on a github project!

Greets
Herethios

Yeah, it’s because I rebased the branch since you cloned it. No matter, I’ve merged your changes in. Thanks for your help!


Originally posted by Kassiopeia:

If it is manageable, do you think you could implement an extension to the use of cards of the ownedcards.txt so that the optimizer could use up to 10 copies of a reward card, although you only have 1 copy.

You are right that this is useful. I’m not sure this is a job for tyrant_optimize to handle, though. More likely this job can be done by a small script that reads cards.xml and ownedcards.txt and output an ownedcards.txt with 10 copies of any gold-buyable reward card. Then you simply use that new ownedcards.txt instead. Because I feel like this functionality is better implemented externally, it is really low priority for me to implement right now, but I will consider it if someone writes it and submits a pull request.


Originally posted by Kaeel:

I can create an interface in C# and .NET, if someone is interested.

Oh, I’m sure someone is interested, as evidenced by conversations earlier in this thread. Anyone is free to contribute whatever they want; that is one of the good parts of open source. There are various options available for making this GUI, and it is made easy by the fact that the command-line options already complete control over all of this tool’s functionality. Of course, the previous point means that for me personally, a GUI would simply make this tool harder to use and use up unnecessary resources as well, a double whammy! I have no interest in providing a GUI or including it on my repo, but that still should not stop you from creating one if you feel like it.