Never Be Afraid To Change Your Design
A few years ago I wrote a little video game in Perl called Lacuna Expanse. Tens of thousands of people have played it, and while I wouldn’t call it a raging success, it has paid for itself and continues to make a modest profit. That said, it wouldn’t have if I hadn’t been willing to make drastic changes to the design of it way late in its development.
For the first 3 months of its development, Lacuna was storing it’s data in Amazon’s Simple Storage Service. When I had trouble getting that to scale I switched it over to MySQL. Three months into a 12 month development cycle is far, but not that far, for a major change.
About six months into the development cycle we decided to entirely change how space was configured. It was originally modeled in 3D space and the user would be able to see a slice of it at a time.
For some reason it took us a very long time to realize what a horrible user experience that was going to be. Also, there were separate UI’s for the star map view vs the star system view.
This just meant a lot of clicking for the user. So we decided to simplify the star system. Instead of 3D space we would go to a flat 2D version of space and we would display the planets in orbit around the stars.
From a user perspective this worked much better. It was easier to see where things were in relation to each other. There was only one space UI. Everything just worked better.
Even though everything was working better, it really bothered me that we lost the system view, because I liked the effect of the light coming from the star, and I liked that we could show the relative size of a planet in that view. It bothered me so much that 9 months in I changed the map yet again. This time it was mostly an aesthetic change which resulted in the modern version that players are familiar with.
As you can see the planets are rendered showing the light source of their star. The planets are also tiny in comparison with their star, and they show their relative size to each other. In addition, they have a much more natural looking orbit.
No matter whether you’re designing a game, a program, or a business, never be afraid to change it. If something is bugging you about how its working, it will bug other people too. You’ll be far more successful if you keep evolving it.
[From my blog.]