Basic Gliding AI challenge

View previous topic View next topic Go down

Basic Gliding AI challenge

Post by RA2lover on 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)
avatar
RA2lover
Walker
Walker

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

View user profile

Back to top Go down

Re: Basic Gliding AI challenge

Post by Echo_Delta_Oscar on 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)}


   

}

avatar
Echo_Delta_Oscar
Hover
Hover

Posts : 105
Join date : 2011-03-24

View user profile

Back to top Go down

Re: Basic Gliding AI challenge

Post by RA2lover on 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.
avatar
RA2lover
Walker
Walker

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

View user profile

Back to top Go down

Re: Basic Gliding AI challenge

Post by Echo_Delta_Oscar on 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)}


   

}

avatar
Echo_Delta_Oscar
Hover
Hover

Posts : 105
Join date : 2011-03-24

View user profile

Back to top Go down

Re: Basic Gliding AI challenge

Post by Sponsored content


Sponsored content


Back to top Go down

View previous topic View next topic Back to top

- Similar topics

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