New Level: Advanced Fighting Techniques

Here is the second stage of my levels. It is still rough, and possibly not winnable… But please prove me wrong, or give me pointers on balancing it to work!

1 Like

I won! Without changing anything :smiley:

Because of the randomization every time I change the code, some scenarios are much easier than others–with the default Python code, for example, it’s a win.

Probably there should be multiple waves of enemies (probably produced using an ogre barracks to build them rather than initializing all of them in the beginning), so that I can kill a lot more guys, but still have to implement good combat tactics besides kiting. Also, how do you intend the cleave to be used? Currently I can be pretty silly about it and just cleave whenever I’m hurt or there’s a guy next to me; I don’t have to line guys up into a cleave angle or check whether there’s more than one guy next to me yet.

I forgot that I removed a bunch of the brawlers… Back to 10 of them now.

OK, well, I changed the randomseed so it shouldn’t change with your code anymore. I liked the idea of your code needing to be able to handle a variety of starting positions, but the randomseed resetting every time you change code makes debugging difficult.

I like the idea of multiple waves, I was thinking of making multiple levels that acted as waves. Each level a bit more difficult and requiring different tactics.

Cleave is supposed to be something that can only be used once every 30 seconds, and yes, right now it hits a full 360 degrees. The idea for the level is that you have to get all the munchkins with it.

On that note, would it be possible to change the attackDamage of the munchkins partway through the level? Like if a munchkin is the only remaining munchkin he starts hitting harder?

Sure. Probably the best thing to do would be to write a custom referee Thang that, in the chooseAction method, just iterates through all the munchkins and increases their attackDamage as they start to die. You can make a custom method like this with programming.Programmable and set it to non-writable and non-readable for it to be invisible. (We do this with the invisible well in Greed, for a good example.)

I support the idea of having multiple levels. By the way, would it be difficult to make a level like lets-go-fly-a-kyte into a multiplayer arena? Catching a kyting unit by moving your units in a “net” formation is also a nice challenge. And this automatically leads to new nice challenges for the archer/kyting party.

hmmm, interesting thought. I’m not sure how to do a multiplayer level, though I’m not sure it would be a very good level as the ogres would be able to take out the kiter pretty simply. But, if it was possible to rank the code based on how long the archer is able to survive, then that might be interesting.

Well, of course it all depends on how many brawlers are on the field, and where they start.

I’d say that if anywhere between 6 to 11 brawlers start in the far right and the archer starts in the far left as usual, the situation is far from trivial. For good parameters, a good strategy for the archer will have to include things like poking a hole in a net and moving through it. The brawlers will have to close such gaps, and making any kind of net may already be a challenge.

Probably you can let the level end when 50% of the brawlers are dead to avoid a long cleanup phase.

And there is endless potential to add stuff, like ranged orc units whose missiles that have to be dodged, or faster munchkins like in your new game (advanced fighting techniques). It’s just a matter of balancing.

OK, so the level is mostly ready:

Tell me what you think.

edit: Ok, so Nick just played it and won without having to use cleave, I guess I need to rebalance still. Must remember to check basic strategy to see that it will fail, then check to make sure advanced strategy will win!

same for me, just tweak a little bit my old code to make it without the use of cleave.

Yeah, so, still trying to think of how to balance properly so you can only win with cleave.