Looking for a Task

doktorstick

Warlord
Joined
Aug 20, 2008
Messages
142
Howdy.

Since I'm new to the codebase, I'm looking for a small task that needs to be done. Nothing urgent since it will take some time familiarizing myself with the code. Anything fit this?

Thanks.
 
How experienced are you? :)

Hard: Write a bounded-A* pathing engine. (Currently BTS uses an unbounded A* pather, which ... sucks in a number of cases)

Medium: Write a stack-on-stack combat simulator that returns a description of what is left after the fight, and can be called repeatedly with new stacks thrown in, that doesn't change the actual game state.

Easy: Write a single-unit vs single-unit combat simulator that returns that status of each unit in such a way that it can be called again on one of the units.

Ideally do the above with minimal changes to the existing code base, as little copy/paste as possible, etc etc.

Having the above gives us the ability to run an assault simulation so the AI doesn't fruitlessly attack a heavily fortified enemy city, and instead might wait a turn for the catapults to come online to soften it up. In other cases, the AI might blitz because it is likely to win under the blitz.

And they are quite isolated.

If you want to look into a less code/algorithm heavy problem, the issue of "catapults not attacking invading stacks" might be interesting. I think that is still an outstanding problem with the AI.
 
Perfect. I'm a skilled programmer (career), but a hobbyist AI programmer.

One side task I'm working on is improving the exploration code since it familiarizes myself with the CvPlot's, which will be useful for pathing. Apropos to that task is my goal of creating a pathing "heat map" that will help identify choke points and defensible positions outside of cities. The latter is a ways off, though.

I'll start with the simulation bit. Do you know where the code is that determines which unit in a stack will defend?

Thanks.
 
Top Bottom