The International Simutrans Forum

 

Author Topic: Script-AI with railroad  (Read 4069 times)

0 Members and 1 Guest are viewing this topic.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Script-AI with railroad
« on: August 01, 2020, 07:17:48 PM »
sqai_rail v0.1

required Simutrans r9153 or higher

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.

It is possible that signals are set incorrectly or not at all. not all testet

If a route fails, none of it will be removed. This function is not yet available for Script AIs.
« Last Edit: September 04, 2020, 10:51:32 PM by Andarix »

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #1 on: August 14, 2020, 12:16:39 AM »
sqai_rail v0.2

minor fixes
If the construction of a route fails, it is usually completely demolished.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #2 on: August 28, 2020, 04:08:45 PM »
sqai_rail v0.3

bugfixes
remove stucked road vehicles

I tested pak64.german and pak64. Other sets can cause errors.

« Last Edit: August 28, 2020, 04:44:56 PM by Andarix »

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #3 on: September 04, 2020, 11:11:09 PM »
sqai_rail v0.4

bugfixes

I tested pak64.german and pak64. Other sets can cause errors.

I think this release is bug free to the point that it can be used.

Of course, errors can still occur because not all of the many options have been tested yet.

required Simutrans r9210 or higher

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.

Offline Dwachs

  • DevTeam, Coder/patcher
  • Administrator
  • *
  • Posts: 4945
  • Languages: EN, DE, AT
Re: Script-AI with railroad
« Reply #4 on: September 05, 2020, 02:18:23 PM »
Wow! Got no error messages so far. It is great to the AI build these double-tracks.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #5 on: September 06, 2020, 10:03:09 AM »
Wow! Got no error messages so far. It is great to the AI build these double-tracks.

Unfortunately, harbors are often not built at combined stations because the field is already built on.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #6 on: September 18, 2020, 05:28:10 AM »
sqai_rail v0.5

The bugfix version 0.5.1 include in Simutrans Nightly r9248+.

bugfixes

I tested pak64.german and pak64. Other sets can cause errors.

I think this release is bug free to the point that it can be used.

Of course, errors can still occur because not all of the many options have been tested yet.

required Simutrans r9242 or higher

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.
« Last Edit: September 18, 2020, 11:14:43 AM by Andarix »

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #7 on: January 03, 2021, 11:26:46 PM »
sqai_rail v0.5.5

Bugfixes
Improvements to line construction and cost reviews.

The zip file contains a script_ai_text.dat. Add these texts to the simutrans/text/[lang].tab to have a translated output in the game.

required Simutrans v122.0/r9274 or higher

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #8 on: January 06, 2021, 09:58:44 AM »
sqai_rail v0.5.6

minor change

ADD tree removal costs

Offline Isaac Eiland-Hall

  • Benevolent Dictator
  • Administrator
  • *
  • Posts: 3926
  • Providing hosting for Simutrans projects
    • pc2.io
  • Languages: EN
Re: Script-AI with railroad
« Reply #9 on: January 06, 2021, 05:34:32 PM »
ADD tree removal costs

Capitalists boo, environmentalists cheer :)

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #10 on: January 06, 2021, 05:56:29 PM »
The costs are defined in the paksets. The construction costs of the Script AI have not taken these costs into account.

Depending on the route, up to 30,000 Cr can be incurred as additional expenditure when building a route.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #11 on: January 15, 2021, 04:13:28 PM »
sqai_rail v0.5.7

Bugfixes
Improvements to line construction and cost reviews.

The zip file contains a script_ai_text.dat. Add these texts to the simutrans/text/[lang].tab to have a translated output in the game.

de
Code: [Select]
#________________________________script_ai_text_________________________________
#________________________________script_ai_text_________________________________
%s build additional convoy to line: %s
%s erhöht die Fahrzeugzahl der Linie: %s
%s build rail line from %s (%s) to %s (%s)
%s baut Eisenbahn-Linie von %s (%s) nach %s (%s)
%s build road line from %s (%s) to %s (%s)
%s baut Lkw-Linie von %s (%s) nach %s (%s)
%s build ship line from %s (%s) to %s (%s)
%s baut Schiffslinie von %s (%s) nach %s (%s)
%s extends the route from %s (%s) to %s (%s)
%s baut die Strecke von %s (%s) nach %s (%s) aus
%s optimize way line from %s (%s) to %s (%s)
%s optimiert Strecke von %s (%s) nach %s (%s)
%s removes convoys from line: %s
%s reduziert die Fahrzeugzahl der Linie: %s

required Simutrans r9560 or higher

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.

Offline Dwachs

  • DevTeam, Coder/patcher
  • Administrator
  • *
  • Posts: 4945
  • Languages: EN, DE, AT
Re: Script-AI with railroad
« Reply #12 on: January 15, 2021, 04:44:39 PM »
I think it should be possible to implement loading of language files from the ai directory. Lets see.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #13 on: January 15, 2021, 05:08:01 PM »
I think it should be possible to implement loading of language files from the ai directory. Lets see.

Which leads to the texts being distributed further. It is easier to add the texts to the base texts.

you can translate here

object selection: script_ai_text

The texts were added by someone there. These texts are also used in my nightlys.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #14 on: January 23, 2021, 12:21:03 PM »
sqai_rail v0.5.8

Bugfixes
Improvements to line construction and cost reviews.

The zip file contains a script_ai_text.dat. Add these texts to the simutrans/text/[lang].tab to have a translated output in the game.

required Simutrans r9575 or higher (include Simutrans r9580)

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.

A little more feedback would be nice.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #15 on: February 20, 2021, 04:17:07 PM »
sqai_rail v0.6

In addition to bug fixes, this version also integrated extensions.

- Vehicles: If there are vehicles of different speeds on a line, the slower (mostly older) ones are taken out of service.
- Ways: If there are vehicles faster than the route speed, the routes of the line will be expanded (if own or public). Rail track not testet

Problems
With larger maps and more complex industrial chains, the chains are not fully developed. This results from the amount of the starting capital.

If a player goes bankrupt, his streets become public. However, this does not apply to bridges, these will be removed. This means that lines can be broken. This currently has to be fixed manually by the.



The zip file contains a script_ai_text.dat. Add these texts to the simutrans/text/[lang].tab to have a translated output in the game.

required Simutrans r9641 or higher

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.

A little more feedback would be nice.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #16 on: February 23, 2021, 03:31:42 PM »
sqai_rail v0.6.1

 bug fixes

Problems
With larger maps and more complex industrial chains, the chains are not fully developed. This results from the amount of the starting capital.

If a player goes bankrupt, his streets become public. However, this does not apply to bridges, these will be removed. This means that lines can be broken. This currently has to be fixed manually by the.



The zip file contains a script_ai_text.dat. Add these texts to the simutrans/text/[lang].tab to have a translated output in the game.

required Simutrans r9641 or higher (include simutrans r9649)

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.

A little more feedback would be nice.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #17 on: February 26, 2021, 04:49:40 PM »
sqai_rail v0.6.2

 bug fixes

Problems
With larger maps and more complex industrial chains, the chains are not fully developed. This results from the amount of the starting capital.

If a player goes bankrupt, his streets become public. However, this does not apply to bridges, these will be removed. This means that lines can be broken. This currently has to be fixed manually by the.



The zip file contains a script_ai_text.dat. Add these texts to the simutrans/text/[lang].tab to have a translated output in the game.

required Simutrans r9641 or higher (include simutrans r9649)

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.

A little more feedback would be nice.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #18 on: April 24, 2021, 12:52:18 PM »
v0.6.4 include in simutrans r9742

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #19 on: June 27, 2021, 04:36:41 PM »
sqai_rail v0.7.1

 bug fixes
 change the line management

Unfortunately, earlier games no longer work from this version onwards.

Problems
With larger maps and more complex industrial chains, the chains are not fully developed. This results from the amount of the starting capital.

If a player goes bankrupt, his streets become public. However, this does not apply to bridges, these will be removed. This means that lines can be broken. This currently has to be fixed manually by the.



The zip file contains a script_ai_text.dat. Add these texts to the simutrans/text/[lang].tab or save [lang].tab in script folder sqai_rail to have a translated output in the game.
You can translate on this page (select object script_ai_text).

