last day (24 days later) » 

5:40 PM
0
A: Sandbox for Proposed Challenges

Redwolf ProgramsArmored war bots king-of-the-hilljavascript I have seen KOTH challenges where the bots fight each other, and I have seen KOTH challenges where the bots are in an auction. So I came up with this: The challenge: You will create a function using Javascript. You can name the function what you lik...

 
Welcome to the world of KotHs! I really like this idea: Having an auction tied to a battlefield is a great concept. However, this KotH is too complicated. You don't need multiple types of weapons, multiple types of weapon improvement, and various other things. As far as I can tell, the core of this challenge is the auction. Having ranged weapons, different mechanisms for weapons doesn't progress that goal.
 
@NathanMerrill I like the idea of a complicated challenge. Do you think it would be too much of a problem for it to be complicated? Or should I remove some stuff?
 
There are two primary problems with a complicated challenge: 1. Competitive bots need to be able to at least understand and interpret all of the complexity. 2. The bots that win will be the ones that understand the complexity the best, as opposed to the ones that compete in the core challenge the best.
 
@NathanMerrill Maybe if I worded it differently, or created a summary, or removed technical info?
 
No. The challenge is surprisingly readable for the complexity (it does need some improvement, but that's for later). Fundamentally, my JS bot has to understand the difference between bows, spears, swords, rockets. That's a lot of code for people to write. It's already hard to get people to submit KotH entries. The easier you make it, the better.
I'm not saying complex challenges can't work. My most recent one had a lot of complexity. But one of the key parts was that bots didn't have to understand all of the abilities and such. They only needed to pick 4 and understand those 4. Humans are great at processing complex things: getting bots to is really hard. If that's what you want, then you will need to accept that you aren't going to get many (if any) submissions.
 
5:40 PM
@NathanMerrill True, but the bot doesn't necessarily have to know how to use all of the weapons. A simple bot could be designed that focuses its efforts on archery, and ignores everything else. Maybe I could put a note saying that the bots don't need to have every feature?
 
In this challenge, they do, because of the auction. If bows are overpriced, then they need to be able to purchase other weapons. Sure, I can write a dumb bot that only buys and uses swords, but it's not competitive. Competitive bots have to understand all of the weapon types.
 
@NathanMerrill Okay, you beat me. What to remove?
 
I'm not trying to beat you down :)
 
yeah, but I get your point.
Perhaps remove the spear?
 
as to what you remove, it's largely up to you. There do need to be different "things" in the auction, but how they are different is your decision
so, for example, you could make it so items simply have different stats that are randomly generated, and that is what they bid on
another option is that you keep the different weapon types, but they all have the same stats, and you remove weapon repair, etc
another option is you just have 3/4 items: weapon, armor, shield, healing. They all have the same stats
 
5:44 PM
Maybe I'll just have sword and bow, and no sharpeners/restringers/repairers
 
what about shields/healing? Are multiple bows different?
I definitely think that healing is interesting in this game
because fighting a player costs health
which means it costs money
it also costs "weapon"
In my mind, this is the core of the challenge
fighting costs money, and so bots need to be good at estimating how much they will earn from a particular item so that they know how much they can bid on a particular item
ooh, so you have two choices with Healing: Either:
1. Keep the healing duration, but get rid of the "Rest" period. If a player gets hit while healing, the duration stops.
2. Remove the healing duration, but only allow healing during "Rest".
both of them are interesting
Option 1 is about players trying to maximize their time on the battle field
Option 2 is about predicting how much healing you need (because it happens right before the auction)
I think that #2 fits better, but I think they both work
@RedwolfPrograms next piece of advice: Remove as much randomness as possible. This is most obvious with the weapon attack amounts. Randomness is the bane of KotHs: It's important because it prevents "solving" a KotH, but every element of randomness means that it is harder to determine the winner
Fundamentally, we deal with this in the real world: Chess competitions are really popular, but when was the last time you heard of a Monopoly competition? There's too much randomness in Monopoly: Even a "grandmaster" will lose frequently to inferior players.
 
 
3 hours later…
8:39 PM
For the healing, the duration is there to make it so that bots during the rest time have to choose a priority: heal, or work on weapons.
Also, by "30 to 50" or "2 to 7", it does not randomly decide per arrow/sword, but instead at the auction each item has a different amount of power It would be boring if a sword was 4 damage, an arrow was 1, etc. The randomness is to make auction prices vary.
Also, in this challenge, the superior programmer will win, since the bot has to be able to know how to fight. A bot that randomly buys weapons and never uses them will definitely not win, but a robot that carefully analyzes and destroys select bots with specific weapons will win.
 

  last day (24 days later) »