Quantcast

Maximum PC

It is currently Sat Aug 30, 2014 9:37 am

All times are UTC - 8 hours




Post new topic Reply to topic  [ 6 posts ] 
Author Message
 Post subject: BotBattle
PostPosted: Wed Nov 11, 2009 3:52 am 
Team Member
Team Member
User avatar

Joined: Sun Jun 12, 2005 5:52 pm
Posts: 1319
Location: Infront of my Computer.
Do you guys think you could program (with the set of instructions that it is limited to) a bot that could do better then those already on the leader board?

http://www.robertandsherman.co.uk/botbattle/index.php


Top
  Profile  
 
 Post subject:
PostPosted: Wed Nov 11, 2009 5:22 am 
SON OF A GUN
SON OF A GUN
User avatar

Joined: Mon Nov 01, 2004 5:41 am
Posts: 11605
What exactly is this?


Top
  Profile  
 
 Post subject:
PostPosted: Wed Nov 11, 2009 2:32 pm 
Team Member
Team Member
User avatar

Joined: Sun Jun 12, 2005 5:52 pm
Posts: 1319
Location: Infront of my Computer.
CrashTECH wrote:
What exactly is this?


It is a game essentially, where you upload a text file with code to try and make a bot that can defeat all other bots.


Top
  Profile  
 
 Post subject:
PostPosted: Wed Nov 11, 2009 4:02 pm 
Bitchin' Fast 3D Z8000*
Bitchin' Fast 3D Z8000*
User avatar

Joined: Tue Jun 29, 2004 11:32 pm
Posts: 2555
Location: Somewhere between compilation and linking
Welcome to the future of warfare! =)

That's a pretty cool little bot sim. I created an account and read the help file. The language is fairly easy to grasp. It reminds me of a HLA language...

  • if, if else, but NO loops... you have to use jumps instead.
  • ....Interestingly enough, the documentation says that there are no subroutines, but it does support functions. Hmm...
  • Built-in basic math functions (abs, pi, cos, sin, tan asin, acos, atan, etc).
  • Built-in functions for locations of objects, yourself and the enemy.
  • ....For example, enemy_x is the x-coord for the enemy bot
  • ....It looks like you can only get the location of the "nearest" items (eg health)


You can obviously implement a strategy based around a FSM, but I'm not sure that you could generate a plan (due to your only knowing the location of the "nearest" health of ammo). Also, I didn't see anything on how actions/code from the two robots are interleaved. Is it turn based, real-time time slicing, etc.

I would consider starting out by creating all the obvious states and then tying it together with a random number generator (ie if rand is 0-10 shoot, 11-20 get health, etc). It would be easy to implement and you could quickly "learn" good values for the states by having two bots play head to head matches. That should get you pretty far, pretty quickly.


Top
  Profile  
 
 Post subject:
PostPosted: Wed Nov 11, 2009 4:53 pm 
Northwood
Northwood
User avatar

Joined: Sun Jul 15, 2007 6:37 pm
Posts: 2261
Location: No. 1 Thread Killer
You can get your health state right?


Top
  Profile  
 
 Post subject:
PostPosted: Wed Nov 11, 2009 10:24 pm 
Bitchin' Fast 3D Z8000*
Bitchin' Fast 3D Z8000*
User avatar

Joined: Tue Jun 29, 2004 11:32 pm
Posts: 2555
Location: Somewhere between compilation and linking
Yeah, you can get your health and ammo and find out where you are "stuck". You can get the same info for the enemy bot. I don't know why they didn't make the help file available to the public.

It would be pretty cool if you could figure out a way to figure out more than one location for each type of item. Then you could do a little bit more planning than just running for the nearest health or ammo.

The langauge should be called bot assembly language. You can tell that this is someone who is looking forward to being a C programmer -- it is assembly language BUT you still get to end everything with a semi-colon. LOL. Why can't people just use Python for this type of stuff?!

He doesn't mention anything about the scoping of variables or passing variables. I also think that his functions are really procedures, but depending on the scoping rules, I'm not sure that you'd be able to create a useful side effect (ie what's the point). Also, it doesn't say anything about having static variables in the "functions". I think for me to really get into this game, I'd have to write some macros in LISP to expand my thoughts into this language.


Top
  Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC - 8 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group