Here you can read posts from the developer about what goes on behind the scenes of EXLCOM.

Bugs Squashed and Lessons Learned

In my first blog post I talk about what I took away from fixing EXLCOM's numerous bugs after release.

 

 

You never expect how many bugs there are until you try to fix them: I feel like this is a lesson you could be told a thousand times and still fall into the "this is basically ready, let's release soon"-trap, at least that's how it went for me.

 

After making great progress on the development side of things, I decided in early January that I would be ready to launch before XCOM2 came out and before I had to take a month-long break from programming for work stuff. What I did not realize at that point was that creating a game is all well and good, but the real work was still awaiting in making it run consistently no-matter-what.

 

So, coming off my forced break, I started to fix everything I could find, from the game-breaking to the mundane.

 

Now, about six weeks after initial release, I finally feel like the game no longer consists of playable parts, but is in itself a playable game. (In hindsight I wish I hadn't put it out there in it's unfinished state, but it really is just something I never saw coming as a first-time developer.)

 

Still, I took some interesting findings away from my first bug-crunch:

  • The hastier code is written, the more bugs are in there. Seems obvious, but it really should not be ignored; if you can, avoid unrealistic deadlines (don't be like me).
  • The tiniest mistakes cause the biggest bugs. None of the big bugs in EXLCOM were more than a line (if not way less) to fix. Constantly asking yourself "does this make sense what I just wrote" will prevent lots of headaches.
  • Half of the work in bugfixing is hunting them down. A great (easy to follow) code structure is critical here. Never skimp on it!
  • The more code that is written the more bugs will be in there. Seems obvious as well, but the key here is not to give in to just writing whatever comes first to mind when fixing an issue. Elegant solutions are often more than worth their extra planning time when compared to wading through droves of botched code trying to put out a hundred fires at once.

There are obviously still bugs left, but I decided not to spend a long time fixing every little graphical glitch right now if I'm going to rewrite big parts of some modules anyway in the future. But now that many of the most important bugs are fixed, I will push out an update soon and then concentrate on playing the game and analyzing what works and what doesn't to further develop it. I'm still having lots of fun with the project and I will definitely try to push it to it's maximum potential.

 

 

11 Comments