Forums Tyrant

Automatic deck optimization - leftylink's thread page 2 (locked)

Subscribe to Automatic deck optimization - leftylink's thread 220 posts

avatar for catepillar catepillar 2026 posts
Flag Post
Originally posted by cslaci:

Hi,

Do I get it correctly, that if I want to use these cards of mine:

Halcyon’s Cleansing(1)
Kendar’s Legacy(1)
Ophanim’s Blade(1)
Razogoth’s Heir(1)
Tyr’s Hunter(12)

I should rename them in cards.xml AND in every deck it uses them AND in ownedcards.xml ?
Compilation seems to be working for Ubuntu 12.10 though libboost needed some added stuff:
libboost-system1.49-dev
libboost-thread1.49-dev
libboost-filesystem1.49-dev

It’s my understanding that that ’ should be fine. I don’t see where it could be causing problems.

 
avatar for leftylink leftylink 86 posts
Flag Post

In general, I am busy this week and won’t be able to do much here (though I’ll gladly take pull requests…). Wonder if someone else will come up and fork my repo with new code, and start yet another thread. Let me respond to a few things.


Originally posted by Aapje:

Lefty,

I’m wondering how you feel about this idea: an option that starts the optimizer with climb 100, then switches to climb 1000 once 80% is reached and then climb 10000 when 95% is reached. In my experience, when optimizing against an unknown deck without much of a clue what to use as an counter, this method is the quickest way to find a good counter, but I have to manage it by hand now.

Wondering whether I should hard code numbers in or let the user configure the cutoffs and number of simulations at each. I’m not 100% convinced I should put such an option in, but I maybe could make the process easier by doing two things: outputting deck hashes and implementing your other suggestion.
I’ll have deck hash output at some point in the coming week or so.

Originally posted by Aapje:

Secondly, I’m wondering if you can make a presumably very simple addition: an option to cut off the sim at a certain percentage (or ANP value). Sometimes I just want a decent deck quickly instead of the best deck slowly.

Should be simple, yes. For now I have to leave it to others, but in general, look at tyrant_optimize.cpp, add some command-line option, then either set a global variable or pass it as an option to hill_climbing and hill_climbing_ordered. In hill_climbing and hill_climbing_ordered, instead of stopping when score == best_possible, stop whenever it exceeds the threshold.


Originally posted by cslaci:

Quick question. What platform is used for testing / developing? I am about to set up a VM for this stuff and normally I would use Ubuntu 12.10, but if there are know issues / suggestions, I am open.

I use Arch, but I don’t think it should matter. Ubuntu should work fine.

 
avatar for titan2009 titan2009 193 posts
Flag Post

Hey catepillar, when I go to http://nuwen.net/files/mingw/mingw-9.4.exe. It gives me a page that says 404 – nuwen.net
You are in a maze of twisty compiler features, all different

Other pointless stuff…

404

What you’re looking for isn’t here.

Am I missing something or is the page not working?

 
avatar for catepillar catepillar 2026 posts
Flag Post
Originally posted by titan2009:

Hey catepillar, when I go to http://nuwen.net/files/mingw/mingw-9.4.exe. It gives me a page that says 404 – nuwen.net
You are in a maze of twisty compiler features, all different

Other pointless stuff…

404

What you’re looking for isn’t here.

Am I missing something or is the page not working?

Ahh version update
http://nuwen.net/files/mingw/mingw-9.5.exe

 
avatar for titan2009 titan2009 193 posts
Flag Post
Originally posted by catepillar:
Originally posted by titan2009:

Hey catepillar, when I go to http://nuwen.net/files/mingw/mingw-9.4.exe. It gives me a page that says 404 – nuwen.net
You are in a maze of twisty compiler features, all different

Other pointless stuff…

404

What you’re looking for isn’t here.

Am I missing something or is the page not working?

Ahh version update
http://nuwen.net/files/mingw/mingw-9.5.exe

Cool, thanks! Hopefully it still all works the same. XD

 
avatar for FieryPhoenix FieryPhoenix 199 posts
Flag Post
Originally posted by ltdata123:
Originally posted by FieryPhoenix:

@catepillar.

Your guide is great. I got it working.
Notes: Point 10. My last line had a different order, and also had the -lboost_chrono in the line, which you didnt add.
Point 11. Wouldnt do https links, so changed it to http instead and it worked.

