Why am I doing more than just fixing bugs?

I’ve found that testing a game and getting it bug free for release is harder than I thought it would be. These last few weeks have seen some hard to find bugs and grueling debugging sessions. There’s reports of hardware configurations where the game won’t start, problems restoring from the computer being in a locked state, various crashes, asserts, and a myriad of unexpected behaviors. So far fixing these has been going pretty well. It just takes time.

Beyond the bugs, I’ve been taking suggestions from some of my newer testers – and implementing some of them. While I’m excited to get this game released, I want to have a good user experience beyond just a game that doesn’t crash.

At first I was worried that the suggestions and requests were going to consist of major changes to the game, but in fact most of them are reasonable and good ideas that are mostly about the user interface and interacting with the game. I’ve been working on Banished long enough that I don’t notice the short falls in user experience – I’m just used to them. So getting suggestions like these are great and really help polish up the game.

They tend to be questions like:

  • – Can the inventory lists be sorted either by name or quantity?
  • – I pause and unpause time passage quite a bit, can a button be bound to toggle this?
  • – Can the placement tool remember the previous buildings rotation?
  • – Can there be an option to lock the mouse to the game window? Edge scrolling doesn’t work with multiple monitors or windowed mode.
  • – ESC doesn’t back out of certain menus, can you add it to all of them?

Those things are all easy to implement, and I agree they are needed.

Then there are suggestions that are harder to implement like:

  • – After I have a large population, and at some point there is a food shortage, everyone dies. Is this expected? Shouldn’t some percentage of the population survive?
  • – In a large city, the citizens sometimes live very far from their workplace and spend more time walking than working. Can this be fixed?

I’ve been working on fixing these types of issues as well, but they are a bit harder to deal with since they involve changing the way the simulation works – this can break balancing and introduce new bugs. But again, I feel the game is better with these types of issues fixed, so I’m fixing them.

That last suggestion about citizens not being productive led me to optimize who is assigned to what job relative to where they live.

When I first started writing Banished I envisioned a simulation where everyone was unique and had a fixed job for their lives. This led to people trying to live near their workplaces, but in the situation where a married couple had two jobs at opposite ends of the map, they’d live somewhere in-between and hardly get any work done since they were always walking back and forth.

As a town gets bigger and bigger, resource production really slows down because of this. But being busy with other things, I never really revisited the way job/house placement worked.

After some suggestions from testers, and realizing that the townsfolk weren’t really tied to any one job, I decided that this sticking to a job once it was assigned wasn’t really needed. In fact, the player can reassign a worker to a different profession any time. Furthermore, testers found if they unassigned everyone’s jobs, then reassigned them, the placement of people relative to their workplaces was much better.

So I wrote some code that tries to optimize the jobs assigned relative to the work places and homes automatically. This increased resource production significantly in most of my test maps. Of course it was hard to know that the code I wrote was actually working properly in a town of 700 people and 200 work sites. So I wrote a quick tool to visually check citizens home locations relative to their workplaces and the paths in-between.

Pathing Tool

The tool worked really well and gave me a lot of information about areas in the town that could have better layout. This in turn helped me increase resource production even further in my test maps by placing more homes in areas where workers were traveling long distances. This of course turned out much like the Follow Mode addition to the game.

It was so useful that I decided to keep it. It’s a little feature creepy, but I needed it to verify things were working correctly anyway. After an hour more of prettying up the graphics and making the code nice, I had added the Pathing Tool to the game. It will show where all the workers at a work site live, or where all the people in a house go to work, as well as the paths they take when traveling in-between.

Now back to debugging some of those hard to reproduce crashes….

