Astraware Solitaire - the development...
With the release of my first game getting closer I thought I'd take some time out to tell you a little about how it all happened...
When I started working here, almost a year ago now, I joined as a web programmer with aspirations to become a games developer. In between adding and fixing things on the Astraware website I began to learn C/C++ from various books and slowly started delving into the Astraware framework. One of the examples I worked through was a simple card game, so I decided to try implementing something similar within the framework to see how well I was understanding everything. It was actually easier than I expected (even if I still forget the double equals in if statements sometimes
) and I soon had something running which resembled a card game. Howard spotted my attempts and I suddenly found myself working on my first real game! 
The first task was to decide whether it was a feasible project, i.e. could we make our game better than all the others so that people would want to buy ours. I compiled a list of features we needed to include to be as good as our competitors and then added some suggestions to make ours even better. We had to make decisions on things like the number of games to include, how to make the cards feel tangible so that it plays more like a card game than a computer game, and how to make the game approachable for everyone. The user interface for the title screen went through a large number of variations until everyone was happy with the design.
One of the tasks I particularly enjoyed was choosing the solitaire games to include and working out how to create viable variations on each of them. The products which include hundreds of single player card games include a large number of simple variations on a theme, giving each a different name. Rather than presenting the user with such a list, I wanted to give a small number of games each with a number of customisation options. This allows you to play your favourite game exactly how you want to whilst providing the ability to play a large number of variations, without feeling swamped by a huge list of unfamiliar terms. Obviously there are the well known games like Klondike where you can vary the number of cards you turn over, and how many times you can deal through the stock pile but I soon realised there are only a few really well known games. I asked around the office and our beta testers for their favourite games which they would like to see included alongside those I'd already chosen and received a few suggestions. I played each game a number of times finding ways of adding options where players may want to adjust the game rules. A lot of games have known variations which I researched and included, with others I got to create my own! 
The most challenging part of the development has been getting to grips with all of the different platforms and resolutions. Although, it was fun making the game switch from portrait to landscape with the piles of cards automatically spreading out! I've also enjoyed working with the beta testers whose feedback has really helped to spot bugs across the many variations of each game. This time last year I had never written more that a few lines of C/C++ or even seen a Palm device, yet here I am with a multi-platform game soon to be released! 



