Feature Creep

Last week I worked on a lot of game balancing, fixes, interface changes, and trying to make my list of tasks required to finish the game a bit smaller. While I’ve been trying to keep feature creep to a minimum, it’s sometimes hard for me to ignore things that sound like a good idea even when I don’t really need to do them.

Here’s what it sounds like in my head as I work toward finishing the game.

– I could multithread the renderer to increase the overall performance.

– The wildlife simulation isn’t as great as I’d like, maybe I should rewrite it.

– Wouldn’t it be cool if the market vendors could carry more and transport goods in a cart?

– Maybe I should give crop rotation another try.

– I bet I could move pathfinding to another thread, and eliminate major framerate spikes.

– I should take a break and bike out into the woods and record better audio for the river.

While eating my lunch, instead of dwelling on these ideas, I decided I would hack up the game to follow a citizen around town. I’ve been told players like to do this, so I decided to try it – but hands free so I could continue eating. I added one line of code that caused any selected item to always be centered in the middle of the screen. The functionality was already in the code – I just needed to call the function from the right place.

I clicked on a person, and the camera started tracking them as they moved through town. I decided I liked watching the people move around town enough that I should add it as a feature. (Did I just add functionality while trying to avoiding doing just that?)

Thinking it was a small task and a worthy addition to the game, I got to banging away at the keyboard. After an hour or so, I could select any person, press a button, hide the main user interface, and then happily follow them around town with a description of what they were doing.

Then came some testing…

I selected a citizen. He turned out to be a fisherman, but he was a long way from any water. The camera tracked him as he filled his house with food and fuel, went to the market to acquire a new fishing pole, then he walked to the fishing dock where he worked and picked up a box of fish. He then took the box of fish to a storage barn.

Then the unexpected occurred. The fisherman walked all the way to the other side of town where some foresters had cut down trees, picked up a stack of logs, and then dropped it off at a storage area. He then headed to the mines to pick up some iron….

I continued to watch with horror as the fisherman only fished for about 2 months out of the the year. He’d go by the dock pretty often, so it looked like the dock was often full, but he’d never do much work.

I was able to fix this bug, along with several others I found – all because I can’t seem to quit adding features to the game. If I hadn’t added the ‘follow citizen’ feature I would have never seen this problem and just attributed the lower production to having to walk farther from his house to the workplace in a large town.

Yay for feature creep!

Also, boo for feature creep! I ended up adding the threaded pathfinding and market carts!

And without futher rambling here’s a video of follow mode….

