White Shining Rock Logo
White Shining Rock Logo

Feature Creep

September 16, 2013 | Dukus | 72 Comments

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....

Leave a Reply

Your email address will not be published.

72 comments on “Feature Creep”

  1. Is it much of a work to make the game suppoer hyper threading? Unless it kinda supports it already? πŸ™‚

    Follow the villager is a great feature.

  2. I love this!
    As I love everything I read here. Now I need to post too.
    Could you please make this Follow Mode zoomable too? When you just follow, you don't do anything but watching at this time. I need to be able to zoom in to watch closer.
    Really, I find Follow Mode amazing, even now when I can't do it yet myself, but I'm already missing the zoom!

  3. Follow mode is great! When I played Children of the Nile, I spent ages just following my Coznizens around and making screenshots of them as they went about their day. It makes a city feel so much more alive if you have real individuals instead of just houses that are assigned to a number of citizens.
    Can you give your people names? I would love to be able to name a family and follow their family tree through the years.

  4. Feature creep was definitely beneficial in this instance. One thing though, now that you mention it the sound of the river in this video makes me feel the urge to err.....relieve myself. It's not like I won't buy the game if you don't get new audio, but I definitely won't be as hydrated.

  5. Sounds like the follow function could be useful in the game to make characters more productive. And welcome to the dark side, you have now added stalking as a feature. Think of the possibilities of what the characters could do if they had the ability to follow each other and act on what other characters in the game are doing.

  6. Sounds great. Following individuals around is my favorite part in these kind of simulations. πŸ™‚

  7. I noticed a graveyard - I don't suppose it starts out empty and is filled slowly as your villagers grow old and are buried?

    I love small details like these (It doesn't even have to affect gameplay if the tombstones slowly decay like in real life)

  8. feature creep... now there is everything wrong with dwarf fortress in a single term.

    thanks for the update man! the game sounds like it's getting more and more fun πŸ˜€

  9. Great work. I'm stoked! Looking forward to this game. I noticed your release date on a gaming site showing 2014 and not late 2013. Is that a mistake?...are you still releasing this year?

  10. This game is starting to look more and more like something I want to play as soon as possible.

    However please don't rush the release or anything, a late game is only late once, but a bad game is bad forever.

  11. I think you should bike out into the woods and record more realistic water. That way you get out of the house, get some exercise, and do something for the game. Win, win, win.

  12. "I continued to watch with horror as the fisherman only fished for about 2 months out of the the year." What's wrong with that?

    In the (whatever) time period the game is set in, maybe people often did multiple things per year (i.e., seasonally) rather than Just One Thing. So, keeping something like that in the game would be a realistic feature rather than a "horror".

  13. Who ever says a game is done when its released? Look at minecraft. Feature creep isnt a problem, just think about where you want to release this game as. Then once you release it, take a week or two off and go back to adding more features.

  14. Zephoid, you hit the nail on the head! I totally respect the fact that Shining Rock wants to release a solid, polished game. But I also love getting exciting new features and updates over time, so I hope we can get our hands on Banished soon.

  15. I checked the site several times a day since the last post and it finally arrived πŸ™‚
    So, I think you should take a break and bike out into the woods and record better audio for the river, because it's a break from coding and being out in the nature is always great πŸ™‚
    Also I like the idea of crop rotation, maybe it would help the player to have an overview of the farms yield so you can have an idea of when/which plot needs refreshing(maybe after release think of a compost system from the pastures).
    And last the other features/optimizations could be put in after release by patching or releasing other builds, depending on how you decide to distribute the finished product.
    Well those were my two cents, hope it helps you in any way, can't wait for the game to come out !

  16. Really loving the look of this game. The only thing that bugged me was the water sound. It sounded really drippy, and not like a river is supposed to sound. A minor thing really, and the project looks amazing so far!

  17. Really looking forward to Banished, more so than a lot of games in the past.

    Any word on an alpha/beta any time soon, even if the actual release is delayed until 2014?

  18. Looks fantastic, glad you decided to add the carts too. Will they now creep into other jobs as well as the market vendors?
    Keep up the good work, this game is going to be fantastic.

  19. Is the video that's with this post supposed to feature follow mode? That's what the post says, and it looks like others who have replied here have seen that video, but the video that plays for me is the agriculture video (which is awesome, btw, but I don't see the follow mode feature in it). I also don't see such a video on the Videos & Screenshots page.

  20. Ah, I see the problem is that on the main page the Agriculture video is posted where the Follow Video should be. On this page everything looks right.

  21. Nice additions to the game i like to follow the peopel in the Game thats really fun!

    I think it is a good idea to add some of these thinks you have in mind especially the multithreading performance is really important i dont like to play with 18 FPS when i build a lot of houses.
    In Anno there are carts were the goods are transportet i think this is a good idea also you can build a manufactur for carts thats woulb be cool πŸ˜‰

    the other thinks can be made later with patches i think in our time with good internet everywhere thats not a problem so you can add important things who are difficult to change after realese and other things later with patch.

  22. It seems each person as their own unique stats. It would be great on the right of the screen after you select a person it shows you their inventory and basic needs such as their hunger gauge. This will help players understand the underline system of each job to help tailor the amount needed. Adding to longevity of the game.

  23. Your bike to the forest option made me realize that I want to know more about the game audio. You should discuss it in a future post.

  24. Seth Battin I totally agree. I'd love to read something about the game audio in a future post as well!

    Feature creep isn't really an issue as long as the complexity doesn't detract from the game. Follow mode is a perfect example of a small feature that was well worth it. I can't wait to play this.

  25. I love the music but it feels a bit too rushed. I'd like something a bit more laid back, or at least I hope its different between seasons because this might fit for summer or fall but winter seems like it would be slower and maybe with some chimes and this is too dreary for spring. Just my opinion but wanted to share

  26. Had to google search "Feature Creep", I honestly don't think nothing is wrong with that! I mean look at this new feature!

  27. Is there a way to turn the highlighting off in follow mode?

    KingKrak, you're right, but the problem isn't that he's doing other things, but rather that he's NOT WORKING. Sounded like he was just walking around, doing chores for himself.

  28. I'm in no hurry to see this game released, I could wait another year. I know for you that's not the case but I'd encourage you to keep flushing everything out, it looks incredible, when it is released I'll play the shit out of it, until then I'll wait patiently and hope to continue seeing more features added.

  29. I agree, would like to be able to turn off the highlighting of the person that is being followed. Thanks for sharing your thought process with us, very interesting! I can hardly wait for this game, or your next post!

  30. I lol'ed @ the fisherman mining.

    I can imagine the conversation already.

    "Jemen! What the blazes 're ya' doing lad?! Yer' s'posed to be fishin'! FISH DON' LIVE IN BLEEDIN' ROCKS! Get yer' sorry hide to the river 'fore I remove it from ya' wit' that pick yer' holdin'!"

  31. Hey there. My advice to you is to make the game you can within the schedule you have and the release date you want to keep. You can always release updates later and expansions. Expansions are also a good way to keep revenue coming in so you can eventually expand your studio and hire more coders and staff and WALA! You got yourself a game studio!

  32. I have to say I enjoy your regular updates and enthusiasm on the game. I get pretty excited about it too. Can't wait to play it.

    I also like the "creeper camera on poor town folk" though~ Sometimes it's fascinating to see what the virtual little people are up to.

    Keep up the awesome work!

  33. Again, can’t wait for this to come out. I noticed one thing in this latest video, not sure if it really matters, but I noticed cases were the workers working in a field would walk off to eat.

    In real life wouldn’t they either bring something to eat with them, or at least, someone else would bring all the workers some food?

    Just a thought. LOL. Don’t hate me. Although, it MAY make things easier for you, then again, maybe not.

  34. Awesome post
    Glad you found that bug

    I do agree that the water sounds more like a running tap or aquarium than a river though

    And the glow around the followee sound be a little less "thick"

  35. If it wouldn't be too much bother, you should add crop rotation. It's one of those realistic details that are never included and would also add to gameplay. ~looks hopeful~

  36. The problem with feature creep is that there's always going to be something. You could keep going on this game for another 5 years, easy... and the possibilities and technology will continue to improve. Thus so will the features you could add.

    While it's wonderful that you found the bug with your fishermen, it's a good reminder that you'll never be "done" with the game if you keep allowing ideas to make you stop and just "fix this real quick" or "add this real quick."

    Two hours here is of little import. Two hours a week for a month becomes 8 hours. Two hours twice a week becomes 16 hours. Now we're starting to see the possibilities of what can happen with feature creep.

    I know that you already know this, but I am pointing it out because there is potential in this game for big things. You don't want to start off your debut with a reputation for continually putting off releases. Of course, you haven't set a hard date, but you've set a bit of a date; and that will be held up as gospel by fans--and the more fans you get, the greater the likelihood of this.

    I really absolutely love each one of the ideas you presented. Crop rotation in particular was something that I was personally sitting there many times and thinking it would be SO sweet.

    That being said, I want you to remember your reputation as a game maker and to hold onto the knowledge that there will always be something else awesome, amazing, and cool that you could add.

    At some point, you need to say, "Alright. No more cool features. Enough is enough." Then you polish it up and let us get our over-eager mitts on it.

    Be careful of trying to satisfy everyone. Many current games are suffering from this phenomenon. You don't have any money-man breathing down your neck, so you're free to make a truly good game. That can be both good, and bad. Because the money man at least would remind you, "Deadlines, bud. Yeah, that sounds great, but you don't have time for it."

    Find the happy medium, friend. We are already all so in love with the game without even touching it, that we're on tenterhooks waiting. So allow feature creep only as they feel truly essential to the integrity of the game.

    My two tarnished coppers... take them for what they're worth. :p

  37. I will support what ever you do, whether it is super polished and released earlier or it comes out later with more features. One of the advantages of you setting your own schedule is that no one is telling you when you have to release. So release when you feel it is ready and don't feel rushed. This is your project so do what you feel is best.

    I will say to get outside and ride your bike. My best ideas come when I am riding.

  38. I like Ventry suggestion about being able to see personal stats when in folow mode. SO thumbs up for this.

    I also like Grinder suggestion that each person should be able to take some food with them to work as this would lover the off time. But such food should provide less nourishment.

    And as for "crop rotation" I understand why you are somewheat reluctant to include it.
    If you are afraid for it to force the player into to much micromanagment you can always automate it a litle.
    I know what you are thinking: "Automating crop rotation would kill its purpose." Well not if if you don't make it compleetly automated.
    What I have in mind is alowing player to chose the crop rotation order themselves (corn, wheat, vegetables, none for instance) and the game will use that for controling crop rotation.
    And you could easily simulate how each crop is using soil nutrients (Nitrate, Phosphor, Kalium).
    So the players would need to find prper crop rotation order to maximize the field yields.
    And if you do inclide such simulation you could even include different types of fertilizers which restore different amounts of NPK values.

  39. It's your game so by all means creep those features until you are satisfied and/or badly in need of some income if that's what you want to do. Alternatively, ship it out and patch it up afterwards. The game already looks far more stable than most mainstream published titles.

    On crop rotation, how about linking its effectiveness to the farmers skill/education level? Basic crop rotation has been understood for centuries so it shouldn't need to be unlocked or micromanaged by the player. All we've learned more recently is what best to grow in a 'fallow' year to boost recovery and limit soil erosion and how to maximise the effect of natural and artificial fertilisers.

    If you want a player-managed aspect I would stick to the collection and application of manure - players could then choose to apply evenly or which crops to focus on if there wasn't enough to supply everything adequately.

  40. The new features you mentioned sound awesome, one thing I would love to see though is that new complex mechanics (like crop rotation or even carts) enter relatively late in the town development, so that a single game can take very long and there would be constantly something in town to tinker with.

    It could even be "gated" somewhat, that you couldn't start things like crop rotation until certain average education level etc. And with such gating in mind new features could be moved to after the release and slowly added over time without impacting early gameplay and still adding complexity later on. Then even a map left "maxed out" after a patch could be played again with new content.

    And on crop rotation itself: if it simply relies on fixed modifiers for various crops, then there always would be an optimal pattern to use, and the playerbase will always find it, share it and then it turns from a choice to a tedious repetition. Same actually goes for stuff like designing town layout, games like anno series and impressions games' games (caesars, pharaoh etc.) have plenty of forums with detailed "best of the best" layouts for full cities.

    Now Banished with its setup in mind could use some random variables in "strategic" places to allow advanced features like crop rotation to force players to adapt to changing environment and make the whole thing worth the effort, else it's just pointless micromanaging instead of new features.

  41. Really nice add-on, the game is really coming together to be really awesome. There are a couple things I would like to see added. Can't wait to play it!

  42. Great reading! You should call it "Just one day in the life of a developer", good to hear it ended up in a success though! One thing that bugs me though, it is just a visual but it raises me from the chair every time. DESYNC that smoke coming out of chimneys. πŸ˜€

  43. It is so pretty, and everything looks authentic. Keep up the good work!

    Also...horses and bandits for post release DLC, maybe.?., pretty please. πŸ™‚

  44. Great video preview again. I saw something ahile back and again today that wasn't to my personal liking, nothing really importantr generally speaking, but somehow a little sore (the only one so far) to my eyes. It is the wildlife reaction to the people. As a Hunter irl, I don't see this often that wildlife just stands there while we pass on its side, pick up rocks or even cut trees, they usually start instantly running away for a short distance only to stop and watch us from the new further location.
    I don't know if that would be possible to do, it would actually be much more realistic.
    mrb

  45. OMG, like a boss, get those guys back to work even in games people try and skip work !

    Maybe the fisherman was viewing other roles in life, maybe he didn't want to be a fisherman anymore but tried to trick you.

  46. Seriously, I've been following the progress of Banished for some time now and every friggin time my mind is blown when I see videos of what you have done πŸ˜› I even have been thinking going to school again to learn computer programming cause I would love to participate in making a game some day, because of what I have seen here πŸ˜€ Anyways, keep up the great work! Thou has me money when Banished comes out πŸ™‚

  47. Hi there, Still very excited to get a chance to play this, and here it is nearly October so 'Late 2013' is practically already here, I hope the game doesn't get pushed forward ; Having said that, I (grudgingly) agree with those who say 'don't rush, release when ready even if it means late' I wish there was some way to sample the game in it's early stages, like a few people have mentioned, "Beta testing" and someone said "Like Minecraft" you release it and then add things as you go along. Of course I understand the desire to wait and release the Game of most Epicness for sure, but I still would enjoy playing this, I'm sooo sick of so many other games, need something new and refreshing.

    Anyways, you are clearly making a super quality game, really good stuff, this is why everyone is so eager fo rrelease, because it already is amazing. Looking forward to when it becomes available, I am eager to play this game. πŸ™‚

  48. I have hesitated to say anything, but per your updates as late as September 16, you appeared to still be considering crop rotation as a feature. Many people have given good ideas, and I would like to offer some perspective.

    I was initially attracted to this game based upon that one feature.

    Many city building games seem to make acquiring food one of the easiest parts of the game. However, nothing is as important as food, water and shelter to survival. In terms of its importance to a sustainable colony, agricultural aspects are paramount. Slash-and-burn practices threaten the Amazon Rainforest - with itinerant farmers burning vegetation over a cleared area, getting a good harvest for a few years, than moving on. On a personal note, I grew up on a homestead where we failed to practice sustainable farming methods, and just before we sold the property, we couldn't even grow weeds on our land. Colonies such as the Greenland colony and Roanoke, failed in a large part to food failure. Medieval Farming practices in general were poor, and led to widespread famine.

    I see food acquisition as a major part of the early parts of the game.

    All that said, crop rotation need not be an either/or, black or white, feast or famine proposition. Any farmer worth his salt knows that the darker the soil, the better for growing, and food production tapers off over time. You may be able to farm the same plot for three or four years before you really need let it go fallow. The dirt gets lighter, and it shows when you plow it up. The plants are less resistant to disease at first, then later just fail to thrive.

    While you could give soil quality as a percentage in a dialogue box, simple graphical clues you could use to highlight crop issues would be soil color after plowing, and a higher percentage of "browned" foliage in a field ready for harvest. You could look at a field and get a general idea of the soil quality, and if nothing was done, another year would go by and the yield would be just a little less.

    There really should be a consequence for going 10 years without changing crops - just like on my family homestead. But 10 years is a long time to go, and there were a lot of warnings before 0 productivity. Someone suggested queuing crops on a list. Great idea. Someone else suggested training an expert, also a good idea.

    While this game is your game, and like everyone else watching your blog, I want you to release it sooner rather than later, I also want the game I thought I would be getting when I read your initial objectives.

  49. I think Shrouded Recluse has made some good points. If I recall correctly, the main reason why you dropped the idea was that people would work out the "optimal" rotation and it would become uninteresting. But there is more reason to selecting crops than an optimal rotation, since food is primarily grown to feed people, not the soil. I think the crops would still be mainly chosen for their nutritional value and the demand of the people, but now and then you would let one fallow. You would choose the crops on the other fields to make up for the loss. I really think you could make this into a game of careful balancing of soil quality, harvest yield and people's favourite food. You seem to have so much different crops to choose from, why not give an incentive to vary?

  50. I might add, various plants affect soils differently too. There are nitrogen fixers that people do eat - peas and beans. While corn is very hard on the soil. Alternating between the two a field may be able to produce food for quite awhile before needing to go fallow for a year or two. There are also feed grains that fix nitrogen in the soil too. Grow those, then let the cows loose in the field the following year.

    There might still be a need for the field to go fallow occasionally, but it need not be a mechanical once every other year type proposition.

  51. In poking around on the internet, pounds per square acre seem to be pretty much halved for legumes relative to wheat. So, in addition to, or in place of food preferences, yields could be a factor. (For instance, store up extra grain to compensate for the lower yields of alternative crops in following years)

    I guess my point with all this, is that food failure should be possible if not probable, it shouldn't be taken for granted, and the player should be able to control a large part of it, and not left at the mercy of some capricious randomizer somewhere. On the other hand, automation is also a good thing too. So once a plan is decided upon, it can be worked with minimal intrusion into other aspects of gameplay.

  52. I'm sorry to still be thinking about this, but I have some thoughts explaining my concerns more deeply, and perhaps more clearly.

    There are various forms of crop rotation that different cultures have used throughout history. I have a layman's interest in the subject, so I'm no expert. But it appears as though the different types have returned different results.

    The most basic is the two year form of crop rotation. One is planted usually with a culturally dominant cereal grain. Every culture has a grain that forms the base of their diet. The other is left fallow at the most basic. If you are looking at a sine curve, you would find that this form of crop rotation has ever decreasing maximum production. If you start with only one field, you will need to plant a second one the second year, or you will have to rely upon the first year's surplus through the second year. American agriculture right now is practicing a modified version of this with corn and soybeans. While this works a little better, providing food throughout the two year cycle, maximum food production drops a little more every year, and while the minimum periods of food production are not zero, they too are dropping. These effects are countered somewhat by the introduction of pesticides and fertilizer, but there is coming a day when the house of cards will come tumbling down. At some point the current fields will need to be abandoned.

    The most commonly advocated crop rotation among those who study such things is a 4 or 5 year crop rotation. You still have a sine wave - periods in each field produces a lot of food, and a period where no food is produced. But rather than having a sine wave with ever decreasing maximum and minimum production levels, you will have one that demonstrates greater and greater extremes. However, this one has been demonstrated through several studies to actually increase production over the long term. There are various methods. This is one. The cycle involves starting with the cereal grain, it is followed by a legume of some sort, after that comes some sort of silage, after that, the field is used for pasturing livestock, followed again by the growing of grains. You start with a high yield of food that will hopefully last for awhile, that is followed by a much lower yielding food source, followed by effectively nothing, followed by medium quantity of high protein dairy and meat products (cows dairy, bulls meat), to be followed once again by the grain. In a 5 year rotation, vegetables could be inserted somewhere.

    A player, I would think, would have to use trial and error (or Wikipedia) to find this optimum. At any rate, even if the player knows about crop rotation, there are going to be a few years where food might be scarce. Say the player begins in an area of poor soil quality - he might have to start with something other than grain. What if he can't start with four or five fields, or can't create a new wheat field every year for the first four years - if the sine waves don't line up, or if one is missing, there will be a period when food production of the previous year will need to fill in for this year's deficit. What if the player decides on a three year crop rotation? What would be left out, and what would be the results? Is it possible to transition from a two year to a four year crop rotation without experiencing some sort of food shortage? Once four year crop rotations start returning serious surpluses, can the player reduce the number of fields producing grain to two, with production taking place every other year?

    Following up on food preferences...

    It has been widely established that, with the exception of some Indians that live exclusively on seal blubber, a human needs variety in the diet for good health. Boiled barley may get you through the winter, but you won't be very healthy (or happy) about it. A little butter, a little smoked meat, perhaps a slice of apple (though in the first year apples have probably not set on) can go a long way towards improving health and happiness. I would argue that for game purposes, good health would require at least six misc foods, maybe more. If you wanted to make the game more difficult, make sure that at least one of them is a grain, one a protein, and the other four are fruits and vegetables. Demands on starches should always be high - they are filling, provide energy, have tremendous yields on good soil, and are the most easily stored of all foods. Meat, fruits and vegetables are where the nutrients come from, but are more perishable. Root vegetables store better than others though. An interesting challenge might be to create a sustainable colony on something other than grain - potatoes would be an obvious substitution, but beans, carrots, beets, and possibly apples could add to the potatoes to form the sustainable basis of a colony.

  53. A threaded renderer with deffered threads for draw calls is deffinetly worth adding in future, especially when you decide to add more dynamic objects to the game or expand the map to allow cities. A supreme commander style tactical zoom to move over large distances quickly on the map would suit larger maps nicely when the time comes.

    Nice work on the game so far, I am a big fan of city building and economic games, anno and sim city 2000 + 4 being favourites, can easily waste days on them ha.

    Multiplayer modes would be cool.

More Posts

Code Rot

April 17, 2022
1 2 3 47
Back to devlog
Back to devlog
Β© Copyright 2021 Shining Rock Software
Website Design & Branding by Carrboro Creative
menu-circlecross-circle linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram