Loading...
  OR  Zero-K Name:    Password:   

Forum index  > News   >

Tourney players replaced with robots

97 posts, 3220 views
Post comment
Filter:    Player:  
Page of 5 (97 records)
sort


EErankAdminAnarchid
17 months ago
(edited 17 months ago)


Due to lack of availability of all the organizers, the month's tourney will be postponed until first week of December.

While it would be possible to hold the human tournament this weekend, convening an adequate amount of human players with an announcement on Wednesday seems impossible.

With that in mind, this Saturday will still hold a tournament, with players who are much easier to assemble: AI's!

The machines will duke it out round-robin BO3, ranked by win count. All ties will be resolved by additional games.

The tourney will likely be hosted on SpringGrid operated by JPrankgajop in a massively parallelized fashion, and the replays will be published after the games are resolved in this case. If the grid is somehow not available, the games will be manually proceeded at 4x speed on Springie hosts.

Maps for each game will be determined randomly by the tournament host device from this list:

TitanDuel
Eye_Of_Horus_v2
Intersection_v3
Red Comet
Barren
Bandit_Plains_v1
wanderlust_V01
Victoria Crater v2.1

The initial participant list is as follows:
CAI
CircuitAI
FreundAI
Shard (as shipped with engine version 100.0)
ZKGBAI

All these will be assembled in their latest available binary form (compiled linux64) and frozen at Friday, 27th November 2015, 23:59 UTC.

Additional bots can be submitted before that time as well in compiled binary form or source, compilation of which will be attempted but not guaranteed.

The only requirement is that the bots don't use cheats.

And thus, glory to the robots.
+16 / -0


UAranklamer
17 months ago
(edited 17 months ago)

I demand sea maps! :P

EDIT: Issue with Onyx and Altair already fixed (consequences of overoptimization).
+2 / -0

USrankLithios
17 months ago
What is SpringGrid?
+0 / -0


EErankAdminAnarchid
17 months ago
(edited 17 months ago)

I deliberately avoided maps that are known to break any existing AI's:

1) Sea maps (which break everything except CircuitAI)
2) Onyx and Altair (which break only CircuitAI).

quote:
What is SpringGrid?

It's a(n ancient) tool for hosting automated AI ladders which was never really used the last time Spring had an actual competing AI scene.

But it will (hopefully) be awakened.
+0 / -0

USrankLithios
17 months ago
(edited 17 months ago)

Dang, I'm gonna have to turn out to watch this one XD

Also, how would I go about building an AI?
+0 / -0


EErankAdminAnarchid
17 months ago
(edited 17 months ago)

Either obtain a local copy of ZK and hack at CAI (which is implemented as a gadget), or start here and join the #ai channel.

quote:
EDIT: Issue with Onyx and Altair already fixed (consequences of overoptimization).

I'll include some mixed maps next time :)

If the grid comes up, it should be easy to host these fairly regular (but rarer than human tournaments so that new entrants can get up to speed, if they are interested).
+0 / -0

DErank[2up]knorke
17 months ago
quote:
The only requirement is that the bots don't use cheats.
I think CAI does maphack a bit though?
In UnitDamaged() it calls spotEnemyUnit() on the attacking enemy unit and uses its coordinates. As far I can tell there is no checking if the AI actually has line of sight on the attacker.
Also there is this comment:
-- check if a spot is covered by enemies within attack range
-- FIXME: this actually involves maphax - 'course it wouldn't need to if it remembered where bad guy turrets are...

It does not seem to use the enemy coordinates directly, more indirectly for updating its heatmaps on enemy. Like "vaguely knowing" or "guessing", similiar to how human might guess a turret/silo position from watching the projectiles fly. So maybe it is merely a simplification but I wanted to post a gif.
+0 / -0


EErankAdminAnarchid
17 months ago
(edited 17 months ago)

I am aware of this behavior by CAI and willing to ignore it, given that it's very minor and:
1) It's possible to detect the same with WeaponFired or UnitDamaged callins in native AI (either by inferring firing unit position from projectile creation point, or from direction parameter of UnitDamaged).
2) All units except Spectre already exhibit this behaviour where they become visible while shooting in AirLos.

