Coding Challenge 3 [RoboMaze]

The Partridge Family were neither partridges nor a family. Discuss.
Post Reply
User avatar
chili
Site Admin
Posts: 3948
Joined: December 31st, 2011, 4:53 pm
Location: Japan
Contact:

Coding Challenge 3 [RoboMaze]

Post by chili » November 30th, 2017, 11:41 am

New coding challenge coming up. Basically it's going to be an exploration pathing algorithm challenge, where you code an AI for a robot that is navigating a maze on limited information. You can get the robot maze arena program source here: https://github.com/planetchili/RoboMaze

This space will serve as the official documentation for the challenge. All updates will be transmitted through this page as well. You may use the thread below for any discussion of the problem or the solution, or for asking clarification questions or submitting bug reports. Do not read the posts below this one unless you are okay with possibly having part or all of the solution (or a solution) spoiled for you. Questions and discussion may also take place on the Discord (link available here: http://www.planetchili.net).

Specifications:
  • The map is guaranteed to be between 4x4 and 1000x1000 in size
  • You are guaranteed not to be able to go out of bounds of the map (completely enclosed)
  • You will never start inside a wall tile
  • You will never see a tile that is not wall, floor, or goal
  • There will always be 1 goal (though it may not be reachable from the start point)
  • All bots will be run on the same set of maps with the same start points and directions
Win/Lose Conditions:
  • Bot will win if it submits the Done action while standing on the Goal square
  • Bot will win if it submits the Done action at anytime inside of a maze it which it is impossible for the bot to reach the goal
  • Bot will lose if it submits Done while not standing on Goal in a map in which it is possible for bot to reach Goal
  • Bot will be considered to have failed if it takes a number of moves greater than 5 times the number of tiles on the map
Submission Guidelines:
  • Submission format is zip file of the RoboAI folder (requires at least RoboAI.h & RoboAI.cpp, do NOT include any other .cpp files)
  • Submit via PM to Chili on this forum
  • Submit only once
  • The submission deadline is 8:00 PM, Thursday, December 7th, 2017, Japan Time Challenge over! Feel free to keep working on your solution if you have one, you can always compare with the result when it is presented, but submissions are no longer being accepted.
Scoring:
  • Primary ranking determined by number of mazes successfully solved
  • Ties will be decided mainly on solution length in moves, but also on CPU time
  • Tentative formula for tie breaking: 3 * (avgmov - mov) / stddev_mov + (avgtime - time) / stddev_time
  • Other subjective factors such as code readability and quality of visualization (if one exists) will also be taken into consideration
  • There is no bonus for early submission
General Rules and Prohibitions:
  • Competition bots may NOT directly read map information, bot position/orientation information, or any other outside information other than the array passed into Plan()
  • Your bot may not consume more than 1GB of memory
Advice:
  • It is recommended that you clone the RoboMaze repo and work in a branch other than master. If any enhancements are made to the simulation system (UI improvements etc.), you will be able to pull those from my repo into yours, and then rebase your dev branch on top of those changes to reap the benefits immediately.
Code Changelog:
  • 12/2 changed DebugSimulator ctor so that DebugControl is constructed before RoboAI (this allows the RoboAI ctor to actually use the DebugControl&)
  • 12/2 Simulator now properly handles situation where AI flags unreachable on an unreachable map
Further updates and information will be posted here if any arise.

See the announcement video for details on using the simulator and implementing your bot.
Announcement video: https://youtu.be/oOkOHazuqeQ
Chili

User avatar
cyboryxmen
Posts: 190
Joined: November 14th, 2014, 2:03 am

Re: Coding Challenge 3 [RoboMaze]

Post by cyboryxmen » November 30th, 2017, 1:24 pm

I like how you're using a tile map now. Much professional.

From what I see so far, the ai is implemented to only be able to see the tile in front and on each side of it. Is this limited vision what you intended us to work around?
Zekilk

User avatar
chili
Site Admin
Posts: 3948
Joined: December 31st, 2011, 4:53 pm
Location: Japan
Contact:

Re: Coding Challenge 3 [RoboMaze]

Post by chili » November 30th, 2017, 1:30 pm

Pretty much. The robot must discover its surroundings. It does not even know its absolute orientation.
Chili

Yuu
Posts: 1
Joined: December 7th, 2017, 12:55 am

Re: Coding Challenge 3 [RoboMaze]

Post by Yuu » December 7th, 2017, 12:56 am

I'm late for the party :c

User avatar
chili
Site Admin
Posts: 3948
Joined: December 31st, 2011, 4:53 pm
Location: Japan
Contact:

Re: Coding Challenge 3 [RoboMaze]

Post by chili » December 7th, 2017, 1:17 am

You can hack together a decent bot in less than an hour, so I'd say you're still good ;)
Chili

colencon
Posts: 35
Joined: February 13th, 2014, 2:24 pm

Re: Coding Challenge 3 [RoboMaze]

Post by colencon » December 28th, 2017, 3:10 pm

I download repo, but it doesn't wok
Attachments
1233.jpg
(280.17 KiB) Not downloaded yet

User avatar
chili
Site Admin
Posts: 3948
Joined: December 31st, 2011, 4:53 pm
Location: Japan
Contact:

Re: Coding Challenge 3 [RoboMaze]

Post by chili » December 29th, 2017, 12:59 pm

Yeah, there is a weird problem. It works with 2015 but not 2017 (even though it compiles fine on both). Might be an issue with 2017 (specifically with uniform_int_distribution, which I have also had trouble with in Twin under 2017). I'll have to take a look when I get the time.

In the meantime, either run in 2015, or run in 2017 and use loaded map mode instead of proc gen mode.
Chili

aslanbey0158
Posts: 52
Joined: April 15th, 2017, 10:48 am

Re: Coding Challenge 3 [RoboMaze]

Post by aslanbey0158 » July 27th, 2018, 8:22 pm

i have a problem with future=std::async() function
i use VS2015
error message: no instance of overloaeded....

albinopapa
Posts: 4373
Joined: February 28th, 2013, 3:23 am
Location: Oklahoma, United States

Re: Coding Challenge 3 [RoboMaze]

Post by albinopapa » July 27th, 2018, 9:35 pm

aslanbey0158 wrote:i have a problem with future=std::async() function
i use VS2015
error message: no instance of overloaeded....
Have you changed anything since downloading? If so, you'll need to upload a zipped project or share your github repo link to get help.

Just a heads up though, no instance of overloaded [function] means you are passing in parameters that don't match the types or an incorrect number of parameters.
If you think paging some data from disk into RAM is slow, try paging it into a simian cerebrum over a pair of optical nerves. - gameprogrammingpatterns.com

Post Reply