Last night I was bored, and my girlfriend didn’t like me bugging her. I needed something to do, so I decided to create a clone of the classic video game Minesweeper.
Minesweeper’s Wikipedia page reads the following: “Minesweeper is a single-player puzzle video game. The objective of the game is to clear a rectangular board containing hidden “mines” without detonating any of them, with help from clues about the number of neighboring mines in each field.”
One hour and one hundred lines of code later, I finished a crude but functional version. Then it got hard, and I lost interest. Later, I thought about the work that needs to be done, to turn this project into a business. Creating software always seems easy, but it is good to realize how much difference there is between a prototype and profitability. Here we go…
DEVELOPMENT
Hard core engineering – I assumed that when a game starts, the mines are placed at random. This assumption was too simplistic. When mines are placed at random, they can be clustered together. This gives a lousy gaming experience. Mines should be spread out evenly. Here we strike an engineering problem.
Missing functionality – If you step on a mine, it blows up. Which is one way to lose the game. You should also lose the game when you mark more mines than there are actually hidden. My version of the game does not support this. It would also be fun to play against a clock, or have high scores. More development is needed.
Refactoring – In the source code, I refer to mines as bombs. To prevent confusion in future development, we need to refactor this. There is a bigger problem. I developed the game as a Windows application. Which is obviously wrong. We need to port the software to a mobile platform for iPhone and Android.
Quality assurance – The game works, I think. I played a few rounds, and have not found any bugs. To be sure we don’t ship buggy software, we need beta users to test extensively. We also need to write unit tests to prevent bugs creeping in during further development.
User experience – In the Windows version of Minesweeper, you navigate the mine field by using your mouse. In my version, you need to manually enter coordinates, and push a button to mark or expose a cell. This is too crude to be fun. The user experience needs to be sheer joy. Currently it’s not. Even I don’t like it
MARKETING & SALES
Branding – Our game should not be named Minesweeper. We need a new name that stands out from the competition. The game needs its own back story, like Angry Birds for example. This story needs to be perpetuated throughout the software, by the consistent use of logos, graphics and sound effects.
Distribution – Now that our game is finished, we need to make it available via the various App Stores, Play Stores, gaming websites and wherever else we can distribute. Without a doubt, we need to make a few round trips to the development phase, in order for the game to be accepted on these platforms.
Promotion – Once the game is ready for distribution, we can promote it on a website, Twitter, Facebook and via other social media. Ideally we want the software to go viral. That idea of keeping high scores, and comparing high scores with friends was not a bad thought. Back to development, once again.
MANAGEMENT, FINANCE & LEGAL
Team work – I cannot do the above on my own. I don’t have the skill, nor the time. Graphic design is a profession, so is distributing the game through the various channels. We need to find freelancers who can help out. And set up a virtual task board (like Trello) so we can coordinate the various tasks.
Liabilities – With money going in and out, we created two new ‘problems’: responsibility and liability. With any luck, the Terms & Conditions and privacy statements are provided by the distribution channels. We do need a bookkeeper, a bank account and possibly a registration at the Chamber of Commerce.
This mental exercise made me think about all the different aspects that go into creating a successful business. And how difficult it is to get all the pieces right.