Open AI Championship

Rules

Project

Sandbox

Round 1

Round 2

Finals

Recent comments

19 february 23:14: karloid wrote comment on post The closing of the Russian AI Cup 2018
19 february 13:38: tyamgin wrote comment on post The closing of the Russian AI Cup 2018

VK Group

Telegram chat

 

You can download rules in PDF format. There you can find the format of the championship, the description of the game world and technical characteristics of the objects.

Last version:

  • December 27: 1.1.0.

There is also published tex version of rules on GitHub

You can also check game mechanics by playing the game right now



Adler

Adler

Dzyarzhynsk

> All time limits apply not only to participant code, but also on the interaction of the client-shell strategy game simulator -1

Dec 17, 2018 12:46:55 AM
Flyasd1

In engine code on page 10 in the update function. There are two variables robot.action.target_velocity and robot.target_velocity. It’s the same thing?

And I do not understand why in the normal movement first, you change the size of this vector and then subtracted from the current speed, and to use boost, you first subtract the speed, and then change the size?

Dec 17, 2018 11:15:08 AM
AlexKol

In engine code on page 10 in the update function. There are two variables robot.action.target_velocity and robot.target_velocity . It’s the same thing? And I do not understand why in the normal movement first, you change the size of this vector and then subtracted from the current speed, and to use boost, you first subtract the speed, and then change the size?

I think in a robot.action speed is not normalized.

Dec 17, 2018 11:40:50 AM
Flyasd1

I have not found, where is the collision of ball with arena with robots?

Dec 17, 2018 12:00:07 PM
Combat_Goose

