The LLM started with a three month headstart, both in terms of code, using the previous game as a template, and more importantly, all of the learnings and mistakes you made in the hand-coded pass.
I don't know I feel like rewriting a backend for one card game into a backend for another wouldn't be that difficult, especially for the original dev. Once you've worked out how to represent cards and code the rules you're basically there for any card game.
Also, a refactor is by definition rewriting code without changing the behaviour. Worth knowing the difference.
As an LLM hater, I have to say, this is exactly the use case I want code generation for. If I need to figure out the problem as I develop, which is the case for new code, the model can kindly get out of my way. But if I have already written a bunch of code and I can explain the problem with the understanding that I've gained from my implementation and have the bot redo the grunt work? fine with me..
Not only that but it was also their first game, meaning they faced a ton of unknown unknowns which are no longer there. If they were starting to program a card game today without LLMs they would still be able to apply all the knowledge and insights they gained from the previous experience; it would take significantly less than three months.
You don’t even need to clone it. I’ve re-created months long projects from scratch and next time around it takes me around 1/3 of the time of the last, ballpark.