In Robocode, you deplete your opponent's energy and increase your own energy by hitting other bots with bullets. Thus, coming up with targeting algorithms to hit your opponents accurately is a cornerstone of a successful Robocode bot. Different algorithms are more appropriate for different Code Size divisions and styles of play.
The main components of a targeting system are:
Some aspects that make Robocode targeting an interesting classification problem are:
The main components of a targeting system are:
- Choosing a target (Melee only)
- Energy Management - Whether or not to fire, what bullet power to use
- Choosing a firing angle
Some aspects that make Robocode targeting an interesting classification problem are:
- You have a very small amount of time per tick to make a decision. Dropping in the most sophisticated classification algorithm you can find in a textbook won't work. This time needs to be split between inputting data and generating output values.
- You have to continually make decisions - when you have no data, when you have 50 ticks, 500 ticks, or 20,000 ticks of data. Your algorithm has to perform well and remain fast enough throughout the entire battle.