For this week’s Thousander Club update:
Game Hours: 409.25(previous two years) + 86.5 (current year) = 495.75 / 1000
Game Ideas: 710 (previous two years) + 36 (current year) = 746 / 1000
I spent part of my weekend working with UnitTest++ and [tag]TDD[/tag]. I wish there was more documentation about integrating it with Makefiles. I spent most of my time trying to figure out how to get the Makefile to automatically build new .cpp files as I add them, as well as knowing how to build the test binary without using my main project’s source file that holds the main() function. I decided to try something simple, similar to the Bowling Game Kata, so I picked a Guess The Number game.
The point of the kata is to study the form of how to write tests, make them fail, then make them pass. What it doesn’t show me is how to write code that actually runs the game. Am I expected to write a test before I write my main() function that actually makes use of the game? After 12 passing tests, I have a fairly complete GuessingGame class, but I don’t have a working game. I can see how easy it would be to write the code to make a working game, but I don’t see how I can write a test first since I’ll just be copying lines of code from the tests into main(). Is this considered an integration step, where it is likely that there won’t be test coverage? I’m ordering the Kent Beck book Test Driven Development: By Example (The Addison-Wesley Signature Series) but as I haven’t read it yet, I’m mostly going off of what I learned from watching Robert Martin during a talk on TDD a couple of weeks ago.
Of course, experimenting with TDD means I haven’t spent time on updating Minimalist, my Ludum Dare #11 entry. The game is mostly finished, and really it is all a matter of making sure it runs on as many systems and for as many players as possible. I’m looking to have an official release at the end of the month.
On a productivity note, my email inbox and my desk inbox have been brought down to 0 for the first time in a year! It feels so good to know exactly what I need to process when I sit down in my office.
Even so, I took a productivity hit this weekend. On Friday, I found that my laptop turned off. I came home from the day job, found it off, and turned it back on. It said that it’s battery was low. I figured that one of the cats must have knocked the AC adapter loose, so I made sure it was plugged in and went out again. I came back to find the computer off again. I saw the power brick’s green light was off and that it was cold. It was also beeping as if it was about to explode at any moment. Since my laptop was still under warranty, I found Dell’s contact info and expected to go through a lot of customer service representatives, explaining the same situation over and over. Instead, I was surprised it was as easy as it was:
Me: “I just discovered that my laptop lost it’s charge, and it seems that my power brick is not working anymore. It has a tiny beeping when it is plugged in.”
Me: “The laptop itself seems fine, but I have no way of keeping it charged.”
Me: “As I understand it, it is still within warranty, so I was wondering what I could do.”
Agent: “I’d be glad to have the ac adapter be replaced, what address do you want me to send it to?”
Wow! After the details were settled, I went to put my laptop away and found out why my AC adapter stopped working. One of my cats had chewed through the cable!
Hopefully I will get my replacement AC adapter today. My desktop is alright, but my laptop has more screen real estate for viewing my code all at once and much more RAM to run more applications at once. It also has my most up-to-date GnuCash files, which means I can’t do my general accounting until I get my laptop running again.
[tags]game, game design, productivity, personal development, video game development, indie[/tags]