Commit Graph

2085 Commits

Author SHA1 Message Date
excessum
8688494718 - Fixed AI for Polukranos, World Eater 2015-02-14 08:08:48 +00:00
Myrd
8aae10fedd Fix Simulation AI not being able to target some permanent types. 2015-02-14 05:59:26 +00:00
excessum
dd28144134 - Fixed AI for Chained to the Rocks 2015-02-14 03:11:12 +00:00
Myrd
b131f59976 Fix NPE with empty stack. 2015-02-13 05:41:40 +00:00
Myrd
cad21523ff Fix index out of bounds with multiple targets. 2015-02-13 05:24:25 +00:00
Myrd
edbbc582c7 Fix game copy error with monstrous with a test. 2015-02-13 05:17:22 +00:00
Myrd
0d748ed593 Don't recurse if the game is already over. 2015-02-13 04:58:13 +00:00
Myrd
2f161224b2 Simulation AI: Implement looking ahead more than one move. This allows, for example, choosing the SpellAbility to use a fetchland to get the right type of mana in order to play another spell in hand, just from simulation.
This is an initial implementation with a max recursion depth of 5.

There are many improvements that can be made - for example to speed it up, by caching the planned SA chain - so that (if things are going to plan), the chain doesn't have to be recomputed each time.

Also, the AI doesn't currently simulated both types of decisions for a fetchland (i.e. evaluate difference between fetching a Plains vs. a Forest) - it picks one arbitrarily, which sometimes causes it to miss better plays. This needs to be fixed.
2015-02-13 04:52:08 +00:00
Myrd
43005bc1e4 Copy cards in command zone too. 2015-02-13 04:15:01 +00:00
Myrd
b138ec3e1d Make CreatureEvaluator implement Function, so that a separate class isn't needed for that. 2015-02-12 05:11:55 +00:00
Myrd
e89324537c Tweak eval scoring for cards in hand and life for Simulated AI. 2015-02-08 20:38:41 +00:00
Myrd
1963cc94ad Fix simulated AI finding wrong card in hand when simulating and add a test. 2015-02-08 20:21:23 +00:00
Myrd
2dc5d6da09 Consider planeswalkers with more loyalty counters better, so that AI will activate Liliana's discard ability even if opponent has no cards in hand. 2015-02-08 20:03:12 +00:00
Myrd
2afff9c9c0 Make game state save/restore also affect command zone. 2015-02-08 19:58:05 +00:00
Myrd
457636f2e3 Make simulated AI ignore temp power/toughness boosts in certain cases when evaluating. (Initial version - can be made quite a bit smarter based on this later.) 2015-02-08 19:43:40 +00:00
Myrd
2766caec2c Fix simulation of unmorph abilities that don't use the stack, with a test.
Also, disables a test that started to fail for some reason. Will investigate why it's failing after this commit.
2015-02-08 18:08:51 +00:00
Myrd
188ff29384 Remove println. 2015-02-08 17:50:15 +00:00
Myrd
ff18cb74c8 Fix dumping and restoring game state with morphed creatures. 2015-02-08 17:43:09 +00:00
Sloth
0ea7e765a0 - Improved DigAI. 2015-02-08 14:02:47 +00:00
Sloth
b5dd19867a - Cleanup and NPE protection. 2015-02-08 13:36:17 +00:00
Myrd
20bd3e3ea9 Fix formatting. 2015-02-07 19:40:20 +00:00
Myrd
8e1feb1dc6 Make a helper class for evaluating a creature, so that it can be more easily customized through subclassing. 2015-02-07 19:39:40 +00:00
Myrd
8a96a479bb - Fix build that I broke.
- Commit some in-progress stack copying code that doesn't work yet (disabled).
- Throw exception when a GameObject couldn't be mapped from the orig game.
2015-02-07 19:18:37 +00:00
Myrd
859a853499 Add a somewhat hidden option in the UI to turn on simulation via a context menu on the AI radio button on desktop.
This allows choosing the AI mode without recompiling and also allows things like making a non-simulation AI play a simulation AI.
2015-02-07 18:32:02 +00:00
Myrd
4e1706ad22 Remove some assumptions about ordering of players in simulation AI code. 2015-02-07 17:54:43 +00:00
Myrd
8141b0edb2 Limit some debug output. 2015-02-07 17:52:45 +00:00
Myrd
9b40f6559b Fix some spammy output that came from my last commit. 2015-02-07 03:13:52 +00:00
Myrd
cfd38b7111 Fix game copy inconsistency with paid echo cost during simulation. 2015-02-07 02:55:48 +00:00
Myrd
62f790e9fe Add code for debugging simulation copy errors. 2015-02-07 02:31:46 +00:00
Myrd
d5d8e9a11a Tweak logic for holding off playing creature spells for M2 so that instant/sorceries aren't unfairly selected for M1, in simulation AI. 2015-02-07 01:09:18 +00:00
Myrd
2c25351a2e Fix ETB effects not triggering during simulation and add a test. 2015-02-06 04:06:11 +00:00
Myrd
7a5c8fd61f Move USE_SIMULATION boolean to AIController class.
Otherwise, with the previous set up, if simulation code returned null (= "don't play anything"), the regular AI code would then choose something to play.
2015-02-06 03:02:03 +00:00
Myrd
ac81b60a1d Count cards beyond max hand size for less. 2015-02-06 02:48:30 +00:00
Myrd
4819c1e03d Fix activator being clobbered up during simulation. 2015-02-05 04:21:50 +00:00
Myrd
8b40da32de Print more info about targets chosen during simulation. 2015-02-05 04:14:23 +00:00
Myrd
be8b250d27 Making the simulation AI less eager to play instants during early phases. 2015-02-05 03:41:23 +00:00
Myrd
392e8e7008 Fix game copy error with equipment. 2015-02-05 02:52:15 +00:00
Myrd
8d5706b36e Fix copying game with static effects to not double count them along with expanded tests for this. 2015-02-03 04:43:40 +00:00
Myrd
2696f75f16 Add a text file with some high-level TODOs for the AI simulation framework. 2015-02-01 18:03:21 +00:00
Agetian
7f16ada195 - For now, set USE_SIMULATION to false for the default AI configuration in snapshots (I assume it was turned on in r28764 accidentally... if I'm wrong please let me know or feel free to revert) 2015-02-01 05:24:23 +00:00
Myrd
6db238833d Make simulation AI play creatures in MAIN2 unless they have haste or give bonuses in other ways.
Also, properly handle summoning sickness when copying game state.
2015-02-01 01:56:33 +00:00
Chris
9618b85dc0 Checking in the pom.xml.releaseBackup files which failed to be checked in when the maven goal ended. 2015-02-01 01:45:18 +00:00
Myrd
58b2e2b24a Add first unit test for game simulation AI - tests the fix for activations of ability triggers from my last commit. 2015-01-31 19:02:37 +00:00
Myrd
8dedbf083d Fix package name.
Also, fix cast triggers not resolving during simulation.
2015-01-31 17:30:50 +00:00
Agetian
3d1f812a26 - Removed debug spam that I forgot to take out. 2015-01-31 15:17:25 +00:00
Agetian
92b3dd38c2 - Fixed a bug that prevented the AI from using pump creatures correctly. 2015-01-31 15:16:53 +00:00
Chris
3fd3b876d4 [maven-release-plugin] prepare for next development iteration 2015-01-31 15:00:24 +00:00
Chris
87d8d96c7d [maven-release-plugin] prepare release forge-1.5.34 2015-01-31 15:00:17 +00:00
Agetian
62657532ef Reverting 28752 as requested by Chris 2015-01-31 05:21:08 +00:00
Chris
0ea0288f72 test commit 2015-01-30 23:33:39 +00:00