The techies at Turbine felt this was their last chance to create a new, better game engine. They had visions of their engine powering hundreds of different games and Turbine getting residuals forever.
So AC2 ended up using very little of AC1’s code. Because of all the low-level changes, it was impossible to reuse any of AC1’s game logic. Every game mechanic had to be written from scratch, even the parts that we wanted to be exactly the same. That made it impossible to create “AC1 with more stuff.” There just wasn’t time.
So it stopped being a sequel and started being a different game set in the same world. This one was a Kingdom-vs.-Kingdom war-fest with tons of character options. It was a good design and a fun PvP game. Unfortunately, it was not a sequel in any way, and that’s not what Microsoft wanted to hear: It had been promised a sequel.
So relations got strained between Turbine and Microsoft. Microsoft continued to promote the game as a sequel whenever its reps talked about it. The result? AC1 players came over, spit on it, and left.
If you’re ever stuck on the treadmill of going from language to language or from engine to engine or from shiny thing to shiny thing and you never seem to get a game finished, this is a powerful lesson on the value of reusing existing code. It’s a scary lesson on how far chasing butterflies can lead you away from your goals–to the detriment of your project.
Indies, beware! This siren is dangerous.