Forums Tyrant

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

216 posts

Flag Post

Optimizer used to work but not any longer. I use hunterhogan’s binary and I have the latest cards.xml and missions.xml. Here is the error:


terminate called after throwing an instance of ‘std::runtime_error’
what(): While trying to find the card with id 990: no such key in the cards_b
y_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.

And my input:

tyrant_optimize.exe “faction” “deck1:0.1;deck2:0.1;deck3:0.1;deck4:0.1;deck5:0.1;deck6:0.1;deck7:0.1;deck8:0.1;deck9:0.1;faction:0.1” climb 100000 -o -a > output.txt

Help would be appreciated

Originally posted by Muhandes:

Just a minor note for an otherwise great tool: it is pointless to continue optimizing after 100% has been reached.

Also, I’ve been trying my hand at optimizing efficiently for ANP, but I got lost in the code. If there is interest in this I will need help. What I need for checking the probability of a deck getting higher score than the current is a place to collect not only the score, but the square of the score. If someone can guide me on how to achieve this, I might be able to come out with something, time allowing. Or I can explain to someone else the statistics of how this should be done and they can implement it.

That would be awesome if you could do it. ANP currently take ages, even with a fast i7 CPU.

 
Flag Post
Originally posted by protoflare:

If the hash has multiple copies of a card in the shortened form, try expanding it.

i.e. if PoAB+i, then PoABAB. Repeat 2 times if +j and so on.

V I’m guessing it has something to do with on Kill skills and Halcyon the Corrupt?

Thanks, but nope. :(

For example, dalia + apex is QHD5. I input:

tyrant_optimize QHD5 “Mission 230” -o climb 1000

output: The deck QHD5 was not found. Available decks:

But if I input: tyrant_optimize ogrespam “Mission 230” -o climb 1000, it works perfectly. Quotes don’t help. It makes the program maddening to use.

 
Flag Post
Originally posted by burnin8:
Originally posted by catepillar:

cards.xml has the continued issue with Necrogeddon.

The devs commented out something they shouldn’t have (naughty devs). Anyways, it’s simple to fix, delete the comments around the upgrade tag for the first Necrogeddon OR delete a necrogeddon.

No upgrade tag on Necrogeddon, only the replace tag. And for those not sure what the comment flags are its these <!— —>

I just rename second Necrogeddon to Necrogeddon2 :)

 
Flag Post
Originally posted by artdz:

Possible Bug

I was trying to create decks for players with only reward/gold buyable decks and came across a inconsistency.

Generally the Optimizer and the simtyrant has always agreed for me (used both extensively); however, this time the value is off.

Using this ordered deck for mission 251 gives me slightly under 98.6% every time using climb 1000000; however, the simtyrant gives 96.6% with 1 million simulations. I also simmed them extra times with at minimum 100k just to make sure i didn’t veer on one end of luck really hard with the simulations. With such a high number of simulations the error margin is simply too large. Either I’m making a mistake or there is something behaving wrong on either the optimizer or the simtyrant.

Halcyon the Corrupt, Smog Unit, Kilgore, Scarab, Ravenous Dredge, Heracles, Iron Maiden, Flesh Reaper

I can confirm this behavior. I get 98.56% within tyrant_optimize (1 million trials) and 96.9% from within SimTyrantJS (also 1 million trials)

 
Flag Post

I also just compiled it and can’t use deck hashes. Then deleted and recompiled again exactly following the steps and cant use deck hashes. it just lists possible decks.

 
Flag Post

I haven’t looked into the code to know for sure, but I would say that (based off just looking at the mission), with “on kill” NOT being implemented in the optimizer. Though I dunno what the optimizer would do in the event of an unknown attribute. I will source dive it later.

 
Flag Post

I appreciate the work you have put into this optimizer

Thanks!

 
Flag Post
Originally posted by catepillar:

I haven’t looked into the code to know for sure, but I would say that (based off just looking at the mission), with “on kill” NOT being implemented in the optimizer. Though I dunno what the optimizer would do in the event of an unknown attribute. I will source dive it later.

lefty told me:

“well, since there have been no new skills and emulate and on-kill are already implemented, I don’t think there should be any problems. just need new cards and mission xmls and it is good to go”

 
Flag Post

I love this program and appreciate the work, but any word on deck hashes not working?

Using deck hashes simply doesn’t work in the current compiled versions posted in this thread. It only accepts preset and custom decks.

 
Flag Post
Originally posted by pleasedpig:
Originally posted by protoflare:

If the hash has multiple copies of a card in the shortened form, try expanding it.

i.e. if PoAB+i, then PoABAB. Repeat 2 times if +j and so on.

V I’m guessing it has something to do with on Kill skills and Halcyon the Corrupt?

Thanks, but nope. :(

For example, dalia + apex is QHD5. I input:

tyrant_optimize QHD5 “Mission 230” -o climb 1000

output: The deck QHD5 was not found. Available decks:

But if I input: tyrant_optimize ogrespam “Mission 230” -o climb 1000, it works perfectly. Quotes don’t help. It makes the program maddening to use.

I just put in your command line (with the proper quotes), and everything worked fine.

C:\tyrant_optimize>tyrant_optimize QHD5 "Mission 230" -o climb 1000
Deck:
Dalia
  Apex
win%: 0 (0 out of 1000)
Deck improved: commander -> Daizon: win%: 0.2 (2 out of 1000)
Deck improved: slot 0 -> Kraken: win%: 8.8 (88 out of 1000)
Deck improved: slot 0 -> Marrow Aileron: win%: 20.1 (201 out of 1000)
Best deck: 20.1%
Daizon, Marrow Aileron

Some people have been able to use this:

Originally posted by hunterhogan:

Having trouble? No warranties or guaranties. Use at your own risk.

Originally posted by hunterhogan:
Originally posted by DarkBlood1:

Can anyone upload the latest version?

I’m sure you, DarkBlood1, will not make me regret this, and I hope I don’t regret it for other reasons.

I have no idea if this will work Compiled on Microsoft Windows 7 Home Premium.

http://www.hunterthinks.com/solo/games/T_O_2012_12_19_Win_Compiled.zip

 
Flag Post

So I tried to look into why hashes weren’t working and I came upon this: https://github.com/leftylink/tyrant_optimize/tree/hash . I only quickly skimmed through the code in the files but it seems like the code for hash conversion was removed from the leftylink-integration branch files. I haven’t tried it yet but I’m ASSUMING you can download and compile those files instead and hashes would work again, but don’t blame me if your computer blows up.

@ Hunter: I see that you have achievements.xml in your zip file. Does your version work with achievements or is it just something you’ve added for fun?

 
Flag Post
Originally posted by FuChunx3:

So I tried to look into why hashes weren’t working and I came upon this: https://github.com/leftylink/tyrant_optimize/tree/hash . I only quickly skimmed through the code in the files but it seems like the code for hash conversion was removed from the leftylink-integration branch files. I haven’t tried it yet but I’m ASSUMING you can download and compile those files instead and hashes would work again, but don’t blame me if your computer blows up.

@ Hunter: I see that you have achievements.xml in your zip file. Does your version work with achievements or is it just something you’ve added for fun?

It doesn’t work with achievements, I just grabbed the xml files at the time. I’m not sure why I grabbed useless files.

 
Flag Post

The top commanders list in tyrant_optimize.cpp seems to be outdated. However, I don’t have nearly enough experience playing Tyrant to know which commanders I should add. Could I bother someone whose vast knowledge of the game greatly surpasses mine to make a new list? :]

 
Flag Post

You need a Tl;dr to explain how the f*** this is tyrant related.

 
Flag Post
Originally posted by Robotics94:

You need a Tl;dr to explain how the f*** this is tyrant related.

It’s a simulator for the game… How is it not related?

 
Flag Post

For those who know how to compile from source code, I have integrated all branches (except sigusr):
1. https://github.com/andor9/tyrant_optimize/archive/andor-integration.zip
or
2. git://github.com/andor9/tyrant_optimize and branch andor-integration

That is, all functions used to work are integrated, namely:

  1. raids
  2. ANP (-a)
  3. quests (-q)
  4. battleground effects (-e)
  5. Occupation skill and modifier: emulate / on kill
  6. hash

Following changes have been done to this branch.

  1. Gore Typhon works on Windows.
  2. Change less-than turnlimit to no-more-than turnlimit. (e.g., -turnlimit 9 for Speedy Lockeheart)
  3. Add Occupation top commanders.
  4. Other minor fixes.

Hope this helps.

@catepillar, I also added a Makefile.win to make Windozers’ lives a bit easier. ;)
@leftylink, I have sent a pull request so you may merge it to your branch.