Geeks With Blogs
Freestyle Coding Programming in the Real World

The time has come to begin the project. I am pleased to announce Card Roulette. All posts on the topic will include the tag "Card Roulette".

The concept is fairly simple. One day, I was watching a biography of the man that invented the theory of card counting in Black Jack. While I was impressed with the math, I always felt that it was misleading. You're not really counting card, just keeping a few simple statistics. This nagged on me for a few weeks until I came up with the concept of playing Roulette with a deck of cards. If you can count every card in the deck, you can place the exact high bet for the final card.

I have always thought this was a great idea. This is your first rule of an indie game. Come up with a single, great idea. You won't have the time or resources for War and Peace. When I was getting my philosophy degree, we had a saying that floated around the liberal arts building. If you want to have your work accepted, you can either do something old in a new way, or something new in an old way. People need some thread of familiarity to be comfortable with something. My idea borrows a few other concepts that people recognize. Furthermore, it exercises an ability that people might find a value.

I chose to host the project at CodePlex. The reason was simple. It integrated with Visual Studio. I don't get every feature of Team Foundation Server, but I get enough to manage the project. I figure anyone programming with XNA has to use Visual Studio. As such, it will be helpful to anyone that wants to follow the project. The link to the project is There is also a link to the project page in the links section of the blog.

I am licensing the project with a GPLv2 license. My original intent was to find a license that prohibited commercial uses of the code. However, that license doesn't exist. This lead me to the GPL. If you're going to steal the idea or code, you have to give it back. I fully intend to re-license everything to a completely open license when everything is finished. I just want to maintain the integrity of the idea for now.

The design document is checked-in with the source code. It's a fairly simple Word document. It wasn't meant to be complete at this point. It is a living document that will get refined as the project progresses. For example, I mention that there needs be a few levels of AI players. However, there are no details. When I get there, I can add the specifics. However, I did add enough information to list the intentions of the design. This should help limit scope creep. I can refine the features in the document, but I shouldn't add new features.

The design document lists a dozen milestones. I have created a TFS task for each milestone. As I list the specific features of the task, I can make them dependent on the Task. When I complete all the features and fix all the bugs, I can close the Task. When I close the task, I've reached the milestone. When all 12 milestones are close, the game will be released to the Xbox Live Indie Games Marketplace.

This is a major project for one guy. Keep in mind that I have a day job, (growing) family, and graduate school. As such, progress may be a little slow. Much like recursion, we are going to eat the elephant by taking a bite and then eating the rest of the elephant. Not only to I want to teach you guys how to use XNA, I want to show how a little planning and forethought can make the task manageable.

Posted on Wednesday, September 28, 2011 11:12 PM Site , .NET , C# , XNA , Xbox 360 , Card Roulette | Back to top

Comments on this post: Project Unveiling: Card Roulette

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © Chris Gardner | Powered by: