Help with testing Fred - Freelands MP Custom AI v0.14.15
Moderator: Forum Moderators
Fred - Freelands MP Custom AI v0.14.14 now available
Fred / AI-demos v0.14.14 is now available on the Wesnoth 1.14 add-ons server
This version contains a huge amount of improvements to the AI evaluation, but the most visible changes are probably that Fred can now also play side 2 of the Freelands map and is not restricted to playing only Northerners any more. There is also a custom option in the MP setup dialog to change the overall aggressiveness.
I could use some help with play testing Fred at this point. The changes in this version result in some clear improvements, but there are, as always, many problems remaining. I have my own opinion on what the biggest issues are, but could use a second (and third, and fourth ...) opinion on that. Also, I'm not sure how much those improvements will actually be visible to others. Since I know exactly what Fred is doing, I "wave away" certain mistakes as "oh, I know what's causing this, it will be taken care of later", but somebody else obviously cannot do that.
So, any replay anybody could send me with a few comments (or even without the comments) would be very valuable! If you have not done so before, see the first post of this thread for information on how to play test and what information is most useful - but really anything helps, so don't worry about it too much.
v0.14.14 changelog
SP campaigns: Galuldur's First Journey (1.12 & 1.14) & Grnk the Mighty (1.10 & 1.12)
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
Re: Fred - Freelands MP Custom AI v0.14.14 now available
Huge improvements indeed!
Playing all factions and both sides of the map certainly are milestones. Playing both sides must also now open the possibility of Fred being able to play against himself rather than against default AI which should make it much easier to track progress against earlier versions (and is a step towards deep learning perhaps?)
But besides the immediately visible changes, I feel like Fred is quite challenging now. Giving him +8 income, I estimate the challenge is about the same level you get playing online against an average human player. He forms tight battle groups, he coordinates them in assassinating specific units (any king found in the open is ruthlessly eliminated), he attacks and retreats quite accurately when he should (maybe just a tad too aggressive with default setting if anything), villages are taken and defended under the conditions they should be and injured plus glass cannon units are given good screening when resources allow.
His recruiting seemed good although I will have to evaluate that over more games since there are now so many more possible factional match ups. When I was playing drakes against his loyalists and recruiting heavily saurians, it felt like he deployed more heavy infantry, cavalrymen, mages and fencers to counter them (unless it just seemed this way because he was using them more effectively).
I am going to have to experiment with that.
To give more precise feedback than the above, I might have to have more matches against him and review my replays from the previous version, because he has been quite good for a while now and the specific common mistakes are getting harder and harder to spot.mattsc wrote: ↑February 12th, 2020, 3:06 pm I could use some help with play testing Fred at this point. The changes in this version result in some clear improvements, but there are, as always, many problems remaining. I have my own opinion on what the biggest issues are, but could use a second (and third, and fourth ...) opinion on that. Also, I'm not sure how much those improvements will actually be visible to others. Since I know exactly what Fred is doing, I "wave away" certain mistakes as "oh, I know what's causing this, it will be taken care of later", but somebody else obviously cannot do that.
Replays:
That last replay produces a consistent crash when you end the last turn, with the following errror:
Code: Select all
**** Fred Side 2 (version 0.14.14) *******************************************************
Beginning of Turn 58 (Dusk) stats [ t = 16519.175 ]
Side 1: 13 Units (538 HP), 14/16 villages (Drake Blademaster, 51/80 HP, 4 gold)
Side 2: 8 Units (274 HP), 2/16 villages (White Mage, 35/35 HP, 19 gold)
Leveled units: Dragoon (55/55)
************************************************************************************
20200213 14:19:39 error scripting/lua: ~add-ons/AI-demos/lua/ca_zone_control.lua:2232: attempt to perform arithmetic on a nil value (local 'forward')
stack traceback:
~add-ons/AI-demos/lua/ca_zone_control.lua:2232: in upvalue 'get_hold_action'
~add-ons/AI-demos/lua/ca_zone_control.lua:3254: in function '.get_zone_action'
~add-ons/AI-demos/lua/ca_zone_control.lua:3475: in function <~add-ons/AI-demos/lua/ca_zone_control.lua:3392>
(...tail calls...)
=> exec: remove_MP CA [ t = 16522.454, dt = 3.492 ]
20200213 14:19:39 error scripting/lua: ~/add-ons/AI-demos/lua/fred_gamestate_map.lua:34: bad argument #1 to 'next' (table expected, got nil)
stack traceback:
[C]: in function '.next'
~/add-ons/AI-demos/lua/fred_gamestate_map.lua:34: in field 'iter'
~/add-ons/AI-demos/lua/fred_move_leader_utils.lua:297: in field 'leader_objectives'
~/add-ons/AI-demos/lua/fred_ops_utils.lua:615: in field 'set_ops_data'
~add-ons/AI-demos/lua/ca_zone_control.lua:3413: in function <~add-ons/AI-demos/lua/ca_zone_control.lua:3392>
(...tail calls...)
20200213 14:19:39 error scripting/lua: ~/add-ons/AI-demos/lua/fred_gamestate_map.lua:34: bad argument #1 to 'next' (table expected, got nil)
stack traceback:
[C]: in function '.next'
~/add-ons/AI-demos/lua/fred_gamestate_map.lua:34: in field 'iter'
~/add-ons/AI-demos/lua/fred_move_leader_utils.lua:297: in field 'leader_objectives'
~/add-ons/AI-demos/lua/fred_ops_utils.lua:615: in field 'set_ops_data'
~add-ons/AI-demos/lua/ca_zone_control.lua:3413: in function <~add-ons/AI-demos/lua/ca_zone_control.lua:3392>
(...tail calls...)
20200213 14:19:39 warning engine: Trying to remove non-existent menu item 'm08_show_behavior'; ignoring.
20200213 14:19:39 warning engine: Trying to remove non-existent menu item 'm09_last_behavior'; ignoring.
Also, congratulations on replacing traditional RCA with Ron (Experimental AI) as the new Default AI for the next release! I have been using the Experimental AI in all hosted multiplayer games for quite a few years now, it is so good that this intelligence boost will soon enhance campaigns too!
Re: Fred - Freelands MP Custom AI v0.14.14 now available
name: Thank you for all the comments and the replays! This is great to hear and very helpful too. I haven't watched the complete replays in detail yet (some are quite long!), but even what I've seen so far is very useful.
BTW, I noticed that you let Fred play side 2. There's an inherent problem (well, an inconsistency more so than a problem) with that in that the time of day will be different on the next enemy turn than on the current turn. That's not (yet) taken into account, but it's also not clear that it is actually a disadvantage.
Again, thanks a lot, I really appreciate you taking the time for play testing and sending your comments!
Yeah, I've watched quite a few games of Fred vs. Fred recently and it's been very instructive. I don't know about deep learning, in part because I don't know much about it (other than the general concept), but also because Fred's quite slow (compared to the default AI, I mean, not necessarily compared to a human player) at the moment and it would take a long time, maybe too long, for the learning process. But even just evaluation of parameter settings or rating contributions is much easier that way.name wrote: ↑February 14th, 2020, 5:22 am Playing all factions and both sides of the map certainly are milestones. Playing both sides must also now open the possibility of Fred being able to play against himself rather than against default AI which should make it much easier to track progress against earlier versions (and is a step towards deep learning perhaps?)
Yeah, I got that impression too, esp. when it comes to not exposing individual units too much. I'm working on the latter though and when that gets a bit better, maybe the overall aggression level should be reduced a little. Or maybe it's not necessary any more. I also found (from Fred vs. Fred games, in fact) that the best value depends a bit on the factions. Northerners, obviously, need to be a bit on the aggressive side, but I also noticed that games of factions of the same alignment on both sides seem to go a bit better with higher aggression than, say, a mostly chaotic vs. a mostly lawful faction. In the end, I might add something to adjust that automatically. For now, there's the slider in the MP setup dialog with which one can play.
BTW, I noticed that you let Fred play side 2. There's an inherent problem (well, an inconsistency more so than a problem) with that in that the time of day will be different on the next enemy turn than on the current turn. That's not (yet) taken into account, but it's also not clear that it is actually a disadvantage.
Recruiting is actually one thing (pretty much the only thing, I believe) that I did not touch. It is still (almost) exactly the same as in the Experimental AI. So I can't take credit (or blame) for that.name wrote: ↑February 14th, 2020, 5:22 am His recruiting seemed good although I will have to evaluate that over more games since there are now so many more possible factional match ups. When I was playing drakes against his loyalists and recruiting heavily saurians, it felt like he deployed more heavy infantry, cavalrymen, mages and fencers to counter them (unless it just seemed this way because he was using them more effectively).
Don't worry about this too much. This is already really useful, particularly the replays. I'm planning to put out more frequent releases (I've already made a couple new changes that, I think, should make a difference in some situations, although it's never clear how noticeable any individual change will be when you're not specifically paying attention to it), so hopefully there will actually be progress at a faster than glacial pace now. Of course, I've wanted that before, we'll have to see how real life cooperates...name wrote: ↑February 14th, 2020, 5:22 am To give more precise feedback than the above, I might have to have more matches against him and review my replays from the previous version, because he has been quite good for a while now and the specific common mistakes are getting harder and harder to spot.
Thanks! I managed to reproduce it and know what causes it. It will be fixed for the next release. And it's a rather rare situation causing it, so I am not sure I would have encountered it anytime soon without this!
Thanks! It's going to see a lot more use that way, so hopefully we'll find whatever bugs and limitations are left in the code.Also, congratulations on replacing traditional RCA with Ron (Experimental AI) as the new Default AI for the next release! I have been using the Experimental AI in all hosted multiplayer games for quite a few years now, it is so good that this intelligence boost will soon enhance campaigns too!
Again, thanks a lot, I really appreciate you taking the time for play testing and sending your comments!
SP campaigns: Galuldur's First Journey (1.12 & 1.14) & Grnk the Mighty (1.10 & 1.12)
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
Re: Fred - Freelands MP Custom AI v0.14.14 now available
Long replays may be the best compliment Fred could receive... it really did take that long to beat him and there were times I wondered if maybe there was no hope against this machine menace!
Let me know if you would like to see replays where he has less gold advantage to shorten the game length.
Sorry, I meant to say just machine learning, not deep learning.mattsc wrote: ↑February 14th, 2020, 11:21 pm I don't know about deep learning, in part because I don't know much about it (other than the general concept), but also because Fred's quite slow (compared to the default AI, I mean, not necessarily compared to a human player) at the moment and it would take a long time, maybe too long, for the learning process. But even just evaluation of parameter settings or rating contributions is much easier that way.
Yeah the only way you might get the processing power you need to run all those matches would be if the process could be distributed over many machines working independently. Assuming we, the wesnoth community, might volunteer to run the AI vs AI matches in the background on our machines.
Though that would mean parallel rather than sequential learning, which might not be useful at all...
Very interesting, do you have numbers available for what aggression setting generally works best for each faction?mattsc wrote: ↑February 14th, 2020, 11:21 pm I also found (from Fred vs. Fred games, in fact) that the best value depends a bit on the factions. Northerners, obviously, need to be a bit on the aggressive side, but I also noticed that games of factions of the same alignment on both sides seem to go a bit better with higher aggression than, say, a mostly chaotic vs. a mostly lawful faction.
I wonder if there will come a point where AI results can even aid balancing a bit (a long shot for a complex turn based strategy, I know.)
Would you like future replays to mix and match which side Fred takes?mattsc wrote: ↑February 14th, 2020, 11:21 pm BTW, I noticed that you let Fred play side 2. There's an inherent problem (well, an inconsistency more so than a problem) with that in that the time of day will be different on the next enemy turn than on the current turn. That's not (yet) taken into account, but it's also not clear that it is actually a disadvantage.
BTW, I was lurking on the discord channel a while back and I noticed you have a "Mostly Harmless" avatar... I have to ask, is that an Elite or an Escape Velocity series reference?
Re: Fred - Freelands MP Custom AI v0.14.14 now available
Yeah, that's how I took it. And no, this is great, it gives me a lot to work with. I only mentioned it as an "excuse" as to why I had not gone through them in detail yet.name wrote: ↑February 16th, 2020, 4:38 am Long replays may be the best compliment Fred could receive... it really did take that long to beat him and there were times I wondered if maybe there was no hope against this machine menace!
Let me know if you would like to see replays where he has less gold advantage to shorten the game length.
It's hard to say, to be honest. I don't really know on a faction by faction basis. I think the current default works pretty well on average (which is why I chose it as the default), maybe a bit on the unnecessarily aggressive side for chaotic vs. lawful matches. So maybe using 0.9 or 0.8 of the default for that would be a little better, but I've seen mixed results with that in the limited number of games I've had time to experiment with myself so far. The extreme ranges of that slider (it goes from 0.1 to 2 times the default) are definitely way too much. They are there mostly for laughs (and a bit to demonstrate what is possible), they certainly don't result in good play. They might be useful for certain SP scenario settings though, if I ever get to adapting Fred to other maps.name wrote: ↑February 16th, 2020, 4:38 amVery interesting, do you have numbers available for what aggression setting generally works best for each faction?mattsc wrote: ↑February 14th, 2020, 11:21 pm I also found (from Fred vs. Fred games, in fact) that the best value depends a bit on the factions. Northerners, obviously, need to be a bit on the aggressive side, but I also noticed that games of factions of the same alignment on both sides seem to go a bit better with higher aggression than, say, a mostly chaotic vs. a mostly lawful faction.
I think the bigger problems at the moment are when Fred moves individual units, or small groups, into enemy range when that really isn't necessary. Reducing the aggression so much that he does not do that any more results in otherwise much too defensive play. So I need to (and am) working on that differently.
Personally, I doubt that, but one never knows.
It would be interesting to know whether you (singular and/or plural you) think that there's a difference between him playing side 1 or 2, but it's up to you really. My hope is that, if I can manage to (slowly) improve Fred, I will get more feedback in time which will tell us what we need.
Hitchhiker's Guide, actually.
SP campaigns: Galuldur's First Journey (1.12 & 1.14) & Grnk the Mighty (1.10 & 1.12)
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
Re: Fred - Freelands MP Custom AI v0.14.14 now available
Quite surely; a number of campaign scenarios allow you to set the offensiveness/defensiveness of the AI, but it always plays too recklessly, so I always set it to maximum defense. (Of course this was with old default AI behavior, not Ron tech).
Fred would be an excellent player ally in campaign scenarios for his smart defense in general but even more so with the high defense option available to the player.
I will try and mix up his side number then and look out for a difference.mattsc wrote: ↑February 16th, 2020, 6:16 pm It would be interesting to know whether you (singular and/or plural you) think that there's a difference between him playing side 1 or 2, but it's up to you really. My hope is that, if I can manage to (slowly) improve Fred, I will get more feedback in time which will tell us what we need.
I suspect the answer might be complicated but averages out to "not much difference". There are situations where a final aggressive blow before the ToD becomes unfavorable cripples the enemy's hope to retaliate. Other times, it is best to just get to cover early and sacrifice the attack opportunity. It gets way more complex with more than the two sides of 1v1 maps.
I just got a notice saying my Geek Card has been revoked!
Re: Help with testing Fred - Freelands MP Custom AI v0.14.14
Fred feels very strong now, thanks! This will give me a way to practice offline.
I've lost my shape in the recent years, so Fred with +2 gold, 125 starting has almost beat me twice when I tried him.
Not sure the replays would be useful, I played pretty badly.
I've lost my shape in the recent years, so Fred with +2 gold, 125 starting has almost beat me twice when I tried him.
Not sure the replays would be useful, I played pretty badly.
Re: Fred - Freelands MP Custom AI v0.14.14 now available
Just a couple more quick replies:
I'm probably going to release another version relatively soon (next week, maybe?). This one won't include any huge changes. I've been working on some of the extreme cases, trying to get unnecessarily aggressive behavior on individual moves somewhat under control without impacting the overall aggression level. So while I would be able to demonstrate different behavior in specific test cases, the changes will not be immediately obvious. But I believe that they will improve the overall behavior, even if only subtly.
Yeah, agreed on all of that. I don't think that any specific kind of test/replay is more useful than another (or will be conclusive one way or the other), so just whatever way anybody wants to play is great.name wrote: ↑February 18th, 2020, 5:50 amI will try and mix up his side number then and look out for a difference.mattsc wrote: ↑February 16th, 2020, 6:16 pm It would be interesting to know whether you (singular and/or plural you) think that there's a difference between him playing side 1 or 2, but it's up to you really. My hope is that, if I can manage to (slowly) improve Fred, I will get more feedback in time which will tell us what we need.
I suspect the answer might be complicated but averages out to "not much difference". There are situations where a final aggressive blow before the ToD becomes unfavorable cripples the enemy's hope to retaliate. Other times, it is best to just get to cover early and sacrifice the attack opportunity. It gets way more complex with more than the two sides of 1v1 maps.
Hehe, but no worries. I actually had forgotten that it also appears in Elite...
Thanks, this is great to hear!singalen wrote: ↑February 19th, 2020, 6:55 pm Fred feels very strong now, thanks! This will give me a way to practice offline.
I've lost my shape in the recent years, so Fred with +2 gold, 125 starting has almost beat me twice when I tried him.
Not sure the replays would be useful, I played pretty badly.
I'm probably going to release another version relatively soon (next week, maybe?). This one won't include any huge changes. I've been working on some of the extreme cases, trying to get unnecessarily aggressive behavior on individual moves somewhat under control without impacting the overall aggression level. So while I would be able to demonstrate different behavior in specific test cases, the changes will not be immediately obvious. But I believe that they will improve the overall behavior, even if only subtly.
SP campaigns: Galuldur's First Journey (1.12 & 1.14) & Grnk the Mighty (1.10 & 1.12)
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
Re: Help with testing Fred - Freelands MP Custom AI v0.14.14
Hi mattsc! Great to see this coming along. I will definitely try out the newest version, and correct me if I misunderstood but it can now play any default faction (not only Northerners)?
Creator of: The Reign of The Lords Era,The Gnats Franken Dungeon.
Re: Help with testing Fred - Freelands MP Custom AI v0.14.14
That's great, thanks. And you understood correctly, Fred can now play any default faction on either side 1 or 2, or both. [It's probably really any faction, rather than any default faction, but I forgot if we built something into the setup that excludes other eras or modifications. That would be easy to change though.] Still restricted to the Freelands map though, that one is much harder to generalize.
SP campaigns: Galuldur's First Journey (1.12 & 1.14) & Grnk the Mighty (1.10 & 1.12)
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
Re: Help with testing Fred - Freelands MP Custom AI v0.14.15
I just released AI-demos / Fred v0.14.15 on the Wesnoth 1.14 add-ons server.
This release features a number of smaller but nevertheless important improvements. Most significantly, side 2 is now dealt with equivalently to side 1 when it comes to time of day considerations. Previously in Fred vs. Fred games, side 1 seemed to have a noticeable advantage. That is not the case any more, or at least not to the same extent. Also, isolated and valuable units are dealt with somewhat more cautiously, hopefully resulting in them not being exposed quite as much/often any more.
With this, I have pretty much gotten to where I wanted to get when I started working on Fred. No, he doesn't play like a human player, and sure, there's plenty of room for improvement. But based on the replays name posted, and my own tests and watching a lot of Fred vs. Fred games, I think that he does mostly pretty decently. Since it is new as of the previous release, I also remind everybody that there is now an MP option for changing Fred's overall aggression level.
I am going to take a step back now and work on cleaning up the code for a while. That's a necessary step if I want to work toward making Fred play other maps, and there should also be some efficiency/speed improvements going along with it. Of course, I will also continue trying to improve the overall behavior and fix the worst mistakes and bugs, but with lower priority for the time being.
v0.14.15 changelog
SP campaigns: Galuldur's First Journey (1.12 & 1.14) & Grnk the Mighty (1.10 & 1.12)
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
Re: Help with testing Fred - Freelands MP Custom AI v0.14.15
Congratulations on reaching this advanced milestone. You had to put in quite a lot of time and overcome some serious technical challenges to reach here. But you never quit. Adding and calibrating the operations layer has made a marked improvement to an AI already far beyond the competition in skill level. If only this forum had a clap emoticon.
For this replay I accidentally had era of heroes on somehow. It is an extra variable from testing the previous version, but it was interesting to see more of how Fred wields level 2 units. At one point I had to restart from an earlier save because I did not think Fred could/would assassinate my rugged troll king until he did. I should post further replays in default era though, for consistency.
For this replay I accidentally had era of heroes on somehow. It is an extra variable from testing the previous version, but it was interesting to see more of how Fred wields level 2 units. At one point I had to restart from an earlier save because I did not think Fred could/would assassinate my rugged troll king until he did. I should post further replays in default era though, for consistency.
Re: Help with testing Fred - Freelands MP Custom AI v0.14.15
Hi name: thank you for the kind words and for posting yet another replay! I watched it and I am not disappointed. Fred still seems a bit overly aggressive at times and makes some mistakes that would be bad for a human player. But they're all things that I am aware of and can live with for now.
I am deep into cleaning up the code at the moment. I think I've called it a "horrendous mess" before and I certainly was not kidding. This is going to take a while, so I won't be working on functionality for a little; except for fixing bugs, of course.
I am deep into cleaning up the code at the moment. I think I've called it a "horrendous mess" before and I certainly was not kidding. This is going to take a while, so I won't be working on functionality for a little; except for fixing bugs, of course.
SP campaigns: Galuldur's First Journey (1.12 & 1.14) & Grnk the Mighty (1.10 & 1.12)
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
AI experiments: Micro AIs (wiki, forum thread, known/fixed bugs), Fred, AI-demos add-on
Re: Help with testing Fred - Freelands MP Custom AI v0.14.15
Hi mattsc,
I haven't had a chance to take much of a look lately, but you mentioned earlier that you've made Fred able to handle any era, but I couldn't get him to work with anything other than the default. If I could look at Fred and also sanity check my UMC at once, that would really help!
EDIT: Never mind. I am obviously delusional. Thanks again for a great tool.
I haven't had a chance to take much of a look lately, but you mentioned earlier that you've made Fred able to handle any era, but I couldn't get him to work with anything other than the default. If I could look at Fred and also sanity check my UMC at once, that would really help!
EDIT: Never mind. I am obviously delusional. Thanks again for a great tool.
Maintainer of the Imperial Era and the campaigns Dreams of Urduk, Epic of Vaniyera, Up from Slavery, Fall of Silvium, Alfhelm the Wise and Gali's Contract.
But perhaps 'maintainer' is too strong a word.
But perhaps 'maintainer' is too strong a word.
Re: Help with testing Fred - Freelands MP Custom AI v0.14.15
*edit*: my bad, I used the wrong AI! This was an Experimental AI.
Anyway, either it got better or I got worse. Or both.
I managed to win against Fred 0.14.14! (He got 125 starting gold, +2 per turn).
The matchup was in his favor, I think: he had Northerners and I had elves.
Not sure how useful my replay would be, I’m much worse at Wesnoth than I was in 2012.
Anyway, it’s an excellent competition offline!
I actually like him being aggressive, except for a few cases when he should better fall back and save his units.
I also have a feeling that he’s not paying “attention” when he’s losing the economy.
Anyway, either it got better or I got worse. Or both.
I managed to win against Fred 0.14.14! (He got 125 starting gold, +2 per turn).
The matchup was in his favor, I think: he had Northerners and I had elves.
Not sure how useful my replay would be, I’m much worse at Wesnoth than I was in 2012.
Anyway, it’s an excellent competition offline!
I actually like him being aggressive, except for a few cases when he should better fall back and save his units.
I also have a feeling that he’s not paying “attention” when he’s losing the economy.
- Attachments
-
- 2p — The Freelands replay win!.gz
- (28.09 KiB) Downloaded 280 times