Closed WitchdoctorBob closed 1 year ago
Hi! Having different UTTs is a bit tricky, since the UTT is required by the GameState itself to simulate the game forward. But there is an easy solution for this. You can create a new UTT that has two sets of units defined, one for each player. For example, "BASE1" and "BASE2" for the bases of player 1 and player 2 respectively. Then "BASE1" produces "WORKER1", and "BASE2" produces "WORKER2", etc. And, of course, there is not even any need for the UTT to have the same units that the original UTT in microRTS defines, you can create an arbitrary number of unit types for each in your custom UTT. I hope that lets you do what you want to do!
Thanks for the response! That was the direction I started to go. However, I am having trouble tracing through the code to force each player to reference only one part of the UTT. (I'm pretty new to Java.)
I was actually get it mostly running. Thank you for the initial help above.
That's awesome! If you run into any troubles, let us know :)
I am doing some research on optimizing AI engagements using units with asymmetric advantages. For example, Zerg are weaker, less expensive, but faster compared against Protoss who are more expensive but more powerful. How difficult would it be to allow the import of two different UTTs, for each player, with different attribute distributions (through the terminal interface and/or GUI)?