required Simutrans r9912 or higher

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.

A little more feedback would be nice.
« Last Edit: July 03, 2021, 08:44:54 AM by Andarix »

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #20 on: July 07, 2021, 08:04:42 PM »
sqai_rail v0.7.2

 bug fixes

include in simutrans r9934
« Last Edit: July 22, 2021, 09:30:53 PM by Andarix »

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #21 on: July 23, 2021, 10:23:52 PM »
sqai_rail v0.7.3

 bug fixes
 change the line management

Unfortunately, earlier games (< r.0.7.0) no longer work from this version onwards.

Problems
With larger maps and more complex industrial chains, the chains are not fully developed. This results from the amount of the starting capital.

If a player goes bankrupt, his streets become public. However, this does not apply to bridges, these will be removed. This means that lines can be broken. This currently has to be fixed manually by the.



The zip file contains a script_ai_text.dat. Add these texts to the simutrans/text/[lang].tab or save [lang].tab in script folder sqai_rail to have a translated output in the game.
You can translate on this page (select object script_ai_text).

required Simutrans r9960 or higher (include r9968)

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/
https://github.com/aburch/simutrans/releases

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.

A little more feedback would be nice.
« Last Edit: July 25, 2021, 03:34:01 PM by Andarix »

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #22 on: July 25, 2021, 03:31:01 PM »
sqai_rail v0.7.4

include in Simutrans r9971

 bug fixes
 FIX search place for rail stations - more railroads should be built
 ADD City vehicles are included in the route evaluation (alpha)
 FIX when removing railroads, there should be fewer interrupted routes

Problems still arise from crossing railroad lines.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #23 on: January 10, 2022, 10:45:59 AM »
sqai_rail v0.7.7
include in the next Simutrans Release (123.0.1)

This revision should be suitable for long-term games. Unfortunately I wasn't able to test everything extensively (runtime, different packages), but this revision should get quite good results in games.

It will often not be possible for a single AI to completely open up industrial chains. But the AI is renewing its vehicles and expanding its routes. What I haven't been able to test so far is expanding platforms. So the platform smaller 5 fields can be extended to up to 5 fields, provided the route allows it.

To put it right away and not arouse false hopes. The AI is designed in such a way that it can survive in the various packages (at least I hope because not every package has been tested by me). She's not a perfect player in every packset. Finer adjustments to different packages will be possible in the future. That depends on whether players give feedback or not.

 bug fixes
 change the line management

Unfortunately, earlier games (< r.0.7.0) no longer work from this version onwards.

Problems
With larger maps and more complex industrial chains, the chains are not fully developed. This results from the amount of the starting capital.

If a player goes bankrupt, his streets become public. However, this does not apply to bridges, these will be removed. This means that lines can be broken. This currently has to be fixed manually by the.

Problems can arise when railroad lines cross.



The zip file contains a script_ai_text.dat. Add these texts to the simutrans/text/[lang].tab or save [lang].tab in script folder sqai_rail to have a translated output in the game.
You can translate on this page (select object script_ai_text).

required Simutrans r9960 or higher (include r10343)

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/
https://github.com/aburch/simutrans/releases

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.

A little more feedback would be nice.


Offline iGi

  • *
  • Posts: 15
  • Languages: EN, DE
Re: Script-AI with railroad
« Reply #24 on: January 11, 2022, 08:37:36 PM »
I really like this AI.

I have a small error regarding map boundaries.
It seems it built right at the edge of the map and this causes out-of-bounds issues.
The mapsize is 255,255.

used version: v0.7.7

https://ibb.co/TYDH6mL
https://ibb.co/QKHLtrW

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #25 on: January 11, 2022, 10:56:35 PM »

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #26 on: January 15, 2022, 11:58:08 AM »
...
I have a small error regarding map boundaries.
It seems it built right at the edge of the map and this causes out-of-bounds issues.
The mapsize is 255,255.
...

Can you please provide the savegame.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #27 on: January 15, 2022, 07:48:51 PM »
sqai_rail v0.7.8
include in the next Simutrans Release

