Robo Home | Changes | Preferences | AllPages

My OneOnOne bot Lacrimas.

Do you know Lacrimas Profundere?Do know BlackSwans? I love them. I'll beat you flow over lacrimas.:)

Version History
2004.2.26: version 1.35 released, tweaked a little and added a anti-headontargeting-movement based on CigaretMovement?.

2004.1.17: version 1.33 released, fixed a bug of 1.31 and tweaked a little again.

2004.1.14: version 1.31 released, tweaked again.

2004.1.10: version 1.30 released, Fixed the Wave timing bugs agains,hope this time it is corrected really.

2004.1.9: version 1.28 released, Corrected the EnemyWave.

2004.1.5: version 1.27 released, tweaked movement a little.

2003.12.15: version 1.26 released, fixed a bug.

2003.12.15: version 1.25 released, Tweaked and fixed some bugs.And its now not open source.

2003.12.14: version 1.20 released, A new movement--Flattener Movement added.

2003.11.15: 1.13 released, fixed a bug.

2003.11.3: inspire by Andrew's Neo, version 1.12 released, It beat all my other bots. you can download it here: http://robocoderepository.com/BotDetail.jsp?id=1820

2003.3.3:first version of Lacrimas released(version 0.50).It get #2 in ER,but then i removed it,then it had not fight in most rumble. you can download it here: http://robocoderepository.com/BotDetail.jsp?id=1290

How does it move?

0.50:random move around enemy,use a timer to control. 1.12:Changed to a tweaked Cigaret Movement.

How does it fire?

0.50:Use MiniMultiWave? to recored shoot angle and pattern element to do pattern analyse. Can analyse 0.1 to 3 power bullet's shoot angle. So i make it shoot random power bullet,maybe can disturb some dodge movement. 1.12:Based on CigaretST's Statist Gun.

How does it dodge bullets?

random move can dodge some.:-)

How does the melee strategy differ from one-on-one strategy?

Just a OneOnOne bot.

Where did you get the name?

Lacrimas,tear,beat you to cry, tear in face,Lacrimosa.:)

Can I use your code?

Yes,this moment...,you can.:)

What's next for your robot?

I dont know,maybe just tweaking.

What other robot(s) is it based on?

Congratulations!! Paul has some work to do now :) Just ran 1000 rounds, Lacrimas wins vs SandboxDT 80514 to 77915 Great job, man -Andrew

Thank you,but you also can see Lacrimas lose to Neo very much.~;[ Just won DT a little margin~;],and i cannot sure it can beat SandboxDT in short battles or very long battles.I had not test much. -- iiley

It looks like DT loses to Lacrimas over the long term - unfortunatly I have a contract I will not be able to spend much time on this :( - It may be a two or three weeks before I can release a new version - I have ideas, but none of them coded and tried out yet. Congratulations iiley. -- Paul Evans

Whatever you fed the new Lacrimas it seems it was a good diet. =) -- PEZ

Good work with Lacrimas 1.20! It's super strong. -- PEZ

Thanks,It's still in tweaking,the new movement is young,hope it can be improved.~;] -- iiley

2 points behind DT... Yeah, only 66 pairings. But anyway! Great bot. -- PEZ

~;],1.26 is ready(fixed a movement bug),coming soon! -- iiley

Ohu~~~~~~~1.26 released,worked hole day tired,i must have a rest to see how it can clamb. -- iiley

You must be really pleased with 1.26 - it just beats DT 1.41 in the long term (although I have a development version with a new gun which just takes that back which I may introduce). Your movement looks like it is more of a bullet dodger than a movement flatener - any comments? Paul

Can't it be both a flattener and a dodger? That's what Cigaret movement is about I thought. -- PEZ

I allways thought of movement flatteners (or adaptative movements) as advanced bullet dodgers... -- ABC

Yeah, but here I think we are talking about direct reaction on enemy fire. -- PEZ

Didn't iiley's bots always do that? -- ABC

Most of them do I think. And also Lacrimas if I understand the source code correctly. It is also adaptive. Quite complex movement system. Pity it is now closed source. -- PEZ

I distinguish between flatteners and dodgers in the following way: A dodger will attempt to move to locations it believes that bullets are not being aimed - at the expense of creating a peak in the movement profile elsewhere - a flattener attempts to leave no peaks at all. DT's movement adaptor changes the movement profile slowly to increase/decreace the hit percentage at the high end of the guess factors - hopefully to flatten the movement profile (DT is happy to be hit at +1.0 say 10% of the time). The side effect is that if DT is against non-adaptive targeting that, for example, always fires head on or always fires linearly DT will be in effect a dodger against these simple guns. I strongly believe iiley's latest movement is a true dodger - each time it is hit I think it makes a decision not to be at that guess factor for subsequent bullets. Time I think for DT to develop an anti-dodge gun - deliberatly firing on those guess factors which the enemy has not yet been hit on. However Illey has developed the best movement I have seen so far - congratulations. -- Paul Evans

