So...

• automatic release builds turned out to be quite the bitch to get working
• Imagine creating instructions for building a car, giving them to your friend in the next town, waiting for him to try it out, he giving it back to you with a terse "motor doesn't start if I build it like this", you having to guess why, changing something, giving it to your neighbor again, getting it back with "motor started, couldn't put in the gear", rinse and repeat...
• especially for all three platforms

• Imagine you having to create a special customized copy of your car building instructions for your other friend who only knows how to drive automatic
• they almost do work though

But...

• I didn't have time to do the two bugfixes I wanted
• I didn't have time to test the current state more thoroughly
• There is one small annoyance that I would like to polish away

...so the release will be tomorrow, sorry!

Discussion on Reddit

Support Citybound on:

Finally finished the planning code reimplementation! 🎉

• the code is a lot cleaner!
• interaction feels less glitchy in general, probably a lot of subtle, not even reported bugs are gone
• fixes issue #84 "Plan result lost after mouse move"
• and in its wake #86 "Clicking on built road panics"

Tomorrow I will:

• try to fix or at least avoid two more bugs
• set up automatic release builds for all platforms
• use that to create a new release for you to try, with all the improvements of the last month!

Discussion on Reddit

Support Citybound on:

• After describing my bad feelings about not having enough to report you were very supportive, thank you a lot for that!
• I will stick to daily-if-possible, every-two-days-if-slow posts, I really like the diary style feeling of these updates, they feel a lot easier and faster to write than the longer ones I did in the past

... so what I did:

• Today I almost finished my planning code reimplementation
• I decided to try to already hook in a contributor's code for having nicely-reconfigurable key bindings

After trying to make the contributor's code work for quite some time, I realized two things:

• It was incomplete (wouldn't be a problem usually, I can just finish it myself)
• It was written in such a chaotic way that there was no hope for adding even this simple missing thing, not to speak of more substantial additions and an obviously required clean-up later
• I only understood that it's that bad after spending several hours just trying to understand the code and what it actually does

This puts me in a slightly uncomfortable position:

• I obviously want to encourage everyone who wants to help me with the code to do so
• I want to create a welcoming atmosphere for everyone involved
• I don't want to waste anyones' time or hopes
• Just the fact that a kind stranger wants to help me at all for free is wonderful!

But:

• If a contribution is below a reasonable quality standard (i.e. it takes me more time to bring it there than to completely rewrite it myself), it doesn't help anyone
• If someone starts a contribution with the intention of taking care of a certain aspect of the game, I want to trust them that it's actually in their abilities to do that, that they seek guidance if problems arise and that they give reliable reports on progress and what to expect
• A contribution that is abandoned but left in an easily understandable state is much more helpful than one that is "almost finished" but very messy

Some bigger and much more mature open source projects (for example Rust itself) have a pretty amazing system of tutors helping new contributors with easy introductory tasks. Unfortunately I don't have the time or manpower yet to offer something like that, so for now I can only give my own feedback and take matters into my own hands if needed - which is what I did in this case.

What this means for the next couple days:

• This in-general-nice-to-have thing of configurable keybindings won't make it to the next release and will be a low-priority optional task for myself during the February Feature Phase
• I will still try to finish the planning code rewrite, get that into a release and maybe squeeze in some more bugfixes before the end of January (aka Wednesday)

I would really like to hear your feedback about all of this, maybe you have some ideas how to handle situations like that better!

Discussion on Reddit

Support Citybound on:

Not much changed, I'm still working on rewriting the planning implementation

• Yesterday I was quite distracted (with other Citybound topics, but still distracted)
• Today was productive, but it's taking slightly longer than expected
• the planning code grew unwieldy because of all the operations and cases it already needs to support (still not enough though), and I was kinda badly surprised how difficult it is to refactor it, but my work-in-progress new version is already slimmer and at the same time more extensible
• I really need to get rid of this overly bad feeling of not having achieved enough today/within the expected timeframe/this week...
• As long as I give my best effort and work reasonable hours each weekday, I should be content!
• I should not feel bad about not having much to report
• In this way, Citybound being "like a job" where I "senselessly grind away" at something for a limited time each day can feel really liberating

Discussion on Reddit

Support Citybound on:

Nothing really special to report...

• Still working on rewriting the planning code
• Realizing more and more what a Rube Goldberg machine I accidentally built around something fairly simple
• I really hope to get a new release with as many bugfixes as possible out this week!

And!

• 🎉 I got my first Patreon payment of $313 for December 🎉 • My first salary as a free man, being paid for doing what I love, by you, the generous fans, caring so deeply about my work and trusting my plans and abilities even though we've never met! • I feel incredibly happy and flattered! • (For January, I will already get$426 from 74 kind people, as of now!)
• (You can fit almost any growth curve between two datapoints!)

THANK YOU!!

Discussion on Reddit

Support Citybound on: