The week of XCoding was great; very freeing. It felt great to code more hours than, well, do patent applications. At the end of the week, but it didn’t take a whole week, I did get a fully functional text based Unoh working with the standard Uno cards. Then, I got ambitious and I implemented Mayhem cards (the special card from the Muppet version of Uno that enables hand swapping between players with wild card functionality). I got that working at first, later I discovered some memory bug with it, and now, after fixing that bug, it’ll only swap hands when the computer plays the card. So, let the bug hunt begin on this one!
After implementing the Mayhem card, I’ve decided that the Mayhem card is where I’m drawing the line. Every special edition version of Uno has its own specialty card that does its own special actions (e.g. care-a-lot card for the Care Bears edition (essentially, a wild card that lets a whole round of players play what ever card they want), and who knows the other specialty cards for the Family Guy, Simpsons, etc. special editions). For the Muppet special edition of Uno it was the Mayhem card. Figuring out all those special edition cards, keeping track of what they do, and implementing them into code would take a long time. If I were to keep up with all of that, I probably wouldn’t have Unoh working for over a year. Since I have other games I’d like to program, I’m drawing the line at Mayhem cards. The Mayhem card is the only special edition card, at this time, that I’m choosing to implement. Of note, the Muppet version of Uno’s directions do not specify what happens when a Mayhem card is the first card down at the beginning of a game. So, I’m treating it like a draw 4 wild card (putting back in the deck, and taking another card).
Since the week of XCoding, I’ve only been able to work on the program about 1-2 days a week now, (mostly Thursday nights – my day home early from work). But even so it’s sometimes amazing what I can get done in that time. I send out the latest builds to my closest friends/family and tell them what has changed, and any remaining issues. Even though I know not many of them play/test it for me, the detailed emails serves as a nice history in my sent email box detailing what features were implemented and when, discovered bugs, squashed bugs, etc. Maybe some day I’ll look back on the history and smile at what the program has become since then.
Oh yeah, and anyone wishing for iPhone/iPod touch version – I’ve thought about it, but I haven’t really looked into it yet. The UI I want to use requires Core Graphics and Core Animation. The iPhone SDK supposedly will have the Core Animation API, but I haven’t seen anything that says the iPhone SDK will have the Core Graphics API. So, as of now, I’m not sure if I will pursue this (yes, it would also help to have an actual iPhone/iPod touch also to test). In short, I’m doing a Mac computer version first.