Our Project Manager, Jessica, made the very insightful comment at lunch the other day,
No one cares how hard it was for you to make. When people are looking to buy your product, all they want to know is what it will do for them.
That young woman has a bright future in marketing. Unfortunately for those who read this blog, I do not, so I am going to tell you how hard it is to make that last push to the finish line.
I quit counting the number of hours I worked this week when I got to 80. I’m sure The Invisible Developer had put in even more, because many nights (mornings?) I have gone to bed at 2 a.m. and when I wake up and check the latest build in the morning I find it was put up at 5 or 6 that morning. There hasn’t been much blogging going on lately and I only have a bit of a minute now because I’m waiting to get the latest latest latest build so that I can make the Windows installer.
I’ve blogged before on the great value I place on “details” people and this week is a prime example of the importance of details.
You’d think that down to and past the wire – the last build of the game was supposed to be today and we have negative 68 minutes left in today – that we would be moving forward pretty quickly. Um, not so much.
At the beginning of development, you can easily find the problems – the question is what fraction of the fish are over one foot long when you caught 125 fish last summer and 25 were over a foot long. The correct answer is 1/5. However, 25/125 is also a correct answer, as is 5/25 . Finding those problems is easy. You can check the answer while you are creating the pages, have it write to the console the correct answer, step through the logic. No problem.
Same thing with playing the 3-D part of the game. If you are at the part where you are supposed to be spearing the fish and there is no spear, then it is an easy enough fix.
HOWEVER, now we are supposedly at the end. So…
- We make a version of the build for Mac and another for Windows.
- We zip the Windows file because many systems block .exe files downloaded from the Internet to prevent malware installation.
- We upload the zipped file to our server.
- We download it.
- We play the game from beginning to end on Mac.
- We play the game from beginning to end on Windows.
That is, we go through every step that a user would — and somewhere along the way we find an error that we somehow missed in all of our earlier testing. Maybe something we fixed in a later stage of the game was a script that was used in an earlier level and now that doesn’t work.
So … we go through all of the steps all over again. Yes, we do have debugging capabilities where we can skip to level 6 and test that, for example, but at the very end, you NEED to go through all of the steps your users will. Trust me. You can put in every unit test you want but it will not let you know that Microsoft or Chrome or some other organization put on this earth to try my patience now has a security feature that blocks the game from installing. You won’t see that three problems and all of the accompanying instructional material were left out.If you start at level 6 you will miss the fact that there is a problem in the transition from level 5 to level 6. And so on ad inifinitum until you go to speaking in Latin and wanting to tear out your eyeballs.
We go through all of the details so that when you play it all you see is a game that works.
My high school English teacher told me,
If something is easy to read, you can damn sure believe that it was hard to write.
I think this is also true,
Any kind of software that is easy to use, you can damn sure believe it was hard to make.