Additional Work 7/31/2017
Fixed up AI so that it separates out the speed component (terrain difficulty) and the building component. I no longer have to hard code the Source and Wall difficulties, instead I use a linear function a*D+b, where D is the difficulty. The factors a and b are different for each type of terrain for each type of unit. These are currently static, but will be evolved later -- once I know the target I want to optimize for.
This fixed the problem that had the units slow down too a standstill after destroying a wall.
I also fixed a problem where the vertical motion didn't work correctly -- there was no slowing vertically on the screen.