If it turns out that CAI does more than that, it'll have time until submission deadline to be fixed.

Shard also technically attempts to cheat but i'm not disqualifying it because this behaviour seems to be agressively blocked by non-cheating AI's (at least when hosted on the same machine). I may disqualify it later if its maphack starts working.


+0 / -0



AUrank[GBC]1v0ry_k1ng
17 months ago
(edited 17 months ago)

You should swap bandit plains for Trojan hills, spider play on Trojan is cool to watch.

In other news, quick! Program your AIs to abuse inability of all other AIs to use AA!
+1 / -0

DErank[2up]knorke
17 months ago
yes, it is minor.
to 1) Direction parameter of UnitDamaged is not that useful, for some weapons it justs point to the sky. (for ex: Merl) Or if a projectile with AOE impacts near the unit then it is basically random.
I never used WeaponFired but there is note in docu that makes think it would not be useful for cheat "...it is currently only sent for manuall-fire weapons like for example the TA Commanders D-Gun or the Nuke."
How do other AIs block Shard from cheating?
+0 / -0

GBrankAF
17 months ago
Ooooo an AI tournament!

Shard has a map-hack, but otherwise it doesn't cheat, not unless something shady using cross-AI<-> Gadget comms was added.

Shards Lua component also lacks a cheating interface, and the whole thing is open source of-course, so while I can spawn 10,000 units via C++, I doubt that I can travel back in time to the v100 spring release and sneak the code in. Or maybe I'm a fortune teller? ;D

j/k I actually didn't write the Zero-K specific Shard logic
+0 / -0



AUrank[GBC]1v0ry_k1ng
17 months ago
Shard zk profile is pretty basic, without love it will autolose
+0 / -0


USrankaeonios
17 months ago
AUrank[GBC]1v0ry_k1ng Circuit already does, but kgb will AA by the tournament. :P

quote:
How do other AIs block Shard from cheating?

Probably by not enabling cheats. I think the way cheating works with the ai interface is similar to a human typing /cheat, so if an AI opts out, the others may not be allowed to use them either. That's just my guess anyway.
+0 / -0

RUrankbanana_Ai
17 months ago

ALL HAIL TOASTERS!
+2 / -7


UAranklamer
17 months ago
quote:
How do other AIs block Shard from cheating?

Ehm, AIs actually don't block. I guess Anarchid meant that others outplay Shard in current stage. Cheats enabled per skirmishAIId, so others can't influence it.
+0 / -0

FIrank[ffc]killer
17 months ago
Why does that picture have those... anoying... black... outlines.
+0 / -0


EErankAdminAnarchid
17 months ago
quote:
Ehm, AIs actually don't block. I guess Anarchid meant that others outplay Shard in current stage

Theoretically, that's how it should be but each time Shard attempts to play against ZKGBAI on my local host, it acts as if it doesn't have maphack: spams errors for "no target visible" and all its glaives sit on the same place *right until* the first enemy deigns to walk into their range. Then they joyously all mob it.

Causes all kinds of hilarity in AI 2v2's where the other bot can scout - that sudden glaive wave causes exquisite disruptions to the measured pace of a typical AI match.
+0 / -0


JPrankgajop
17 months ago
USrankLithios
To expand a bit on EErankAdminAnarchid 's answer:
SpringGrid is a website used for scheduling AI games and displaying their results. Each game is then executed on an (optionally) separate botrunner machine and the results are uploaded to the website. This technically allows it to work in a distributed fashion, where you could have many machines simultaneously playing the games and thus get your results pretty fast (much like many of those FoldingAtHome initiatives).
It was originally created by hughperkins, which I improved on later. A port to Pylons was created many years ago, but it turns out that framework got abandoned for Pyramid, so I'm trying to port it to Django now. We'll see if this is doable in two days though.
+0 / -0


UAranklamer
17 months ago
Is terraforming considered as cheating?
+0 / -0


EErankAdminAnarchid
17 months ago
Terraforming, brawler rush, comm drop, comm nap, and all other imaginable cheeses are not cheating.
+0 / -0
Page of 5 (97 records)