Problems: Currently having a problem where it wont let me put in a new deck into custom decks if i want to fight it. I have to ‘edit’ a previous deck (by changing the card, but keeping the deck name)
Am I doing something wrong?

Just guessing but do not use TAB between deck name and deck description, only spaces.

Havent re-tried a new deck, but this will be it. Good guess.

 
avatar for BarThu BarThu 78 posts
Flag Post

I did some misstype or the tile effect doesn’t seem to work well.

Optimizer version: current tyrant_optimize-leftylink-integration

Decks:
enemy : Halcyon the Corrupt, Iron Maiden, Split Jaw, Longshot, Titan, Monarch, Obliterator, Heracles
raider : Dracorex, Sabre #2, Hydra #3, Obsidian, Soulsteel Mount, Iron Maiden, Zarak, Earthquake Generator

Command:
optimizer.exe “raider” “enemy” climb 100000 -o -s -t 8 -e “Clone Experiment”

The only output is:
Deck:
Dracorex
Sabre
Sabre
Hydra
Hydra
Hydra
Obsidian
Soulsteel Mount
Iron Maiden
Zarak
Earthquake Generator

Regards
BT

 
avatar for 00Devreugkx 00Devreugkx 50 posts
Flag Post

Thanks to Catepillar, and of course Leftylink, I finally managed to compile the integration branch using the guide.
I added raid, quest, cards and missions .xml also copied my custom deck and ownedcards .txt in the folder but I get an error:

C:\MinGW\tyrant_optimize>tyrant_optimize.exe “ogre spam” “ogre spam” -o climb 10000
terminate called after throwing an insance of ‘std::runtime_error’
what<>: While trying to find the card with id 0: no such key in the cards_by_id map.

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application’s support team for more information

What am I doing wrong, or what did I forget?
I get this with whatever I run

 
avatar for BarThu BarThu 78 posts
Flag Post

Did you remove this char from cards.xml and raids.xml → ` (apostrophe or similar one)?

Regards
BT

 
avatar for catepillar catepillar 2026 posts
Flag Post
Originally posted by BarThu:

I did some misstype or the tile effect doesn’t seem to work well.

Optimizer version: current tyrant_optimize-leftylink-integration

Decks:
enemy : Halcyon the Corrupt, Iron Maiden, Split Jaw, Longshot, Titan, Monarch, Obliterator, Heracles
raider : Dracorex, Sabre #2, Hydra #3, Obsidian, Soulsteel Mount, Iron Maiden, Zarak, Earthquake Generator

Command:
optimizer.exe “raider” “enemy” climb 100000 -o -s -t 8 -e “Clone Experiment”

The only output is:
Deck:
Dracorex
Sabre
Sabre
Hydra
Hydra
Hydra
Obsidian
Soulsteel Mount
Iron Maiden
Zarak
Earthquake Generator

Regards
BT

Try: optimizer.exe "raider" "enemy" -o -s -t 8 -e "Clone Experiment" climb 100000

Also make sure both decks are defined in Custom.txt

 
avatar for 00Devreugkx 00Devreugkx 50 posts
Flag Post
Originally posted by BarThu:

Did you remove this char from cards.xml and raids.xml → ` (apostrophe or similar one)?

Regards
BT

Ugh, forgot that, thanks, works perfectly!
Nice job guys!

 
avatar for catepillar catepillar 2026 posts
Flag Post

Alright, I got to a windows computer and compiled everything. Here is a zip version to download (at your own risk obviously) http://www.filehosting.org/file/details/402013/tyrant_optimize.zip

 
avatar for DarkBlood1 DarkBlood1 2365 posts
Flag Post
Originally posted by catepillar:

Alright, I got to a windows computer and compiled everything. Here is a zip version to download (at your own risk obviously) http://www.filehosting.org/file/details/402013/tyrant_optimize.zip

No more APPCRASH error and also dont need to use compatibility anymore, runs perfectly on Windows 7.

 
avatar for leftylink leftylink 86 posts
Flag Post

Thank you to artdz and BarThu for reporting a crash involving Clone Project and Clone Experiment.

This has been fixed on a commit on the “split” branch since the fix is actually independent of battleground effects (it could have happened with the split skill in Tartarus Swarm if any bloodthirsty units in there had Supply).
This means all other branches had to be rebased (they already have been at the time of this post).

I believe this bug has been fixed. Keep the bug reports (and some feature requests) coming.

 
avatar for Herethios Herethios 19 posts
Flag Post