75 Comments

    ryan
    November 7, 2013 8:06 pm

    I am sooooo excited for this game. And with each fix and feature, it sounds better and better. Thank you for taking the time to make it great!

    Fr8monkey
    November 7, 2013 8:07 pm

    This game is getting better and better each time I see it. Cant wait for the release!!!

    Mike
    November 7, 2013 8:08 pm

    I can’t wait for this! I love your philosiphy that it’s better to hold off and fix bugs etc than to release early for the sake of it.
    Keep on debugging brother.

    Yin
    November 7, 2013 8:10 pm

    maybe you should hire another helping hand just to sort out the debugging… it seems to me that the core of the game is already done

    if only the big “professional” games companies cared so much for the end user?!!

    Andrakis
    November 7, 2013 8:11 pm

    Fascinating read, i really love the pathing tool addition, having not known it wasn’t implemented, i’d have bought the game on release and been very disappointed without it. Also loving the part about debugging before release, never a good thing to release a very buggy game, some bugs are always expected but it’s best to get rid of as many as you can.

    Sarah
    November 7, 2013 8:12 pm

    As jealous as I am of these alpha testers, I’m very happy that you’ve found people who have been so helpful. I’ve been massively talking up this game, so I now have 1/100 of that pressure you’ve been talking about to make sure that the release goes smoothly. I hope you have a few bottle of champagne waiting in the fridge for the official release date!

    Fr8monkey
    November 7, 2013 8:13 pm

    @yin: Problem is the only care for the big bucks not game play. That is why there are so many buggy games out that are unplayable.

    Anth
    November 7, 2013 8:13 pm

    Awesome update, I love the new pathing tool. Great idea to keep it, it’ll be useful in town planing/management.

    Looking forward to the release, keep up the good work!

    Thad
    November 7, 2013 8:18 pm

    For those major issues, I would recommend you list them for an update patch instead, because you will never allow yourself to get done if you try to implement all this for your release, there will ALWAYS be something more to add.

    If you let people know right off the bat what you are working on for the first update patch, the transparency is there and they know what to expect.

    You have an awesome piece of work here. Thank you for it.

    Zet
    November 7, 2013 8:20 pm

    I keep following the progress and this can be interesting.

    “In a large city, the citizens sometimes live very far from their workplace and spend more time walking than working”
    >It will be awesome if they can ride something like Wagon, carriage, or horseriding… – but I think this will change your simulation a lot?

    Fr8monkey
    November 7, 2013 8:21 pm

    I don’t mind some odd bugs that need fixed. As Thad said, Fixing ALL of them… you will never be done. (Plus I want to play now)

    Alicia
    November 7, 2013 8:22 pm

    Sigh…waiting, waiting…patiently though. This is going to be THE game of 2013. I, for one, can hardly wait to see what you come up with next, even though Banished isn’t even released yet. Thanks for all the work you put into this game, and for all the great updates.

    Eric
    November 7, 2013 8:22 pm

    I love that you care more about getting it right than getting it released! I will be buying 2 copies immediately upon release, and I plan to support your future projects as well.

    sasukeskapa
    November 7, 2013 8:26 pm

    Another nice post and it’s good to hear that your game is becoming better and better :)
    I can hardly wait though :D

    Dennis
    November 7, 2013 8:33 pm

    Great work, Luke! Glad to see you’re taking your time trying to fix as many bugs as possible.

    While I agree with some of the commenters that it’s possible you may never be “done”, I also appreciate the fact that you’d rather launch a finished game than the alpha/beta-versions that the big AAA-companies so often seem to release.

    Therefore, I’m all for you ironing out the major bugs before launching. As you can see, you pretty much have a guarantee of getting our money even if it takes a bit longer. :-)

    Darren
    November 7, 2013 8:40 pm

    Amazing update, that pathing tool is ingenious. I wish more city builders had something like that.

    Yin
    November 7, 2013 9:21 pm

    @Fr8monkey: I know what you mean. The way Creative Assembly treated its customers (me) was disgusting. I gave up on Creative Assembly and Total War… unforgiveable!

    Jon
    November 7, 2013 9:24 pm

    Love the pathing tool, and I hate to point it out, but according to the path the guy swims under the bridge rather than walking across it…

    Overand
    November 7, 2013 9:27 pm

    Any interest in a saavy tester who can run on a modern Linux system in Wine, as well as Windows? (;

    Sam
    November 7, 2013 9:29 pm

    I’m really happy that you’re being so meticulous with this process. I hope you’re able to release a product you’re happy with soon!

    JP
    November 7, 2013 9:32 pm

    So excited! How do you become a tester for this game? I have a powerful (and not powerful) computer and I would run it to its very max.

    Nick
    November 7, 2013 9:45 pm

    I quite am loving these updates. I wish I was talented as you are and am interesting in eta testing if you need any more testers.

    I use a Windows 8.1 i7 2600k GTX 560.

    Fr8monkey
    November 7, 2013 9:47 pm

    Why is it in path mode, the person goes UNDER the bridge? Does he have Gephyrophobia; and swims across?

    mrbisonm
    November 7, 2013 10:02 pm

    I guess, once we think that a game is almost finished, then we start realizing that this and that don’t work properly, is missing, is too much, could be better, could be different etc etc…..I can just imagine the details coming in by mass. Good luck with the debugging, I’m sure it will end up great. ;)

    mrbisonm

    Unknown
    November 7, 2013 10:06 pm

    I hope it doesn’t Disappoint can’t wAit !!!!!!!!!!!!!!!! :)

    icypanda44
    November 7, 2013 10:23 pm

    Awesome update. Comment on the “walking” ting – isn’t part of this about layout and locating your homes close tot he fields and other areas where people work? Same as real life really. Intersperse your homes and your work locations (fields, orchards, fishing piers, gatherers huts etc) and nobody has to walk very far. If you build a metropolis and all the work locations are on the outskirts then yes – people spend a lot of time walking…

    (Offer still stands to test / document etc as you need (will even pay for game license ! ) )

    Altaren
    November 7, 2013 10:31 pm

    Even tho its a pain to wait im glad to know you re making things rigt. Makes me even more excited about the game :) keep it up!

    Satsuki Shizuka
    November 7, 2013 10:45 pm

    >>Zet, “Wagon/horses”
    There’s a goods wagon involved in transporting goods…but if you’re talking about carts…now we’re talking about recreating Tropico.

    But staying true that this is first and foremost a city-building resource game…planning tools such as this pathing investigation is great. Not only displaying them by households one by one, will there be SimCity like features where the entire settlement’s traffic/productivity patterns can be visualized in one single tool function?

    Daxamr
    November 7, 2013 11:37 pm

    I love the way the game is shaping up! More stuff to play with soon enough. Keep up the GREAT work.

    Cant wait to play the game, but I’ll wait if it means a better game in the end.

    David
    November 8, 2013 1:49 am

    Awesome im quite impressed not just with the game but your attitude to testing ! Im looking forward to this game even more!

    Mathew
    November 8, 2013 2:41 am

    A great blog
    I am glad you are taking the “polished game” approach,rather than rushing to get it out.

    I just wish that more companies were dedicated like you!

    woopwoop
    November 8, 2013 3:21 am

    Game looks good to me, I will buy it when it comes out, i’m also a 3D “low poly” artist, if i can help make props for you for a patch(like cemetery which make people happy),(for free) email me.

    sakasiru
    November 8, 2013 3:39 am

    So, people now switch houses to live nearer to their workplace? But this does not solve the problem of the married couple, or do they live in different houses then? Or did you drop the individual job assignment and skill system altogether and everyone just does what’s near to them?

    Kevin
    November 8, 2013 4:45 am

    I think workers who have spent a longer time at a single profession should be extra productive in that field, also if someone just starts a job it should take a little time to adjust to the tasks.

    pawz
    November 8, 2013 4:48 am

    you are unique, I think, in including us all in the developmental progress of the game, and for your dedication to getting it as good as you can make it before release – but I do think others have a point in that there will always be ‘things to fix’ and that a post-release patch would be a sensible approach.I think we who watch share a personal interest in Banish is (y)our baby as well as we have watched you carefully grow it, with all the twists and turns and developments as it matures.Sort of ‘family’ interest. Wonderful.

    ZeRoZeRo
    November 8, 2013 5:37 am

    Are other languages planed? Like german, would be cool to play on the release not only in english.

    dada
    November 8, 2013 5:47 am

    release date. now

    Silian
    November 8, 2013 6:17 am

    Pick me ! pick me ! :)

    gon
    November 8, 2013 6:18 am

    I’m waiting for this game already a very long time and i’m happy to see that quality is a high priority topic. you are creating here a very good game and i’ll be happy to buy it on steam as soon as possible :)

    you have my full respect working on this game so hard! go on!

    Gix
    November 8, 2013 6:22 am

    I follow this with great interest. Love the work you done so far!

    ScorpyX
    November 8, 2013 6:25 am

    Thank you for this post
    i already love this game just for visual style
    hope game-play be great too

    also i ready wait for good polishing and features
    instead desires are not finished product as soon as possible

    hope release will be good and give life for new game expansions

    woopwoop
    November 8, 2013 6:53 am

    The visual style is the thing that got alot of people interested i think, keep that in the same shape when it comes to patches and updates, and it will be a good one!

    alexf
    November 8, 2013 7:55 am

    Came here to say I think this game will sell like mad and please take your time to make it good. It looks amazing already, but I think most of us just really want a clean/makes logical sense game at launch. Would easily pay $30-40.

    Julian
    November 8, 2013 8:16 am

    This “easy to implement” idea interests me:

    “– Can there be an option to lock the mouse to the game window? Edge scrolling doesn’t work with multiple monitors or windowed mode.”

    yes,
    there are some ways to limit mouse movements to the windowed area of a game and/or to a particular screen in multiscreen features. Some tiny and simple 3rd party scripts do this well.

    But,
    to my knowledge, there are no 3rd party scripts or similar that translate hitting the edge of a restricted mouse area (to match the game window) into a scroll instruction. Or are there?

    Many gamers complain, and I agree, that in order to benefit from edge scrolling via mouse hitting edges one is forced to play in Full Display/non-Windowed mode (typically with degraded resolution due to pixel resampling) or eventually adapt to windowed mode (nice and crisp details) and scroll by use of keyboard W-A-S-D keys.

    So, is this always “easy” to implement, ie even through 3rd party script running over the game window? or “easy” only if set within the native game code?

    Cheers!

    PS- oh… and by the way…release Banished! really really really wanting to purchase this and contribute to the brilliant future of Shining Rock but still not being able to do so is making me feel really really really weird ;)

    Nick
    November 8, 2013 8:49 am

    Damn you and your awesome feature creep! :)
    Do you have a date in your head when you think it will be ready?

    T
    November 8, 2013 8:52 am

    Could you post a video of this new feature? Sounds like it’ll be a lot of fun to play around with.

    Andrew
    November 8, 2013 9:26 am

    I love it! It is so much better to take your time and make a great game. Do not rush it. I would rather have the game later and it be amazing, then right now and have all of its annoying bugs. Keep up the good work!

    RJE
    November 8, 2013 11:23 am

    As much as I’d like to harass you about releasing the game, all I can really say is THANK YOU. Your attention to detail and respect for the end-user is setting a paradigm that I hope the bigshots are paying attention to. Just don’t lose your mind trying to make it perfect! Minor bugs can be forgiven, especially with the promise of future updates and patches.

    Sazzle
    November 8, 2013 11:48 am

    It definitely seems better to work between a balance of implementing features and addressing bugs, rather than have solid period of time bug fixing. When the game is bug free, and it comes to working in new code, it would be nigh on impossible for there not to be a single new bug made in the process. Also, I assume it stops the work getting autonomous! :) Very much looking forward to playing this game, thanks for the update on things. The pathing feature looks good, and sounds dead useful.

    nobrainer
    November 8, 2013 11:53 am

    Pathing Tool? Wow, you better stop the feature creep or you might end up with a worthy sucessor to Simcity 4. :D (that would be awesome)

    Note to self: get unemployed when Banished is released. :p

    guy
    November 8, 2013 12:10 pm

    [IMG]http://i42.tinypic.com/2rw1dg0.jpg[/IMG]

    guy
    November 8, 2013 12:13 pm

    [url=http://postimg.org/image/lnkx3fv1t/][img]http://s24.postimg.org/lnkx3fv1t/image.jpg[/img][/url]

    stef
    November 8, 2013 2:17 pm

    thanks mate your work is impressive. Can’t wait to try it

    indu
    November 8, 2013 2:42 pm

    Take your time man. But lets hope you get all stuff working before x-mas :)

    Adi
    November 8, 2013 4:16 pm

    PPL can we have a pre-launch edition of this game just to get hoe it really is. Just watching vids are not enough.please if possible release a beta or an alpha version of this game. I will surely buy it.

    Jon
    November 8, 2013 6:02 pm

    Nice work Luke, I really like how you’re working on all those bugs. You’re probably happy with the testers you chose, it’s nice to hear it going on and on.
    I really want your game nut waiting is worth it, and I do hope you also take some spare time to enjoy life. It doesn’t matter if it won’t be released before Christmas. From a financial perspective maybe but your own health is way more important.

    Stay happy. Looking forward to more blogs. :)

    HSV Guy
    November 8, 2013 7:43 pm

    Love the idea of the pathing feature. It addresses a number of concerns/questions I posted back in September. When I was reading this post it felt like you had directly written it to me.

    Below is a copy and paste of some of what I said in the ‘Clarification’ DevLog post from 27 Sept.
    ____________________________
    1. As everyone has a specific house they live in, what determines where someone works? If you allocate a new specialist (say a farmer) does the engine determine the farm most in need of a farmer and then pick the closest labourer to that farm to become a farmer? If you then closed that farm, I assume that the farmer then goes to another farm (even if it is ages away).

    I plan to play this game with my town in the middle but a number of small outposts spread out all over the map. If people live in a house in ‘outpost x’ but work in a building at ‘outpost y’ they won’t be very productive.

    1b. With regards to the above scenario, I know you can have people change jobs (because you’ve said they will lose happiness if they change jobs too much) but do I, the player, or the engine pick which person changes jobs? I assume the engine picks which person to change (from a farmer to a labourer). If so, how does the engine work out which farmer to change back to a labourer (I assume it looks for the least efficient farmer (the one who has the most distance to travel between ‘home’ and ‘work’) and changes that person)?
    ________________________

    While I have to wait, I can’t wait!

    Kamiru
    November 9, 2013 9:36 am

    This game sound better and better each every time I read about it! I hope it works in WINE.

    Andy D
    November 9, 2013 10:51 pm

    Can not wait. I’m very excited for you and for me!

    ZI
    November 10, 2013 2:45 pm

    if you release it before Xmas that will be supa great

    Kraliz
    November 10, 2013 3:19 pm

    Mate, full respect to you the game looks awesome and soon as it will get released I’m buying it. Just out of curiosity would you share with us how much time does it take to make a game of this type – roughly? :)

    Mikei
    November 10, 2013 4:18 pm

    This is awesome! I’m amazed you did this all by yourself! Excellent work :)

    I will now join the chorus of “I can’t wait”‘s and wish you luck with the debugging. Let me know if you need a fly squat and some bug spray!

    Mr. G
    November 11, 2013 12:07 am

    Will there be an option to have crops on a cycle so that they don’t farm the same thing over and over?

    Like a little menu that lets you add different crops to a certain plot of land and each year it uses the next one in line (and if you don’t want to cycle, only put one crop in there)?

    Shane
    November 11, 2013 2:08 am

    Keep up the awesome work! My family and I are looking forward to trying your game. I appreciate your work and effort on improving your game. Like Shigeru Miyamoto said, a delayed game is eventually good, but a rushed game is forever bad. Your work is inspirational and looks incredible.

    Ricardo Weldon
    November 11, 2013 3:55 am

    Wow, just wow, first I’d heard of the game as someone mentioned it in a thread for Godus and I’m very impressed. Love the developer feedback and some of the fixes you’re coming up with are more than Simcity ever achieved upon release or subsequently. Here’s hoping for a god game that actually plays as good as it looks and isn’t overrun by developer greed. GOOD LUCK

    Kang
    November 11, 2013 6:09 am

    This game looks simply *amazing*. It’s like you’ve made the game of my dreams, only I didn’t know I wanted it. It’ll be an insta-buy for sure. I really can’t wait, but it’s good that you’re so determined to make a really great game, instead of just throwing it out to the wolves.

    RsvT
    November 11, 2013 6:51 am

    Looking very good, gonna buy this when its available :).

    icypanda44
    November 11, 2013 7:26 am

    Mr G. Luke had commented in a prior devlog post about crop rotation. You can read that post here :

    http://www.shiningrocksoftware.com/?p=929

    Daxamar
    November 11, 2013 8:11 am

    Shaping up nicely. Cant wait till its released.

    Love your blog. If only more developers had your communications skills! It helps me wait for the game. Any word on a release date?

    Peter Young
    November 11, 2013 11:29 pm

    Can hardly wait, it looks fantastic already…keep up the good work. I am looking forward to playing this game with my son.

    rh
    November 12, 2013 8:18 am

    While it’s cool that the inhabitants will automatically pick suitable jobs and houses nearby I think many players will want to be able to micromanage such assignments. This will be still possible somehow, right?

    Laurent
    November 12, 2013 4:45 pm

    I love these reports. You are amazing, good job.

    ak
    November 13, 2013 3:58 am

    I’ve never waited for any other game like I’m waiting for this one. People around the world come here every couple of days to check if this fantastic game is released, you should be proud of yourself.

    genma
    November 13, 2013 11:37 pm

    @Julian
    there is a native function built into windows (‘clipcursor’ for those devs out there) that binds mouse cursors to a certain region of the screen while your app is in focus, so this is why it’s considered trivial to implement. you literally just plug in the relevant coordinates to the windows of your app, and toggle this on or off by calling standard windows drivers.

    thus full mouse support for windowed/multi monitor modes can always be accomplished in less than 20 lines of code that way, and also be reused between other apps without much customisation needed if any. just a frame of reference that shows how little some other devs/publishers care.

    you could also do this on your own through windows scripting tools like autohotkey, for other apps that don’t have this feature, and bind it to a key or something that toggles it any time you want.

    WTF
    November 23, 2013 7:03 pm

    I just learned about this game,looked at the graphics,looked at the content,learned that it was an indie game,learned that only one person made this,realized that some lower end AAA games have graphics as good as these,learned about his ideas,including this pathfinding tool,and said “holy sh*t”ALL BOW DOWN TO THE MASTER PROGRAMMER!