RigidChips
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Basic Gliding AI challenge

2 posters

Go down

Basic Gliding AI challenge Empty Basic Gliding AI challenge

Post by RA2lover Sun May 13, 2012 3:18 pm

this challenge's goal is to create a script able to get rigidchips's Basic model to glide from the default stadium's tennis court to water, gliding the longest distance possible.

rules:

-regulations being enforced: GATCS - we won't use jets, and with infinite fuel someone will end up circling around making a futile attempt to circle around in order to get more speed Razz

these regulations must be the only ones set, and must remain like this from the model's initialization to its end point.

-the only valid model here is Basic(rigidchips's starting model), without modifications to anything other than its scripts being allowed. this means no adding/removal of chips/cowls or modification of the model's min/max values(however, you can set its step to 0). you're still allowed to use BYE or SPLIT to detach chips from the model.

-the only human input allowed is model initialization and an optional start button.

scoring:
the start point is defined as the position where the core chip's _H() function returns an error value for the first time.
the end point is defined as the position where the core chip's _Y() position is equal or under 0.3m(1/2 chip) for the first time.
the score will be the XZ plane distance between the jump start point and the end.
should 2 or more competitors get a distance of 5 30m from the highest score competitor amongst them, they will be considered as tied on the same ranking position.
example: if player1 gets 600m, player2 582m, player3 558m, player4 534m, and player5 516m, the score will be like this:
Code:

1-player1
1-player2
2-player3
2-player4
3-player5

Current Scores:
Code:

1 - Echo_Delta_Oscar - 387m

Rule Edits:
-Tie distance changed from 5m to 30m
-Human input past model initialization isn't allowed anymore.


Last edited by RA2lover on Mon Mar 11, 2013 1:36 pm; edited 2 times in total (Reason for editing : update rules and example scoring section)
RA2lover
RA2lover
Walker
Walker

Posts : 382
Join date : 2010-10-11
Age : 29
Location : Brazil

Back to top Go down

Basic Gliding AI challenge Empty Re: Basic Gliding AI challenge

Post by Echo_Delta_Oscar Mon Mar 11, 2013 12:49 pm

If I got your instructions right, here is my subscription, it will glide for more then 350m.

Code:

Val
{
   Brake(default=0,min=0,max=80,step=80)
   HBrake(default=0,min=0,max=100,step=100)
   Handle(default=0,min=-20,max=20,step=5)
   Engine(default=-2500,min=-2500,max=2500,step=25)
   Xpar()
   Zpar()
   Xpar2()
   Zpar2()
   Trig()
}

Key{}

Body {
   Core(){
      N:Chip(name=Nose){N:Rudder(angle=Handle){
      W:Frame(){W:Wheel(name=WE,angle=90,brake=Brake){}}
      E:Frame(){E:Wheel(name=WW,angle=90,brake=Brake){}}
      }}
      S:Chip(name=Tail){
      W:Frame(){W:Wheel(angle=90,power=Engine,brake=HBrake){}}
      E:Frame(){E:Wheel(angle=90,power=-Engine,brake=HBrake){}}
      }}
}
Script
{

   print 1,_X()
   print 2,_Z()
   Handle=-(-22-_X())-_TODEG(_AY())+_VX(Nose)-_VX(Tail)

   if _Z()>(-50) & _H()>(0){
   Engine=-1000}

   if _H()>(0){
   Xpar=-_X()
   Zpar=-_Z()}

   if _H()<(0) & _Y()>(3/10) & Trig=(0){
   Handle=0
   Xpar2=-_X()
   Zpar2=-_Z()
   Engine=-2500*(23/2-_TODEG(_AX()))
   print 4,"Distance: ",_LEN2(_X()+Xpar,_Z()+Zpar)}

   if _H()<(0) & _Y()<=(3/10){
   Trig=1
   Engine=0
   print 4,"Distance: ",_LEN2(Xpar2-Xpar,Zpar2-Zpar)}


   

}

Echo_Delta_Oscar
Echo_Delta_Oscar
Hover
Hover

Posts : 105
Join date : 2011-03-24

Back to top Go down

Basic Gliding AI challenge Empty Re: Basic Gliding AI challenge

Post by RA2lover Mon Mar 11, 2013 1:39 pm

It's all right,but kind of unreliable due to butterfly-like effects.
Lua scripts are also allowed too.
RA2lover
RA2lover
Walker
Walker

Posts : 382
Join date : 2010-10-11
Age : 29
Location : Brazil

Back to top Go down

Basic Gliding AI challenge Empty Re: Basic Gliding AI challenge

Post by Echo_Delta_Oscar Tue Mar 12, 2013 3:03 am

This is how I fixed it.
I lost some absolute performance, but it is more reliable.
It starts with more power (1500 instead of 1000), and throttles up to 2500 in the tunnel instead of on the football field.

Code:

Val
{
   Brake(default=0,min=0,max=80,step=80)
   HBrake(default=0,min=0,max=100,step=100)
   Handle(default=0,min=-20,max=20,step=5)
   Engine(default=-2500,min=-2500,max=2500,step=250)
   Xpar()
   Zpar()
   Xpar2()
   Zpar2()
   Trig()
}

Key{}

Body {
   Core(){
      N:Chip(name=Nose){N:Rudder(angle=Handle){
      W:Frame(){W:Wheel(name=WE,angle=90,brake=Brake){}}
      E:Frame(){E:Wheel(name=WW,angle=90,brake=Brake){}}
      }}
      S:Chip(name=Tail){
      W:Frame(){W:Wheel(angle=90,power=Engine,brake=HBrake){}}
      E:Frame(){E:Wheel(angle=90,power=-Engine,brake=HBrake){}}
      }}
}
Script
{

   print 1,_X()
   print 2,_Z()
   Handle=-(-22-_X())-_TODEG(_AY())+_VX(Nose)-_VX(Tail)

   if _Z()>(-200) & _H()>(0){
   Engine=-1500}

   if _H()>(0){
   Xpar=-_X()
   Zpar=-_Z()}

   if _H()<(0) & _Y()>(3/10) & Trig=(0){
   Handle=0
   Xpar2=-_X()
   Zpar2=-_Z()
   Engine=-2500*(23/2-_TODEG(_AX()))
   print 4,"Distance: ",_LEN2(_X()+Xpar,_Z()+Zpar)}

   if _H()<(0) & _Y()<=(3/10){
   Trig=1
   Engine=0
   print 4,"Distance: ",_LEN2(Xpar2-Xpar,Zpar2-Zpar)}


   

}

Echo_Delta_Oscar
Echo_Delta_Oscar
Hover
Hover

Posts : 105
Join date : 2011-03-24

Back to top Go down

Basic Gliding AI challenge Empty Re: Basic Gliding AI challenge

Post by Sponsored content


Sponsored content


Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum