The last project that I worked on was a sequel to an existing franchise. As much as possible, I'd like to be open and honest in this blog to give everyone an idea about what it is like working in the game industry, so I'd like to talk about the ups and down we had developing this sequel.
Being a sequel, this new game had many features in common with its predecessor. We were able to use a lot of the same code, and even some of the same assets (e.g. art, effects, user interface screens). In fact, one reviewer suggested that too much of the content was simply copied from the previous game. Although everyone is entitled to his or her opinion, I can tell you that nothing is further from the truth.
When you have a game that has a large following, it is expected that the sequel will have some continuity. Therefore, you don't want to make the sequel entirely different from the original. With this sequel, we decided to keep the basic mechanics of how you shoot and match balls in place because this is what players have grown to love. On the other hand, we also added some radical new features including a progression map, a deep story, and voice-overs, which had never been done. Although this might sound like "fluff", it took a great deal of work and a great deal of programming to pull it off. Even then, we weren't sure if players would like the new direction we had taken things. Although we have received comments from both those who did and did not like the new features, overall the response has been positive. Should we do another sequel, the challenge would be to once again provide a little bit of the new with a little bit of the old in a way that satisfies veteran players and entices new players.
Sure, a lot of the code was re-used from the previous game. But that is more a testament to good design than anything. In many cases there is no reason to re-invent the wheel when you are doing a sequel. However, it is very rare, indeed, that code can be simply recycled and used without modifications. I would estimate that 70% of the existing code had to be modified, and another 50% of code was added completely from scratch to incorporate new features.
For example, we wanted a new mode where two chains of balls could approach each other face to face. We also wanted a computerized AI opponent in this level. Neither of these ideas had ever been incorporated into the previous games. Creating the ability to have a computerized opponent meant writing completely new code as well as modifying almost every piece of existing code to allow for this new possibility. In the end, we only used the AI in a single mode, but the code will now allow an AI to be added to any level.
To allow for two opposing trains, the entire class (a class is a group of related code) that handled train movement had to be completely re-written. This re-write impacted all levels, even if they didn't use opposing trains, because all levels share the same core code for managing the balls, collisions, matches, etc. During the re-write, new bugs where introduced that impacted every level of the game (not just the new levels). For a while the balls would spin off wildly and go the opposite direction off the screen! Not only did the bugs have to get fixed, but all of the interactions had to work exactly as players would expect them to work. I spent many long nights perfecting that particular piece of code.
At first glance, it might appear that portions of this game are re-used directly from the previous version. If you look closer, you will discover that this is rarely the case. For example, all of the balls were re-designed. All of the background art is completely original. The only thing I can think of off the top of my head that was not re-designed is the actual shooter. We had plans to change this but simply ran out of time. Some effects (such as coins falling) were also re-used, but most effects were revamped as well.
Although putting out a sequel can be slightly easier than creating a game from scratch, it isn't as easy as some people may think. We spent just as much time developing the sequel as we did creating its predecessor, if not more.
Well, that's it for this post. I'll try to post more often now that I have time. In this blog I have mostly focused on things that went right with the game. Next time I'll talk more about what went wrong!
Till then. Keep gaming (and/or programming if that's ur thing).