City: Tower Life
Written: 2015-12-17 The goal of the last sprint was to work on towers to improve both the depth of the gameplay and the fidelity of the simulation (more detail [here](/blog/city/firstPlayable)). This was a major success. Of the four features that I've added, two of them have made immediate and clearly visible improvements to both of these problems. Importantly, these features have moved the game forward on both axes, gameplay and simulation. This is integral to having the game communicate through its systems. ## Event Generation and Effects of Mood The two clear successes are having towers generate events and having towers change according to the current mood. The first one has towers randomly generate events. This does a lot to make the game less predictable and so it solves the earlier problem of the game reducing trivially to a spreadsheet. Additionally, the story of each session is improved vastly by this feature. The second feature has the towers change according to the dominant mood. This doesn't actually change the game from being a spreadsheet, it merely wrinkles it in a very discrete manner. In the test scenario that I've built, one of the activities represented by towers is doing design work. These towers become non-functional when the mood becomes very angry and these towers generate anger by default. Other towers, like those representing taking a walk, can reduce anger. Implementing these pieces resulted in situations where the design towers cause the person to get too angry to do any work, at which point the walk towers calm him down for a while getting him to try designing again, at which point he becomes too angry to work and so the person oscillates between these states. I didn't intend for this to happen, but I'm really happy with this kind of dynamic and I'm going to try mining more things like this from the game. Additionally, I have the design towers randomly generate events that cause anger, which in turn can cause the design towers to stop functioning. The story thus generated, where random work-related events can make the character too angry to work, is very promising. ## Tower Output and Tower Controls These two features on the other hand have had very little impact on the game experience. Tower output makes the emotions generated by towers come out at the associated source entities. This honestly does not feel meaningfully different enough when compared to just having the emotions come out at the first source. I expect that this is going to be necessary to supporting maps and scenarios larger than the test ones that I've built so far, but I'm going to keep my eye on this and cut it if it continues to not do enough. The second feature is adding user controls to the towers. Right now, this is very rudimentary and all you can do is turn a group of towers on or off. Again, I think that this is a feature that will prove more valuable in the more complex scenarios that I envision but fails to carry its weight right now. The next sprint deals more with the person this game represents and that should strengthen this feature substantially, but we will have to wait and see. ## Next Steps The next sprint is going to be about the character represented by the game. Doing this should also help with the cadence issues of the game. Right now, the game incentivizes you to lay out all of your towers in the first second and then watch the game simulate the result. This flow has too much dead time for my liking and this set of features should help fix that.