-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathChangelog
More file actions
548 lines (314 loc) · 14.1 KB
/
Copy pathChangelog
File metadata and controls
548 lines (314 loc) · 14.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
= Version 4.6.16 =
Distance to probe on 1on1 decreased, 100 -> 200. This way my bot dodge better
from known guns. Small distance help with simple bots since I can avoid enemy
bullets, but than it make me very predictable for top bot and overall APS
drops. So I put it back to "a golden middle"
Revert enemy bullet predictor to v4.6.4 logic, i.e. do not assume that enemy
has info about me from 2 ticks before firing detected. This is not what robocode
physics dictate, but otherwise my APS is not that good.
Above required to disable enemy pif gun, since it not always can fire and fail
the simple bullet creator.
= Version 4.6.15 =
No logic change.
Distance to probe on 1on1 decreased, 300 -> 100. This way my bot dodge better
from known guns.
= Version 4.6.14 =
No logic change.
Distance to probe on 1on1 increased, 200 -> 300. This seems to make my bot
less predictable.
Spelling fixes.
= Version 4.6.13 =
No logic change.
Improvements: use a new profiler code.
= Version 4.6.12 =
fix: seems like in 4.6.9 I reduce pif search depth, which dropped my score a
lot. I am changing it back to prior 4.6.9 value i.e. 200 -> 500
Improvements: redid 1on1 gun choice: remove pif1, pif2 as rather mediocre,
pif10 and pif20 as almost never fired. Now I use pif3 and pif6.
= Version 4.6.11 =
pifGun has option to take best match and not only exact one. Switch pifGun to
take best match by default.
Disable gunHeat comparison for pif related purposes, when it is on I have
about 2% APS down on my test set.
= Version 4.6.10 =
Bug-fix: proper bullet and wave travel distance calculation; each robocode
event set ticTime variable otherwise I might get 1 tic time lag
Improvements: gun start aim a bit before gunHeat drops to zero; wave
intersection uses bot size as a measure for intersection; scan event bump in
priority, otherwise bullet processing use 1 tic old enemy bots coordinates.
= Version 4.6.9 =
Bug-fix: virtual guns use to select bullets with not proper gunHeat (i.e. gun
was in hot state already). This leads to wrong virtual gun hit rate since they
were using wrong solution.
Gun manager is forced to select a gun thus rerun all virtual gun settings
when gunHeat==0 to address above problem.
Improvements: keep cache of matched pattern so there is no need to recalculate
them for every call to pifGun during the same click.
Minor thing: improve profiling output.
= Version 4.6.8 =
Bug-fix: The choice of probing distance was very large for bots which fight
close. The gun now does not fire neither virtual nor real bullet if it cannot
predict future target position. This is mainly for pif gun which often does
not have long enough match, so it was offering head on which skewed
statistics.
= Version 4.6.7 =
Improvements: Added lateral speed comparison to botStats to assist pif gun.
pifGun returns null if it is unhappy with solution this effectively assign
weight 0 to such gun. Which in turn is taken in account by the gunManager.
gunManager samples all the guns for firing solution and only then chose the
firing gun. Before gunManager was choosing based on past performance only.
This however leads to a lot of skipped turns now.
= Version 4.6.6 =
maxAllowedTicToBeColdForAGun = 0 --> 1 in 1on1 as it was in v4.6.4
Let's see if it makes any difference
= Version 4.6.5 =
Bug-fix: wrong count of me hit by other bots
Improvements: when fire virtual bullets by enemy gun take in account that they
are fired before detected and that they use even older targeting info. Worked
on safe path motion it is quite useful now, but it is weak against stronger
bots.
= Version 4.6.4 =
Bug fix: multiple minor things. Among them cold count tics were not properly reset
Improvements: much better gun stats based on virtual and real bullets, keep
track of how long gun stayed cold and did not fire. Implemented class with
robocode physics and parameters, and switch to using it.
Linear gun tries to take in account the time to cool down the gun, so it aims
at the same point as long as a bot moves with constant velocity.
Major logic change: reduce required precision to fire a gun also if gun jammed
in cold state (most often target future position changes to much with every
tick), fire it anyway. I use to have a lot of not fired tics, which reduces
score drastically.
= Version 4.6.3 =
Bug fix: repaired anti bullet shielding bots logic.
Improvements: virtual bullets stats counted separately.
= Version 4.6.2 =
Improvements: Gun has cashed firing solution do it does not recalculate it during the same
tic. Added count when I am hit by predicted bullet as a measure of dodging.
Bug fix: safety path uses latest methods getTime instead of addressing tic
variable.
Virtual bullet removed from wave once it hit a target to avoid hit rate
skewing.
= Version 4.6.1 =
Bug fix: "shadow" gun was used in stats and was reason for a crash since
pointer to it was null.
= Version 4.6.0 =
Improvements: fire virtual bullets with my gun as well, using virtual bullets
counts as base for gun selector instead of real bullets.
= Version 4.5.18 =
Improvements: better choice of probe point on dangerMap motion. Wave arrival
time is taken into account. No special treatment for rammers.
= Version 4.5.17 =
Improvements: added danger from corners in 1on1 type fight
Bug fix: stopDistance assumed integer values for speed
= Version 4.5.16 =
Reversion: pifGun and botStats comparison essentially reverted to v4.5.11
parameters. It seems to increase APS.
= Version 4.5.15 =
Feature: rammer avoidance with danger map motion, also probing points are now
do not span beyond enemy bot: the normally circled area squashed in enemy
direction.
= Version 4.5.14 =
pifGun use only longest matches ends. Close to v4.5.11 logic
= Version 4.5.13 =
Bug fix: pidGun drawing polished and fixed
Improvements: dangerMap motion in 1on1 has flexible distance to probe, there
are bots which like to fight in closer distance, and old long and fixed probe
distance were a bad choice.
Added: skipped turns stats
= Version 4.5.12 =
pif improvements: working with all pattern length points (probabilistically),
speed up (do not check the same pattern points on the higher depth level).
= Version 4.5.11 =
Bug fix: distance to wall ahead used ineffective algorithm which leaded to
long execution times and skipped turns
= Version 4.5.10 =
Bug fix: introduced in 4.5.9 where I moved to new form of time stamps.
Bug fix: in random future target position offset to avoid bullet shielding
bots
Various small improvements in logic.
= Version 4.5.9 =
PIF gun takes in account wall proximity, some improvements and bug fixes in
bot stats tracking. PIF gun in 1on1 like fights.
= Version 4.5.8 =
Enable PIF gun for 1on1
= Version 4.5.7 =
Enemy wave shows guess factor danger.
Added ramming of week bots (<0.1 energy) in 1on1.
Made a exact safe path calculation but it is to slow to be used. Need to
improve selection algorithm.
Motion helper function moved to special helper class.
Makefile can compile for one version but put bot into other robocode
directory.
= Version 4.5.6 =
Move a variable from int to double.
Added tactics to penetrate bullet shielding bots: aim a bit off center.
Changelog itself reworked.
v4.5.2 melee success seems to be an artifact of low statistics.
= Version 4.5.5 =
Weight of enemy energy for targeting is set to constant equal to 1. This should
mimic logic of v4.5.2
= Version 4.5.4 =
Reduce weight of far targets, to match it to the v4.5.2 with exception that
energy of the enemy bot makes contribution to its weight. Idea behind that if
an enemy bot is far enough, the probability to hit is small. So even if it
tempting to fire at 0 energy bot, we might reconsider.
Hit wall now, throw a message to remind me to rework motion.
Small reworks in danger map motion.
= Version 4.5.3 =
bug fix: energy is used as part of weight for target choosing
placement statistic works properly
= Version 4.5.2 =
bug fix: shadow bullets had unlimited precursor range
gf gun kicks in only in 1on1 settings, it seems to performe worse on most of
the bot except Neuromancer
Compile for robocode version 1.8.2
= Version 4.5.1 =
bug fix: when decided on fight type the ratio was 2/3 instead of 2./3 to
convert it to float
bug fix: typos in fight types
feature: different fight types have different sets of gun firing at me
= Version 4.5.0 =
Added gfGun firing at me in attempt to make GF profile flatter. Seems to help
a bit.
= Version 4.4.9.1 =
Added file log output. Random gun is removed, added GF gun to middle melee
fight.
= Version 4.4.9 =
bug fix: do not chose point candidate at which my bot hits a wall
bug fix: choice of new gun if current is cold for too long
improved GF depiction for the GF paint method
= Version 4.4.8 =
GF gun use the most probable location.
Put random gun back for 1on1 situations.
= Version 4.4.7 =
bug fix: all my wave in air were removed once the first one hit
added: nice guess factor graphics for GF gun
= Version 4.4.6 =
GF gun fix. My hit bullet were not counted in GF stats.
My wave does not go beyond the 2 closest bot. Since it is unlikely that the
further ones react on my shots.
= Version 4.4.5 =
Added guess factor gun.
= Version 4.4.4 =
Bug fix: linear or circular gun never settles if an enemy bot quickly oscillates.
= Version 4.4.3 =
Speed up on enemy wave danger calculations. Do not take in account waves which
a too distant.
Remove bullets screened/shadowed by enemy bot.
= Version 4.4.2 =
Comment out code of my bullets shadows
= Version 4.4.1 =
Added shadowing by my bullets and other bots bodies.
= Version 4.4.0 =
Circular gun is now a default, linear gun is not used anymore.
= Version 4.3.9.1 =
Bug fix for too many calls of getOthers()
= Version 4.3.9 =
Match condition of melee for v4.3.2 and 1on1 for v4.3.8
= Version 4.3.8 =
Redo danger from bullets, it is not as sharp dependence on their damage
= Version 4.3.7 =
Danger zone from bots is as in v4.3.2
Added danger from bullet proportional to its potential damage.
= Version 4.3.6 =
Gun distance to energy method is the same as in v4.3.2 for melee types
= Version 4.3.5 =
Brought back firing energy coefficient as it was in v4.3.2 except 1on1 melee
end where it is smaller.
Increased danger zone around enemy bot.
Fix of battle won count.
= Version 4.3.4 =
1on1 and melee resulting in 1on1 are treated differently.
Look like it is a good choice to chose stronger bullets in 1on1.
= Version 4.3.3 =
In melee fight fire power is 3, it is boosted up for other fights as well.
= Version 4.3.2 =
Bug fix: wall danger increased for no go wall zone, so bot does not bump at
walls.
= Version 4.3.1 =
Target selector takes in account enemy bot energy and how tough is the bot
(i.e. how long it lives in general on the battle field).
Bug fix of non firing gun. if bullet asks more than energy available than no
fire was set, now it takes almost all available energy
= Version 4.3.0 =
Nothing major just changed distToProbe 50 -> 100. This seems to help with
score.
= Version 4.2.9 =
Radar does much smaller motions to refresh positions of all bots. Radar code
is much simpler now as well.
= Version 4.2.8 =
Gun weight influence target choice only in the mid melee stage.
Before it switched on at the beginning of melee. It seems that
it is the must to shot nearby bots at the beginning.
= Version 4.2.7 =
Target choice not only on distance but gun stats input.
Improved gun stats output.
= Version 4.2.6 =
Random gun switches on only in 1 on 1 fight, otherwise I use only linear
Improved gun stats output
= Version 4.2.5 =
In each fight style guns chosen according to probability to hit a bot with
this gun
= Version 4.2.4 unreleased =
Explicit sets of guns for 1on1, melee, and melee Midle battle type.
Disabled pifGun for now since it is too slow.
Improvements in the gun stats output.
Preliminary work to make target choice based on relative hit rates.
= Version 4.2.3 =
The pattern search depth is limited to constrain the time per turn and avoid
to many skipped turns.
= Version 4.2.2 =
Bug fixes and speed up in play forward gun. It now looks for the longest
match.
= Version 4.2.1 =
Bug fix: ignore the heading of an enemy bot body in the predictor,
look only for actual velocity direction
= Version 4.2 =
Added play forward gun and only it is used in the battle
= Version 4.1.1 =
Increased danger from other bots back to 100
= Version 4.1 =
Put fires from other bot through predictor of my own guns: linear and base (head on)
= Version 4.0 =
Added randomness and arbitrary amount of move point candidates
Track multiple bots now
= Version 3.9.4 =
Bug fix: when ramming was pulled into the enemy bullet path
Bug fix: do not fire when low on energy
Disable ramming. It seems to decrease my score against low end bots
Makefile done differently for test version of bot
= Version 3.9 =
Track enemy target hit rate.
Optimize distance to increase mine/enemy hitRate ratio.
= Version 3.8 =
Increased threshold for ramming. Bug fixes in dynamic distance calculation.
= Version 3.7 =
Bug fix: when we are in mêlée reset dynamic distance calculation
= Version 3.6 =
Ramming weak opponents, and dynamic choice of distance in 1 vs 1
= Version 3.5 =
Improved linear predictor to place target within bot physical limitations.
Simplify and speed up danger map calculations.
Increase danger distances from bot and bullets.
= Version 3.4 =
Bug fix of the random gun.
= Version 3.3 =
Guns accumulate statistic during the battle. Based on it
I added performance based choice of available guns for 1 vs 1 stage.
= Version 3.2 =
Incidental release of the same version as v3.1
= Version 3.1 =
Bug fix: choice of new destination point
Now we chose among several cell with about the same danger level, no switch
to new destination if it is still reasonably low in danger level.
= Version 3.0 =
Movements are handled with danger map
= Version 2.1 =
Added a bullet manager to visualize all known bullets
= Version 2.0 =
Gun, radar, bullets, and motion moved to separate classes
Otherwise operational logic is the same as in v1.7
= Version 1.7 =
Quite good robot with almost all methods in one body
= Version < 1.0 =
Very naive robot with changes lost in history :)