I had been motivated for some time to develop a game with RPG survival mechanics and thought I could lay out the foundation for something that I could progressively build on. I am quite happy with the things I ended up implementing: a Unity-integrated world editor, my own implementation of the A* pathfinding algorithm, and a basic inventory system and UI.
But after having worked on it on and off for a considerable period of time I’ve come to experience the absolute necessity of working off of a defined spec. Trying to make progress when there’s no well-defined end in sight is like trying to zero in on a target that keeps moving, and is a recipe for failure. I am know seeing how the work of design is not just a trivial aspect of development that an individual developer may or may not engage in, it is the very definition of the development that is to be done. Without it, the developer is left having to constantly “design” and “re-design” things every time they approach the work, and there’s no guarantee that the conclusions reached will be the same between iterations.
There’s only so much technical know-how that’s necessary to build a game, the real work is in the definition of it. I’m becoming more convinced that design is more fundamental than implementation, which is a challenge for someone with a background primarily focused on programming.