This week I’ve mostly worked on little bug fixes. For example, to calculate the difference between the current and previous shape’s locations, I was using the coordinates that were rotated to be from the builder’s perspective, meaning sometimes the result was a bit off. Now I only use the perspective coordinates to determine if the new shape is left/right, up/down, and in front/behind the last shape, but I use the actual world coordinates to determine the distances between the two shapes.
I’ve also added some more parameters to the program. Whether the builder should ask questions, the chance the builder will speak, and the chance that information will be missing from the architect’s instruction are all customizable.
One final feature I want to add is changing the build order of the shapes. Right now, blocks are placed in the order they appear in the output file that I read the shapes from. This order is valid, but it would be more natural to have more variation in the build orders. Sometimes, it would also be more optimal to start from a block that is closer to the last block that was placed.