📄 news
字号:
normal: 120 = narrow * 2
wide: 130 = narrow * 3
* Changed a tackle model for v.12 players based on the Thomas
Gabel's proposal. Now, the argument of the tackle command sent by
v.12 players means the ball acceleration angle relative to the
player's body angle. Effective power for tackle(angle) is
calculated as follows:
eff_power = ( max_back_tackle_power
+ ( max_tackle_power - max_back_tackle_power )
* ( 1 - fabs( angle )/PI ) )
* tackle_power_rate
* Changed a tackle power restriction rule for the v.11 or older
players as follows:
power = max( -max_back_tackle_power,
min( max_tackle_power, power ) )
This means a tackle power is restricted within [-50,100] in the
default settings. Note that a backwards tackle might be completely
forbidden (max_back_tackle_power is set to 0) in the v.13 or later
simulator.
* Added a tackle power reduction according to the ball position as
follows:
eff_power *= 1 - 0.5*( fabs( player_2_ball.th() )/PI
* Changed a kick noise model. This change is motivated by the Mehrab
Norouzitallab's proposal. Now, the maximum kick noise is directly
proportional to the kick power, the ball distance, the ball
direction and the ball speed. When the kick power is 0, the kick
noise becomes always 0.
pos_rate = 0.5 + 0.25*( dir_diff/PI + dist_2_bal/kickable_margin )
For tackle: pos_rate = 0.5 + 0.5*( 1.0 - tackle_prob )
speed_rate = 0.5
+ 0.5*( ball_speed / (ball_speed_max*ball_decay) )
max_rand = kick_rand
* ( power / max_power )
* ( pos_rate + speed_rate )
kick_noise = polar2vector( rand( 0, max_rand ),
rand(-PI,PI) )
* Added an automatic version check for configuration files. If
configuration files do not contain a version parameter that is
same as the rcssserver's release version, rcssserver will exit
with error messages.
* (Not fixed yet) Supported the monitor protocol version 3 and the
game log format version 4. From these versions, data is
represented by human readable text messages. The default version
of game log format is still 3 in 12.0.0_pre-20080210 because the
format has not been fixed yet and the implementation has not been
completed yet.
* (Test version) Introduced a new catch model based on the
Sebastian Marian's proposal. The catch probability is set to
unreliable catches. If ball is not within the goalie's reliable
catch area, the catch probability is calculated according to the
ball position and the goalie's catch command might be failed.
Note that this rule is not actually used in the default
settings of v.12 server. If you try to test this rule, you need
to change the server::catchable_area_l(default value: 1.2)
parameter to the value greater than
server::reliable_catch_area_l(default value: 1.2). And
server::min_catch_probability(default value: 1) also need to be
change to [0, 1]. RCSSServer can read these parameter from
server.conf, but does not send them to clients.
[12.0.0_pre-20071217]
* Supported a protocl version 12. Now, players and coaches can
connect as a version 12 client. In the version 12 protocol,
- Players can change view width only to normal or wide and cannot
change the view quality. Instead of them, players can receive
see messeage at the begining of every cycle if their view width
is normal. If players' view width is wide, see message is
received once every two cycles. The new message arrival order is
as follows:
sense_body (-> fullstate) -> hear -> see
- The new variation of change_view command is supported. Now,
player can send the following format change_view command:
(change_view <ViewWidth>)
If version 11 or older players send this format command, their
view quality is set to high.
- Collision information is added to the sense_body message. The
following format message is appended to the end of sense_body:
(collision {none|[(ball)][(player)][(post)]})
For example, version 12 players may receive the following
message.
(sense_body 0 (view_mode high normal) (stamina 4000 1)
(speed 0 0) (head_angle 0) (kick 0) (dash 0) (turn 0) (say 0)
(turn_neck 0) (catch 0) (move 0) (change_view 0)
(arm (movable 0) (expires 0) (target 0 0) (count 0))
(focus (target none) (count 0)) (tackle (expires 0) (count 0))
(collision (ball) (player)))
* New parameters:
- server::extra_stamina (default value: 0.0)
- server::max_tackle_power (default value: 100.0)
- server::min_tackle_power (default value: 0.0)
- server::player_speed_max_min (default value: 0.8)
- server::max_monitors (default value: -1)
- player::allow_mult_default_type (default value: false)
* Changed parameters:
- server::ball_speed_max (2.7 -> 3.0)
- server::catchable_area_l (2.0 -> 1.2)
- server::kick_rand (0 -> 0.1)
- server::tackle_power_rate (0.027 -> 0.0135)
- player::player_types (7 -> 18)
- player::pt_max (3 -> 1)
- player::kick_rand_delta_factor (0.5 -> 1)
- player::kickable_margin_delta_max (0.2 -> 0.1)2
- player::kickable_margin_delta_min (0 -> -0.1)
- player::new_dash_power_rate_delta_max (0.002 -> 0.0015)
- player::new_dash_power_rate_delta_min (0 -> -0.0005)
- player::new_stamina_inc_max_delta_factor (-10000 -> -6000)
- player::player_decay_delta_max (0.2 -> 0.1)
- player::player_decay_delta_min (0 -> -0.05)
* Now, the player's maximum dash speed is restricted within
server::player_speed_max_min(0.8) and
server::palyer_speed_max(1.2). In the heterogeneous player
generation procedure, if the generated player type can run faster
than server::player_speed_max or cannot run faster than
server::player_speed_max_min, rcssserver rejects that type and try
to regenerate another one.
* The default value of player::player_types parameter is changed to
18, and the default value of player::pt_max paremter is changed to
1. Now, the restriction of player::pt_max is also applied to the
default player type. This means that all field players have to be
changed to the non-default type because the type of goalie cannot
be changed. If server::allow_mult_default_type is false and teams
use the default player type more than player::pt_max, rcssserver
automatically assign the heterogeneous player type to field
players just before the playmode is changed to kick-off.
* Added a new restriction to the player substitution. Now, the
online coach can substitute a same player type within
player::pt_max times. This restriction is not applied to the
default player type. If player::pt_max is 1, each player type
except the default type can be used only once.
* Slightly changed a noise model for movable objects. The new
formula is as follows:
double maxrnd = rand_param * speed;
PVector noise = polar2vector( drand( 0.0, maxrnd ),
drand( -PI, PI ) );
* Changed a kick noise model. Now, the current ball speed affects
the maximum kick noise value. Note that the maximum kick noise
value has no effects if player's kick_rand parameter is 0.
double maxrnd = kick_rand
* kick_power / max_power
* ( 1.0
+ 0.25*(dir_diff/PI + dist_2_ball/kickable_margin)
+ 0.5*(ball_speed/(ball_speed_max * ball_decay)) )
PVector kick_noise = polar2vector( drand( 0.0, maxrnd ),
drand( -PI, PI ) );
* The tackle power sent by player's command is restricted within
server::min_tackle_power and server::max_tackle_power. This means
the backward tackle is forbidden now.
* Changed a back pass rule. Now, an indirect free kick is taken
after the back pass at the location where the back pass
occured. Note that an indirect free kick can be started within
penalty areas.
* Changed a catch fault rule. Now, direct free kick is taken after
the catch fault.
* Now, goalie cannot catch the ball just after his kick. In such a
case, back_pass_[lr] is taken.
* Now, player's stamina, effort and recovery are never recovered at
the half time in the extra halves.
* Now, rcssserver accepts some coach commands from monitor clients
if coach mode is enabled.
* If server::max_monitor is a positive value, the total number of
monitor clients that can connect to the rcssserver is restricted
within that number. If server::max_monitor is a negative
value(default), there is no restriction.
[11.1.2]
* Fixed a bug in the offside referee.
[11.1.1]
* Fixed a bug related to the boost::random.
* Fixed a bug in the offside referee.
* Fixed a problem in the module path string configuration.
[11.1.0]
* Just updated a minor version number. Official relasese for the
RoboCup2007.
[11.0.5]
* Supported a client protocol version 10 and 11. There are no
difference between version 9 and 10. If the clients connect as a
version 11 client, server_param message contains new parameters,
'ball_stuck_area' and 'coach_msg_file'. And, if the file specified
by 'coach_msg_file' exists, version 11 coaches receive the external
message contained by the 'coach_msg_file'.
* Changed the format of the external message format for the coach
client. Now,included data is sent by the following format:
(include <BYTES> <DATA>)
e.g.
(include 4 test)
(include 26 ((name LEFT) 5 3 1 1 12 2))
(include 30 ((team LEFT) (team RIGHT) 2 1))
<BYTES> means the byte size of <DATA>. So, We can also send a binary
data to the coaches.
* Fixed first two problems in the penalty kick(#1720067). Thanks go
to Ralf Berger for reporting the problem and providing the patch.
* Fixed third problem in #1720067. Now, if the defending team player
kicks the ball, penalty_foul() is called immediately and the score
is awarded to the taker team. Thanks go to Ralf Berger for
reporting the problem.
* Fiexed a penalty kick bug that the goalie can catch the ball
anywhere.
* Fixed a rule about goalie catch fault and back pass. Now, if the
goalie catches the ball outside the penalty area, catch_fault_[lr]
is called and an indirect free kick is awarded to the opposite
team at the ball caught point after CATCH_FAULT_WAIT(30) cycles.
* Fixed bugs in the gzip compressor/decompressor reset operation.
[11.0.4]
* Fixed a defect in the random number generation.
[11.0.3]
* Fixed a goal kick rule. Now, any opposite side players must not
kick or touch the ball while goal kick mode. If opposite side
players kick or touch the ball before the ball goes out of the
penalty area, referee awards a goal kick again.
* Fixed a bug about trainer initialization.
[11.0.2]
* Fixed a defect of game logging.
[11.0.1]
* Fixed a problem of boost::uniform_real on some platform.
[11.0.0]
* Supported 64-bits OS.
* Added automatic drop ball for the ball stuck situation. New
server parameter 'ball_stuck_area' has been introduced. If
playmode is play_on and ball is within ball_stuck_area distance
for 'drop_ball_time' cycles, referee will drop the ball at the
current ball position.
* Added new server parameter 'coach_msg_file'. If this option is
given, data conatined by the specified file is sent to coaches as
one of the initial messages. Coaches must connect as the client
version 11 or later.
* Fixed trainer's hear message format.
* Fixed a goal kick bug. Now, any player cannot dribble while goal
kick modes.
[10.0.7]
* Fixed defect introduced by fixing defect #1235909
[10.0.6]
* Fixed defect #1235909 bug in parsing of unquoted player say messages.
Thanks go to Ma Jie and Yang Fan for reporting this bug.
* Fixed defect #1235911 in parsing 'and' conditionals within CLang. Thanks
go to Sina Iravanian for reporting this bug.
[10.0.5]
* Fixed build/install issue which cause libraries not to be found
* Fixed configure bug which cause configure to hang on rpm macro expansion
[10.0.4]
* Fixed defect #1222134 in which the kickable area used to decide possession
in KeepawayRef was too small. Also changed the number of consecutive
cycles in which a taker must touch the ball to declare a turnover from 5
to 4.
* Fixed compilation problems on with gcc 3.4. Thanks go to Alexander
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -