“Kill your darlings” is a bit of writing advice heard rather often in writing. In short it means to be willing to destroy elements of your have worked hard to create. To be willing to discard even your most cherished creations. This does not mean that you will get rid of those elements, but you must be willing to do so. This is because otherwise we can be blind to the problems that our “darlings” create in relation to the whole project.
So, why do I bring this up? Simple. “Kill your darlings” applies to much more than writing.
Programming Darlings
Early on in my project I created the randomized levels. With that I of course created the controls. A drop down window for difficulty and simple “New Level” button. But I also added a “Custom” difficulty that allowed the player to input their own target number. This, the “Custom” setting, was my “darling”. It has stuck around for far longer than it should have. I have for quite some time that the dropdown menu would need to be changed. But doing that would necessitate a significant rework of the “custom” setting, and so I put it off.
But eventually, I recognized that the “custom” difficulty setting had outlived its usefulness. And so, I removed it. And in doing so, removed the last thing holding me back from removing the dropdown menu and converting it into a spinner design.
In any creative endeavor, from writing to programming, to painting, and beyond, one must be willing to remove our favorite parts of a project. All in service of making a greater whole.