Scripting?

General discussion for the game Anacreon
monjardin
Anarchist
Anarchist
Posts: 3
Joined: Wed Nov 04, 2015 2:05 am

Wed Nov 04, 2015 4:21 am

Hello!

Two years ago, I founded Monjardin Hegemony and quickly conquered almost double the worlds of the next largest empire. That empire got crippled by an alliance of much older empires while I was asleep. I did a lot of damage to one of the attackers, but soon abdicated as attrition was withering away my irreplaceable jump fleet.

I recently tried out Anacreon again as Union of Worlds. I had a compact little two-sector empire going, and I was attempting to be as non-threatening as possible. Then I took my son camping, and it was completely wiped out when I got home.

At no point did I initiate any aggression. Also, the first strike advantage seems insurmountable without a massive advantage in numbers or constant attention. So, a theme has been established that I just don't enjoy, and I don't think I'll try again.

However, I wrote a library and some scripts to automate various tasks. I won't go into detail until someone addresses any community rules on scripting/AI. If it's allowable, then I can elaborate further and host the code in a public repository. Otherwise, I'll just say "so long and thanks for all the fish!"

User avatar
Finnian
Militia Lieutenant
Militia Lieutenant
Posts: 236
Joined: Thu Dec 11, 2014 12:09 pm

Wed Nov 04, 2015 12:08 pm

:? oh no! Don't give up! It is true that actually the galaxy is full of players that play everyday (like me) but we can ask George to fix this matter, I think that recently here in the forum someone had good ideas upon this issue, I don't remember who, maybe Nova..
IN GEORGE WE TRUST

Watch TV, Do Nothing
Militia Captain
Militia Captain
Posts: 792
Joined: Sun Feb 05, 2012 12:22 am
Contact:

Wed Nov 04, 2015 10:53 pm

I'm the empire who attacked you. You definitely didn't initiate any aggression or behave threateningly, and I agree that the first strike advantage is crippling- which is why I attacked you first. It certainly wasn't my intention to drive you away from the game, and I sympathize with your frustration. Ultimately this game is about space combat and people who play a lot are definitely at an advantage. If I was inactive for a couple days I wouldn't be particularly surprised if someone swooped in and trashed my empire.

I've been running an experiment in building an empire that doesn't used Chronimium, which excludes me from building the Eldritch jumpship. I actually used Defiance-class Starfrigates in my attack, betting that your empire was inactive and that you wouldn’t log in and see my starship movement within the several days that it took me to assemble the fleet and get it to your capitals- if you had seen my starships, you could have manually launched jumpmissiles, reinforced with Minotaurs and harassed me with your Eldritch jumpfleet. If Citadels were configurable to autolaunch against incoming starships, as I and several other players have requested, I would have had to take out your citadels first to move starfrigates in, which would have been very punishing to my low-tech jumpfleet.

I did notice that you weren't using starfrigates defensively. Starfrigates have very low attrition and great range, which makes them probably the most effective and cost-effective defense. Gorgos fleets beat Eldritches even at a 30:1 ratio, and even if they lose they will cause serious damage to an attacking fleet. Low attrition means it's pretty safe to park them on a planet and not have to worry about sending a reinforcement fleet for about a week or so. If you had been defending with starfrigates I probably would have kept clear of your empire entirely and concentrated on building more citadels along my northern border.

I think that the penalties for attacking weaker empires could be a little more severe, and that they should be based on some combination of fleet and defense strength rather than on Imperial Might which only seems to consider population. Another thing that could help imperial resiliency would be to have capitals shift to appropriate alternative designations once there are no more official capitals- for F&M and S&H allow the capital to shift to a yard, for L&O allow it to shift to an academy or citadel (and allow default capitals to build better infantry and/or jumpmissiles), and for T&I to shift to a hub or foundation (and give T&I capitals foundation functionality, something I've suggested before.)

Maybe there could be a special "peaceful hermit civilization" doctrine that could be used by players who expect to be away for a while. This doctrine would reduce labor output for components and units, and could even prohibit ship movement. On the flip side, it could impose unavoidable additional, unavoidable unrest penalties or incite unit defections on any attacker regardless of size or strength. There would have to be some maximum length of time that an empire could remain in this doctrine during any given period- maybe no more than 7 days in any two- or three-week period, to keep players from creating second accounts just to form unconquerable space-occupying empires near their enemies in order to to deny valuable planets to them. There would also need to be a couple days waitafter attacking another empire before a player could enter this doctrine, for similar reasons.

George has discussed distributing infantry through trade routes, which makes sense. Some form of automation of ship reinforcements would also be welcome, and might actually be an area where client- or server-side scripting could help.

I'm not aware of any community restrictions on scripting, and I think it's a great idea that could really enhance the game. I used a mouse automation program on two occasions to automate a really large Mesophon purchase. I would personally love to know more about the scripts that you've been using.

User avatar
catfighter
Militia Commander
Militia Commander
Posts: 466
Joined: Fri Nov 08, 2013 5:17 am
Location: Laughing manically amidst the wreckage of the Iocrym fleet.

Thu Nov 05, 2015 4:14 am

I'd love to see your scripts too! And TV, could you PM me your script? I've been looking for a way to do that, but I keep getting distracted and modding other games. :oops:
Behold my avatar, one of the few ships to be drawn out pixel by pixel in the dreaded... Microsoft Paint!

Day 31: "I have successfully completed my time reversal experiment! Muahahaha!!!"
Day 30: "I might have run into a little problem here."

Watch TV, Do Nothing
Militia Captain
Militia Captain
Posts: 792
Joined: Sun Feb 05, 2012 12:22 am
Contact:

Thu Nov 05, 2015 4:44 am

catfighter wrote:I'd love to see your scripts too! And TV, could you PM me your script? I've been looking for a way to do that, but I keep getting distracted and modding other games. :oops:
I used Fulover's Macro Creator to create a script that moved the mouse to specific points on the screen and sent mouse clicks at specific timmes. The way I recorded it, it could only send the purchased fleets from a specific Mesophon planet to a specific planet in my empire, and it wouldn't work on a screen at a different resolution or even with the game map centered on a slightly different part of space. It got screwed up during the refresh period so I had to keep re-running it every minute. I ended up having to transfer all fleets down to the destination planet manually, although I could have recorded a macro for that too. It was a lot of work and I could never get it to work again properly after the first time. Someone with more patience than me could probably write something more robust, but the ideal solution would be to bypass the client and send commands to the server directly, which I think is what monjardin is talking about.

monjardin
Anarchist
Anarchist
Posts: 3
Joined: Wed Nov 04, 2015 2:05 am

Fri Nov 06, 2015 2:46 am

Watch TV, Do Nothing wrote:If I was inactive for a couple days I wouldn't be particularly surprised if someone swooped in and trashed my empire.
That's fine. It's just not my thing.
Watch TV, Do Nothing wrote:If you had been defending with starfrigates I probably would have kept clear of your empire entirely and concentrated on building more citadels along my northern border.
That's my fault for not realizing the game was so cut-throat. It seems like a great sandbox for deeper diplomatic interaction as opposed to a simple no-holds-barred free-for-all cage match.
Watch TV, Do Nothing wrote:I'm not aware of any community restrictions on scripting, and I think it's a great idea that could really enhance the game. I used a mouse automation program on two occasions to automate a really large Mesophon purchase. I would personally love to know more about the scripts that you've been using.
I'm not using macros; I've taken the browser out of the loop and communicate with the server directly. I dump all the game data into a database to ease making complex queries (including spatial queries). So, for example, I can setup a jump fleet to conquer every independent world under given space & ground force and tech level threshold within range of sector capitals without any human intervention. It's closer to a partial AI than macro scripts.

By the way, George made a fantastic server API for the browser client. It's really clean, robust, extensible and a pleasure to use.

Kourtious
Commonwealth Pilot
Commonwealth Pilot
Posts: 85
Joined: Fri Nov 14, 2014 10:00 pm

Fri Nov 06, 2015 5:20 am

Its not your fault. The diplomacy interface hasn't been developed in Anacreon, so there are issues that make communication very hard. That's why we have the stargazer bulletin and the other assorted threads in this forum. It's all for your benefit.

If you're interested in playing a very diplomatic and intensive game, then contact me. Be warned. The game I have in mind is very exhausting and I say, "NOTHING! Will ever work out the way you plan to. EVER! Both Good or Bad."

User avatar
catfighter
Militia Commander
Militia Commander
Posts: 466
Joined: Fri Nov 08, 2013 5:17 am
Location: Laughing manically amidst the wreckage of the Iocrym fleet.

Fri Nov 06, 2015 7:04 am

Kourtious wrote:If you're interested in playing a very diplomatic and intensive game, then contact me. Be warned. The game I have in mind is very exhausting and I say, "NOTHING! Will ever work out the way you plan to. EVER! Both Good or Bad."
Could that possibly be Neptune's Pride? If not, JOIN US! :twisted: It's awesome, extremely diplomat, and is especially good if you can't sit at your screen 26/7.
Behold my avatar, one of the few ships to be drawn out pixel by pixel in the dreaded... Microsoft Paint!

Day 31: "I have successfully completed my time reversal experiment! Muahahaha!!!"
Day 30: "I might have run into a little problem here."

Watch TV, Do Nothing
Militia Captain
Militia Captain
Posts: 792
Joined: Sun Feb 05, 2012 12:22 am
Contact:

Fri Nov 06, 2015 4:06 pm

monjardin wrote: I'm not using macros; I've taken the browser out of the loop and communicate with the server directly. I dump all the game data into a database to ease making complex queries (including spatial queries). So, for example, I can setup a jump fleet to conquer every independent world under given space & ground force and tech level threshold within range of sector capitals without any human intervention. It's closer to a partial AI than macro scripts.

By the way, George made a fantastic server API for the browser client. It's really clean, robust, extensible and a pleasure to use.
That's fantastic. Is it documented anywhere?

If there were more players scripting for this game a metagame could even develop between players developing AIs that can run empires without direct intervention.

I've often thought that the game could be enlivened a lot by periodic entry of simple AI players pursuing goals different from what human players would do. Writing a complete AI that tries to build and maintain an empire using every game mechanic and that could react meaningfully to player actions would certainly be extremely labor-intensive, but a machine player that only deals with a subset of of game features could be very interesting.

For example, a one- or two-planet Fire and Movement "raider" sovereign could occasionally dispatch jumpfleets to seize poorly-defended autofac planets or independent planets with low efficiency (read: recently lost to civil war and therefore likely to have resource stockpiles of some sort), haul off consumer goods, hex, chronimium, and jumpdrive stockpiles, plus any surrendered infantry, and deposit them on a capital in order to keep building jumpships at 100% without building a big empire. If the AI prioritized taking organic food and survival goods, looted worlds would go independent due to civil wars and the raider civ would never gain enough Imperial Might for players who haven't been attacked by it yet to safely launch preemptive strikes to wipe it out.

An AI raider sovereign that could set up a sector capital in a nebula near a Mesophon planet, only builds Eldritches and a little infantry, sells surplus booty to Mesophon, and uses it to buy jumptransports and Cyclopses for defense would be very difficult to dislodge and probably wouldn't even need any kind of code to handle player retaliation- if players succeed in destroying the raider, the person running the scripts could just start a new one somewhere else.

Without knowing more about the API or limits of scripting, it seems to me that an AI or heavily-script-reliant player empire that's able to issue commands every minute or even once an hour might be able to use some interesting tactics that are too time- or labor-intensive for human players to use, like launching aggressive gunship offensives and using jumpmissiles to intercept moving jumpfleets (stationary Eldritches can intercept jumpmissiles but moving Eldritches take serious casualties, seems like several ships are lost for each missile fired at a very good cost ratio for the jumpmissile player)

Kourtious
Commonwealth Pilot
Commonwealth Pilot
Posts: 85
Joined: Fri Nov 14, 2014 10:00 pm

Fri Nov 06, 2015 6:29 pm

catfighter wrote:
Kourtious wrote:If you're interested in playing a very diplomatic and intensive game, then contact me. Be warned. The game I have in mind is very exhausting and I say, "NOTHING! Will ever work out the way you plan to. EVER! Both Good or Bad."
Could that possibly be Neptune's Pride? If not, JOIN US! :twisted: It's awesome, extremely diplomat, and is especially good if you can't sit at your screen 26/7.

Hahaha! You guessed right. I'm a veteran player with 3 wins and plenty of renown. Right now I'm in Gamma Chara 64 player fest and Headhunter's Game(Custom).

gc2
Commonwealth Pilot
Commonwealth Pilot
Posts: 60
Joined: Sun Dec 13, 2009 3:22 am

Fri Nov 06, 2015 7:50 pm

@OP:
I really don't think scripting will take the game in the right direction because it would worsen all the problems that you mentioned.

Right now I think the amount of personal attention required serves as a balancing mechanism. Even powerful empires could not wage wars willy-nilly because the player is needed to direct his forces. It also serves as a disincentive for empires to grow too large because the management could potentially get tedious (I certainly will never run an empire that's more than 200 worlds large in the future). I also hope that at some point in time, when some form of diplomacy has been implemented, that this will encourage cooperation among players since one person can only do so much.

If that check is removed and all it takes to wage all out war is to fire up a script (I'm sure you can replace "independent worlds" with "worlds belonging to sovereign X" in your script), then the game will become several times more cutthroat and have a lot more potential to become a free-for-all cage match. The dominant empire would just go and attack anyone as soon as their imperial might reaches 50.

I certainly think there are aspects of the game that is very tedious to control, and players should have some means of defending themselves in their absence (e.g. auto-fire jumpmissiles). Therefore these should become actual features of the game, and not custom scripts made by players themselves.

monjardin
Anarchist
Anarchist
Posts: 3
Joined: Wed Nov 04, 2015 2:05 am

Fri Nov 06, 2015 8:15 pm

gc2 wrote:I really don't think scripting will take the game in the right direction because it would worsen all the problems that you mentioned... If that check is removed and all it takes to wage all out war is to fire up a script (I'm sure you can replace "independent worlds" with "worlds belonging to sovereign X" in your script), then the game will become several times more cutthroat and have a lot more potential to become a free-for-all cage match. The dominant empire would just go and attack anyone as soon as their imperial might reaches 50.
Yes, and it can get much more specific (e.g. attack all sector capitals & trade hubs of a given sovereign with space/ground forces less than some threshold). You could cripple an empire with minimal effort. That's not really fun.

User avatar
Atarlost
Fleet Admiral
Fleet Admiral
Posts: 2391
Joined: Tue Aug 26, 2008 12:02 am

Fri Nov 06, 2015 8:47 pm

gc2 wrote:Right now I think the amount of personal attention required serves as a balancing mechanism.
This right here has to stop for the game to be a going concern. Personal attention as a balancing mechanism is a prohibitive barrier to new players. This game is eventually supposed to make George money after it comes out of alpha and to do that it needs to be accessible to people with jobs and families who do not want to lose an empire just because the wife wants a vacation without Internet.

A 4x game has to chase a relatively hard core market because of its complexity but we have indications that PvP, PtW, and timers/energy systems don't mix well for that harder core market.

https://www.youtube.com/watch?v=hICY79NlJNM

Scripting isn't a real solution, but the current model is a dead end and scripting can lead to the AI that the game needs to make the jump to singleplayer or a few friends playing with a bunch of AIs as filler.

I'd recommend putting a scripting system directly in the client with a license that gives George rights to any scripts used as a method for crowdsourcing AI.
Literally is the new Figuratively

Kourtious
Commonwealth Pilot
Commonwealth Pilot
Posts: 85
Joined: Fri Nov 14, 2014 10:00 pm

Fri Nov 06, 2015 9:45 pm

Nice Atarlost. I watched that episode a few days ago and I agree with its standing. Casual play is what Anacreon is meant for. Hardcore play will drive away those who cannot keep up.

Watch TV, Do Nothing
Militia Captain
Militia Captain
Posts: 792
Joined: Sun Feb 05, 2012 12:22 am
Contact:

Sat Nov 07, 2015 3:40 pm

gc2 wrote:I certainly think there are aspects of the game that is very tedious to control, and players should have some means of defending themselves in their absence (e.g. auto-fire jumpmissiles). Therefore these should become actual features of the game, and not custom scripts made by players themselves.
Atarlost wrote: Personal attention as a balancing mechanism is a prohibitive barrier to new players. This game is eventually supposed to make George money after it comes out of alpha and to do that it needs to be accessible to people with jobs and families who do not want to lose an empire just because the wife wants a vacation without Internet.

A 4x game has to chase a relatively hard core market because of its complexity but we have indications that PvP, PtW, and timers/energy systems don't mix well for that harder core market.

[...]

Scripting isn't a real solution, but the current model is a dead end and scripting can lead to the AI that the game needs to make the jump to singleplayer or a few friends playing with a bunch of AIs as filler.

I'd recommend putting a scripting system directly in the client with a license that gives George rights to any scripts used as a method for crowdsourcing AI.
I agree with these two statements. I think the problems associated with using personal attention as a balancing mechanism can be rectified by:

A. Streamlining some gameplay elements with the use of server- and client-side scripting. I love, love, love the idea of players being able to script within the client and share scripts. In most gameplay modes, players should not be required to find, evaluate and run scripts on their own in order to be competitive; functions that allow empires to grow in scale without also become very time-intensive to manage should be integrated into the client for the most common gameplay functions. For example, auto-rallying ships, auto-distribution of infantry, auto-balancing of how resources are imported to trade hubs based on labor output of autofacs rather than fixed percentages, etc.

B. More game modes, represented by both public and private games with different options like clock speed, resource costs, topology, etc. These are definitely part of the Anacreon design spec. If there are going to continue to be open public games, there needs to be some way to keep every game from getting run away with by players who are willing to invest lots of time in the game, but there should also be game modes that do reward a more hands-on approach to the game for players who want to play more intense games. How this could be accomplished and have the game be a money-making concern... well, that's a question that I think a lot of game developers are trying to answer.
Last edited by Watch TV, Do Nothing on Sat Nov 07, 2015 8:48 pm, edited 1 time in total.

Post Reply