There comes a point in the development of a webgame where it starts to breathe. Being the one who gave it the ability to breathe and watching it come to life is truly remarkable. Sometimes it’s even a little startling. Ultimately, though, it is one of the most satisfying moments of the whole process.
I’m currently working on a baseball management simulator, SimYard. I figure it will be ready for some sort of beta testing sometime in the next couple of weeks. You create a team by picking a name, team colors, and a logo. Then, you head to the park to find another team to play against.
The park is a pretty standard multiplayer lobby. There are fields displayed, and you pick a dugout to enter. Once two teams are in the same field, they are taken to a setup page. When they’ve both selected their starting pitchers and set their lineups, the game starts. I wrote the script to handle this a while ago, and I was working on building the live game screen when the site startled me.
On the live game screen, both lineups are displayed. There were more than nine players in the lineups. I didn’t understand it, since I had been testing the lineups before they were displayed, and I knew that it was all working correctly. Why were there extra people there? Frustrated, I headed back into the code and started tracking what the script was actually doing to find out where these extra players were coming from, and I found it.
The website had come to life.
The script that I was running, now that the games were being set up correctly, was doing exactly what it was supposed to be doing, and it was running the game. The game was proceeding through the innings, and pitchers and batters were getting substituted in and out by the virtual manager. This was adding the extra players to the roster. I might have caught on to this earlier, except that this particular game happened to be a 17-inning marathon which emptied both bullpens!
I’ve never been so happy before to find the source of a bug.