Hi Guys!

Thx again for the work on TO! I managed to compile the leftylink integration on windows!
The only problem I had, was the downloading of the source. I guess I will have to find out, why I do not get an IP for the github Server.. (I even tried to edit the hosts on my machine.. proberbly something to do with security settings… https you know! ;) )
Therefore I would be greatfull, if you could upload a zip with the code, after you changed anything important!

Thx again and l8er
Me!

PS: The only thing I can download from github is a master branch zip.. :P

 
avatar for planczl planczl 11 posts
Flag Post
Originally posted by Herethios:

PS: The only thing I can download from github is a master branch zip.. :P

For “integration” branch you got a link in first post. If you change name of a zip file from “master” or “leftylink-integration” to any branch you want – it will work.

 
avatar for Herethios Herethios 19 posts
Flag Post

After a couple of seconds leaning back and thinking, it’s obvious I cannot get anywhere! We have a proxy I need to authenticate to, in order to communicate with the internet. I am currently installing a native app on my machine. See if I can configure it to use our Proxy. Otherwise I will use ntlm map and go through there!

 
avatar for commonkey commonkey 204 posts
Flag Post

Hello leftylink, I haven’t looked at the code but good job on the battlegrounds… it’s been very useful to take down some strong decks in conquest ;). I don’t have much time right now so I’m temporarily not coding… in 1 or 2 weeks I’ll get back to it.

 
avatar for Gut1 Gut1 84 posts
Flag Post

Is there any way to simulate quest steps 8 and 9 in 1 simulation?

 
avatar for planczl planczl 11 posts
Flag Post
Originally posted by Gut1:

Is there any way to simulate quest steps 8 and 9 in 1 simulation?

Yes you can, just type “Step 8:0.5; Step 9:0.5” as second parameter. You can add as many different steps as you wish. It’s decribed in first post in section “Usage”.

 
avatar for dingusmax dingusmax 68 posts
Flag Post

im a noob and followed this tutorial to the letter (i think). still getting errors. plz help.

 
avatar for leftylink leftylink 86 posts
Flag Post
Originally posted by dingusmax:

im a noob and followed this tutorial to the letter (i think). still getting errors. plz help.
http://tinypic.com/r/334uon9/6

"Mission 204" as second parameter, not mission-204 or "mission 204" or anything else.


Bug detected! Split units (Clone project, Clone experiment) do not use their on-play abilities! This will cause decks with such abilities to be rated incorrectly on anything involving those effects (that includes quest steps 18-20). Sorry, I can’t fix this for a while. Just be aware of it. Lol fixed.

The test case for this: Cyrus and Assailant surging against Skullkeeper and Missile Silo on Clone Experiment.
In a correct implementation, the split Assailant sieges out the Missile Silo and the attacker wins.
In an incorrect implementation, the Missile Silo activates and kills everything, and it is always a draw.
http://haileon.com/SimTyrantJS?deck1=PoKF&deck2=QAfo&surge=1&battleground=16&sims=1000
./tyrant_optimize PoKF QAfo -s -e “Clone Experiment” climb 100000

 
avatar for dingusmax dingusmax 68 posts
Flag Post

woops hold on

 
avatar for dingusmax dingusmax 68 posts
Flag Post

getting this error now:

heres the current raids.xml im using. maybe the problem lies there?

http://www.filefactory.com/file/complete.php/6s3lg4hqm1od/

 
avatar for leftylink leftylink 86 posts
Flag Post
Originally posted by dingusmax:

getting this error now:

http://i45.tinypic.com/33bclz7.jpg

You’re using the wrong quote character. Use the normal quote character and your problem will be fixed.
In general, if a deck name isn’t found, tyrant_optimize tries to interpret it as a deck hash. It throws an exception containing the deck hash if the hash isn’t a valid base64 string, and (weird quote character)Mission definitely isn’t a valid base64 string.

Originally posted by dingusmax:

heres the current raids.xml im using. maybe the problem lies there?

http://www.filefactory.com/file/complete.php/6s3lg4hqm1od/

Not the problem.


Emergency fix applied to fix the split/on-play skills problem. Fix applied on split branch, all branches (including leftylink-integration) rebased.

The test case to verify a proper implementation of split/on-play is the following command:

./tyrant_optimize PoKF QAfo -s -e "Clone Experiment" climb 100000

Before this fix, tyrant_optimize reports 0% winrate. After the fix, it is 100%, the correct result.