This revision should be suitable for long-term games. Unfortunately I wasn't able to test everything extensively (runtime, different packages), but this revision should get quite good results in games.

It will often not be possible for a single AI to completely open up industrial chains. But the AI is renewing its vehicles and expanding its routes. What I haven't been able to test so far is expanding platforms. So the platform smaller 5 fields can be extended to up to 5 fields, provided the route allows it.

To put it right away and not arouse false hopes. The AI is designed in such a way that it can survive in the various packages (at least I hope because not every package has been tested by me). She's not a perfect player in every packset. Finer adjustments to different packages will be possible in the future. That depends on whether players give feedback or not.

 bug fixes
 change the way management (bridges)

Unfortunately, earlier games (< r.0.7.0) no longer work from this version onwards.

Problems
With larger maps and more complex industrial chains, the chains are not fully developed. This results from the amount of the starting capital.

If a player goes bankrupt, his streets become public. However, this does not apply to bridges, these will be removed. This means that lines can be broken. This currently has to be fixed manually by the.

Problems can arise when railroad lines cross.



The zip file contains a script_ai_text.dat. Add these texts to the simutrans/text/[lang].tab or save [lang].tab in script folder sqai_rail to have a translated output in the game.
You can translate on this page (select object script_ai_text) or SimuTranslator Base texts (select object script_ai_text).

required Simutrans r9960 or higher (include r10359)

https://nightly.simutrans.com/en/
https://github.com/Andarix/simutrans/releases
https://www.simutrans-forum.de/nightly/
https://github.com/aburch/simutrans/releases

  • To use, unzip the file to simutrans/ai.
  • Start Simutrans with the package of your choice.
  • Start or load a map.
  • Choose a new Script AI player.
  • Choose sqai_rail from the selection.

Offline Yona-TYT

  • Devotee
  • *
  • Posts: 1831
    • Simutrans-BLOG
  • Languages: ES
Re: Script-AI with railroad
« Reply #28 on: January 16, 2022, 12:27:33 AM »






 


 I see some variables with operators with empty values.

I don't know if this is allowed in squirrel.
Code: [Select]
         build_bridge = 1
        } else if ( (tile_1.get_slope() == 12 && tile_2.get_slope() == 28 && tile_1.x > tile_2.x) || (tile_1.get_slope() == 28 && tile_2.get_slope() == 12 && tile_1.x < tile_2.x) ) {
          build_bridge = 1
        }

        build_tile =
      }

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #29 on: January 16, 2022, 10:22:01 AM »
What are you trying to tell me with a code snippet from an unknown source?

Offline iGi

  • *
  • Posts: 15
  • Languages: EN, DE
Re: Script-AI with railroad
« Reply #30 on: January 16, 2022, 11:28:18 PM »
Can you please provide the savegame.

Sorry, I don't have it anymore.
I just recreated the map and realized too late that I should probably keep the save...

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #31 on: January 17, 2022, 09:22:05 PM »
For some time now, when land has been lowered to water level, water has formed instead of land. This leads to previously unsolved problems in the script AI.

This feature change is a bit dubious as many paksets are not able to turn water into land due to undefined climate tools or lack of player access. Conversely, it is possible to build channels in almost every pakset.






Offline Dwachs

  • DevTeam, Coder/patcher
  • Administrator
  • *
  • Posts: 4945
  • Languages: EN, DE, AT
Re: Script-AI with railroad
« Reply #32 on: Yesterday at 07:24:43 AM »
It should be relatively simple to implement the change-climate tool for scripts.  I will try tonight.

Offline Andarix

  • *
  • Posts: 362
  • Languages: de
Re: Script-AI with railroad
« Reply #33 on: Yesterday at 01:53:47 PM »
It should be relatively simple to implement the change-climate tool for scripts.  I will try tonight.

The climate tool raises other problems. For one, it's not defined in every paksets. Secondly, if the script AI can use it even if it is not available to the player, it might confuse the players.

Currently, a previous test of what is happening would be sufficient. Then you can cancel the action.

I am also currently missing the construction tool for overhead lines.
https://github.com/Dwachs/simutrans-scenarios/issues/5