Coding Challenge 3 [RoboMaze]
Posted: 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:
See the announcement video for details on using the simulator and implementing your bot.
Announcement video: https://youtu.be/oOkOHazuqeQ
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
- 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 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.
- 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
- 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
- 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.
- 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
See the announcement video for details on using the simulator and implementing your bot.
Announcement video: https://youtu.be/oOkOHazuqeQ