White Shining Rock Logo
White Shining Rock Logo

Why am I doing more than just fixing bugs?

November 7, 2013 | Dukus | 75 Comments

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

Leave a Reply

Your email address will not be published.

75 comments on “Why am I doing more than just fixing bugs?”

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

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

  3. 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?!!

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

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

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

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

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

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

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

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

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

  13. Another nice post and it's good to hear that your game is becoming better and better πŸ™‚
    I can hardly wait though πŸ˜€

  14. 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. πŸ™‚

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

  16. @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!

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

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

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

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

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

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

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

  24. 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 ! ) )

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  39. 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 πŸ˜‰

  40. Damn you and your awesome feature creep! πŸ™‚
    Do you have a date in your head when you think it will be ready?

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

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

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

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

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

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

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

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

  48. 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. πŸ™‚

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

  50. 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? πŸ™‚

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

  52. 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)?

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

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

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

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

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

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

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

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

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

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