How does the clamp function for 3D vectors? Here is an example from docks - target_velocity = clamp( robot.action.target_velocity, ROBOT_MAX_GROUND_SPEED.

For example ROBOT_MAX_GROUND_SPEED=30, robot.action.target_velocity=(100, 50, 10), return clamp()?

Dec 17, 2018 12:24:22 PM
AlexKol

How does the clamp function for 3D vectors? Here is an example from docks - target_velocity = clamp( robot.action.target_velocity, ROBOT_MAX_GROUND_SPEED. For example ROBOT_MAX_GROUND_SPEED=30, robot.action.target_velocity=(100, 50, 10), return clamp()?

velocity*abs(Max_ground_Speed/length(velocity)) I think that something

Dec 17, 2018 12:36:18 PM
AlexKol

AlexKol

BB

Or not, it will return if length(velocity) > Max_ground_Speed. Otherwise, velocity

Dec 17, 2018 12:37:30 PM
Combat_Goose

reasonable, but it would be nice confirmation

Dec 17, 2018 12:45:59 PM
Flyasd1

I have not found, where is the collision of ball with arena with robots?

Collision of the ball with the arena found, but the ball with the robots there.

Dec 17, 2018 12:58:54 PM
AlexKol

Collision of the ball with the arena found, but the ball with the robots there.

collide_entities function(a: Entity, b: Entity):

Dec 17, 2018 12:59:53 PM
Flyasd1

collide_entities function(a: Entity, b: Entity):

The function is. Where it is called?

Dec 17, 2018 1:01:45 PM
kuviman

kuviman

СГУ им. Чернышевского

How does the clamp function for 3D vectors? Here is an example from docks - target_velocity = clamp( robot.action.target_velocity, ROBOT_MAX_GROUND_SPEED. For example ROBOT_MAX_GROUND_SPEED=30, robot.action.target_velocity=(100, 50, 10), return clamp()?

The clamp limits the length of the vector.

clamp(vector, length) — returns a vector if its length is less than length, otherwise normalize(vector) * length.

Dec 17, 2018 1:38:18 PM
Flyasd1

In a formula collision use a variable a.radius_change_speed, but never described what it is.

Dec 17, 2018 1:41:19 PM
AlexKol

AlexKol

BB

what is operation dot(vector, vector)? The idea returns the number

Dec 17, 2018 3:22:48 PM
Failman

Failman

Mytishchi

AlexKol

AlexKol

BB

what is operation dot(vector, vector)? The idea returns the number

Well, apparently dot product (wiki)

Dec 17, 2018 3:33:33 PM
artem.votincev

artem.votincev

Izhevsk

> function update(delta_time: float):

Can I count on the fact that the delta_time will be always the same? ATO in the bot or passed, and acceleration is affected.

Dec 17, 2018 4:00:35 PM
AlexKol

AlexKol

BB

clamp( point.x arena.bottom_radius - (arena.goal_width / 2), (arena.goal_width / 2) - arena.bottom_radius, )

What does it do?

Dec 17, 2018 5:26:26 PM
Combat_Goose

when you jump, the physical simulator considers that the radius of the robot is changed with a predetermined the speed of the jump (despite the fact that the radius is actually calculated by the formula, presented above). Due to this and does the jump.

Can anyone rephrase to make it clear, about what speech?

Dec 17, 2018 11:39:42 PM
NightmareZ

NightmareZ

безработный

As you can definitely split your team at first and second?

Dec 18, 2018 5:17:25 AM
arukim

arukim

Saint Petersburg

NightmareZ

NightmareZ

безработный

As you can definitely split your team at first and second?

only Robot.id Inside of each turn the order of robots in the single player different

Dec 18, 2018 6:30:17 AM
j303

j303

Moscow

Hi all. A lot of the documentation is not clear. For example: __________________________________ robot.radius = ROBOT_MIN_RADIUS + (ROBOT_MAX_RADIUS - ROBOT_MIN_RADIUS) * robot.action.jump_speed / ROBOT_MAX_JUMP_SPEED robot.radius_change_speed = robot.action.jump_speed __________________________________ The number of robot.action.jump_speed remains unchanged for all 100 podtekov(MICROTICKS_PER_TICK)? Or it applies only to the first podtech, and then 0?

Dec 18, 2018 9:27:03 AM
AlexKol

AlexKol

BB

Another question on rules. Let’s say 2 of the robot, for each there is a method call. Time limit for each call or for 2 immediately. That is, if I do all the calculations in the first call and the second will only apply the action this is normal? Or it is necessary to evenly distribute the load?

Dec 18, 2018 1:39:47 PM
Kill.La.Kill

Formula 1.3 in the documentation is not sootvetstvuet reality. the radius in this formula can grow indefinitely depending on jump_speed, but this is not happening. Therefore there is some limitation. You need to write about this limitation.

Dec 18, 2018 4:51:06 PM
mixei4

Formula 1.3 in the documentation is not sootvetstvuet reality. the radius in this formula can grow indefinitely depending on jump_speed, but this is not happening. Therefore there is some limitation. You need to write about this limitation.

A limitation in the denominator.

Dec 18, 2018 8:10:04 PM
Kill.La.Kill

A limitation in the denominator.

Try to substitute in the numerator of 10000000000. Denominator, not a limitation. Moreover, in the old local runner the bug appeared. The radii of androids swelled to an enormous size. In the new ispravili. Most likely was adocumentary clamp in the formula.

Dec 18, 2018 10:44:50 PM
mixei4

Try to substitute in the numerator of 10000000000. Denominator, not a limitation. Moreover, in the old local runner the bug appeared. The radii of androids swelled to an enormous size. In the new ispravili. Most likely was adocumentary clamp in the formula.

Why frame it in the numerator if the condition:

The speed of the jump can be set anywhere from 0 (not jump) to ROBOT_MAX_JUMP_SPEED (jump with max speed).

Dec 18, 2018 11:51:54 PM
Scarlet

But only I have is the question of why for movement in the plane using the coordinates x and z, and not the standard x and y? In all competitions it was 2D and used x and y and then added the third dimension and turned everything on its side. Even the example from the quick start enters into a stupor, so that translates from XZ to XY. Why this balancing act to confuse?

Dec 19, 2018 6:47:39 AM
freeila

But only I have is the question of why for movement in the plane using the coordinates x and z, and not the standard x and y? In all competitions it was 2D and used x and y and then added the third dimension and turned everything on its side. Even the example from the quick start enters into a stupor, so that translates from XZ to XY. Why this balancing act to confuse?

Most likely it may be associated with koordinatami used in 3D graphics. I heard somewhere that a computer graph Y is responsible for tall, not familiar from mathematics Z.

Dec 19, 2018 3:22:12 PM
modemaizer

modemaizer

Arkhangelsk

“The goal is to*s*Shay’s team” Chapter 1. Paragraph 1.1. Paragraph 2.

Dec 23, 2018 8:41:46 PM
modemaizer

modemaizer

Arkhangelsk

modemaizer

modemaizer

Arkhangelsk

“The goal is to*s*Shay’s team” Chapter 1. Paragraph 1.1. Paragraph 2.

“management skills control of robots” Page 3, paragraph 5.

Dec 23, 2018 8:45:17 PM
modemaizer

modemaizer

Arkhangelsk

modemaizer

modemaizer

Arkhangelsk

“The goal is to*s*Shay’s team” Chapter 1. Paragraph 1.1. Paragraph 2.

what’s your side of the field to be Page 4, paragraph 6.

his speed tends to be desired Page 8, paragraph 3.

Object containing information Page 19, paragraph 8.

true if this eject your player Page 20, paragraph 4.

Dec 23, 2018 9:55:46 PM
GoodDalek

GoodDalek

АлтГУ

parallel - in 1.2, a typo

Dec 24, 2018 7:51:51 PM
Adhami

Adhami

Amman

How to get the start of the round tick? current_game_tick only returns the whole game. Any ideas?

Dec 24, 2018 10:00:52 PM
Adhami

Adhami

Amman

How to get the start of the round tick? current_game_tick only returns the whole game. Any ideas?

Dec 24, 2018 10:00:52 PM
mixei4

mixei4

КГУ

Adhami

Adhami

Amman

How to get the start of the round tick? current_game_tick only returns the whole game. Any ideas?

  1. Score changed.

  2. Your position changed unexpectedly.

  3. Ball is in the center.

Dec 24, 2018 10:06:22 PM
s-a--m

s-a--m

МГТУ им. Н.Э. Баумана

The attempt to send the strategy for the validation error: stderr:

Exit code:0 Time used: 24722 ms Memory used: 234MB

The tick took tick 0 id 1 time = 1723 ms. I anestisia?

Dec 31, 2018 12:44:34 PM
leloy

leloy

Organization::Ateneo de Manila

Jan 2, 2019 4:19:58 AM
MrDindows

MrDindows

Snap Inc.

s-a--m

s-a--m

МГТУ им. Н.Э. Баумана

The attempt to send the strategy for the validation error: stderr: Exit code:0 Time used: 24722 ms Memory used: 234MB The tick took tick 0 id 1 time = 1723 ms. I anestisia?

Does not fit in 24 seconds, game verification lasts for 200 ticks and 24 seconds TL.

Jan 2, 2019 4:53:27 AM
bukazoid

bukazoid

Yekaterinburg

heh, me 2 24 500 turned out

Jan 10, 2019 7:04:25 PM
azt-yur

azt-yur

ОГУ

why in the rules it is specified that the duration of the game 20 thousand ticks, and in fact games now 18 thousand ticks?

Jan 13, 2019 6:48:22 PM