Thanx,Wooom~~1.26 beat DT 1.41 in long term?(I had not test it enough,just fixed the bugs in 1.15)happy~;]Thank you for the comments,well i think the new movement of Lacrimas is a flattener,but i prefer think it a Auto-Adaptive Movement(maybe Adaptive contains the meaning of "auto",my poor English),as Paul described "each time it is hit I think it makes a decision not to be at that guess factor for subsequent bullets",he is right,it is what the movement really did.But it is just a checker,check the errors of the peaks which the flattener thinked.So indeed,it attempts to leave no peaks at all. -- iiley

Yes - adaptive includes the idea of automatic, so the prefix "auto-" is not required. It can be used for emphasis, but it is still bad grammer. -- Tango

Thank you for tell me that Tango, i always take the time of English learning to do robocoding or think of robocoding. ;] -- iiley

An anti-dodge gun. I have been thinking about that concept for a long time, but since I can't even make a normal guess factor gun, I haven't been able to come up with that. My fear of DT increases. -- Alcatraz

OMG!! i know the rating hasn't stabilised yet, but as things stand at the moment Lacrimas tops the RoboRumble with a rating of 1924.16!! i took a screenshot in case you missed it and wanted a picture for your wall PEZ stylee.. Brainfade

(edit conflict) 74 battles fought and Lacrimas 1.27 is in 1st place... can't wait to see where it will end up! :) -- ABC

Impressing. It might settle very near 1900. It's super strong against the top-10. 51+% against DT after 5 battles! If you can do some cheap trick against the weaker bots you might pass DT. Truly good work. Again. -- PEZ

It is only a little better than 1.26,er~~~against the weaker bots...A good idea... -- iiley

This sounds silly, but I am pretty certain you have a bug in your gun. Try running some test rounds against sample.walls - when walls is at a certain angle, Lacrimas fires way behind it, as if it were using the wrong heading data. Looks like a trig error. Either that or you're doing something really clever which just doesn't work against Walls. :-) - Jamougha

Yes when i were trying to add the trick to my movement system,i saw a strange problem,there maybe a error in my data gathering method,my collected data show that some head-on-targeting bots not always head-on-target,only about half times.Then there must be a same error in my gun...I am trying to find out it,when it is fixed,hope Lacrimas can be stronger. --iiley

So... you have a bot with a broken gun and a broken movement system, yet which can beat DT? Wow... here's to the future. ;-) - Jamougha

I checked,its not the gun's error,it just doesn't work well against Walls,but the movement had some bugs,it can not dodge head-on-targeting very well. -- iiley

There are differences in the timing between your bots waves and EnemyWaves. A misalignment in the enemy wave doesn't mean your gun waves are broken. -- PEZ

er~?What are the differences?I am not sure,did EnemyWaves fired before enemy'e energy change a tick? -- iiley

Yes, check the EnemyWave page for a discussion about this. Vuen explained it. You should register the EnemyWave with "getTime() - 1" and the locations/bearings of the previous tick. Then it will align perfectly. Good luck! -- PEZ

Thank you~;]Oh~I see,i will only correct the EnemyWave to see Lacrimas's new ranking.~;] -- iiley

Eh, sorry. I meant "getTime() -2" actually. At least I had to do that. -- PEZ

I think you also need to do some "interesting" things if you're using events for your bullets. Maybe that you have to use getTime() - 1 and subtract one more if your bullets get processed before your scan. -- Kawigi

Yeah, and last time Lacrimas was open source it was using Marshmallow/Gouldingi/Mako/Tityus style event Waves. =) -- PEZ

Ar~?? getTime()-2??~;[,but if i process it in ScannedEvent? before i do some shoot or move i can use getTime()-1? I should think some.Why should getTime()-2?I can hardly know.~;[Because the CustumerEvent? is process after ScannedEvent?? -- iiley

It's because the bullet is already advanced 1 tick at the time of fire. And then you read the energy drop 1 tick after that. -- PEZ

Strange i some time get this Exception:

Preventing cx.Lacrimas 1.35 from access: (java.io.FilePermission E:\robocode\.robotcache\cx.Lacrimas_1.35.jar_\cx read): You may only read files in your own root package directory. 

but sometimes it work right,I dont know if it is my error or my JDK1.42 is not work well with robocode.Can someone give me some tips,thanks. -- iiley

It's a bug in Java 1.4.2 --David Alves

Oh~~Thank you David,seems i could install 1.4.1 instead~;] -- iiley

Look here --> JRE 1.4.2 SecurityException Bug --David Alves

Thank you very much~;] -- iiley

Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited February 27, 2004 2:26 EST by Iiley (diff)