almost 4 years ago - Sleipnir - Direct link
Oh, for sure! I plan on releasing a developer diary that I've kept these last three years when I release 1.0 of Odd Realm. It documents all the challenges during the game's development.
That being said, it's more of a spotlight on game development and less of a how-to for creating a game. My entire solo dev career has been full of learning from making mistakes. I started out as a fairly novice, self-taught programmer and the initial architecture for Odd Realm was poorly executed. I've been paying for these past mistakes with the update I'm currently working on because I've had to re-write a lot of systems. So, I'm not sure I'd be able to write a book telling you how to write the perfect system, but I could certainly tell you all the mistakes I've made.
One book I read earlier in the game's development was Robert Nystrom's Game Programming Patterns. It's really easy to digest and has some great patterns that I use all the time.
almost 4 years ago - Sleipnir - Direct link
Thank you! That means a lot friend. :)

Regarding your question, when I say, "re-write," I usually mean I totally start from scratch. In my experience, it's easier and quicker to move your old code to a place where it can be referenced and then start new. I've re-written so many systems and every time I try and maintain an old one, it's a huge headache and tends to create many bugs. Also, I try to write code that is compartmentalized which means it can be replaced without having to worry too much about other systems losing their minds.
Keep in mind that this is pretty easy because I'm a one-man team. On a big team, it's much more difficult to do this.
Lastly, one unfortunate part of working on a live game is save files. It's VERY difficult to re-write systems when you are saving game states. I spend a lot of time writing bespoke code for old versions. I'd say half of the bugs that are reported immediately after a new version is released are from old versions not loading correctly. So keep that in mind.
almost 4 years ago - Sleipnir - Direct link
Honestly, when you're working on your own, you just need to find the method that works for you. I'm sure, for many, refactoring the system is preferred over a complete re-write. Nothing wrong with that if it is how you like to do things.
One thing to be aware of when doing any refactoring is the time investment. It's easy to say, "I'm going to just delete and start from scratch," but that decision can easily cost you weeks of work. For me, I care more about the quality of the game's architecture because I know in the long run it's going to pay off because it'll be easier for me to continue adding to the game. (I want to work on this game for years to come.) But, as you can see with Odd Realm, it means players wait much longer for updates.
Anyway, thanks for listening to me drone on. I'm rooting for you and your projects. Feel free to join our discord if you want to share your work with the community. We have a dedicated channel for that sort of thing and we're always happy to see work from others. :)