Here is a description of Balloon Cup that I found over the Internet:
In Balloon Cup, the players compete in several short balloon flights (hops) to collect the colored cubes associated with each hop. Four landscape cards, two Plains alternating with two Mountains, are laid out and 1, 2, 3 or 4 cubes in assorted colors (gray, blue, green, yellow, red) are added. From a hand of 8 Balloon cards must try to pass each landscape by adding cards matching the colored blocks onto their side of table, although winds (and cunning) may occasionally cause them to play on their opponent’s side - a move that can really ruin the opponent’s plans.
High-valued balloons are played on the Mountains and low-valued balloons on the plains. Whoever is the better balloonist takes the cubes from the card, which is then flipped over and refilled with cubes. Mountains becomes Plains and vice-versa. 5 Trophy cards of value 3 to 7 are placed at the top of the cards. When a player has collected enough cubes of a given color, he earns the Trophy card for that color. Players may even trade 3 otherwise useless cubes for 1 they can use. The first player to earn 3 trophy cards is the winner!To my understanding, a video console game should be formed by three parts: Graphics, Game System, and AI System. A successful console video game must have eye-pleasing graphics, an interesting game mechanism, and a challenging AI system. Therefore, how to develop those three parts are the biggest challenges in this project.
Because Balloon Cup is a turn based card game, the game system is very simple, which means no multi-threading needed in this game. The game starts with player's turn. The player picks a card from the hand and puts it on a board, either player's side or computer's side. Then the game will check if the board is ready to settle. If not, player's turn ends and computer will make its move with a simple animation. Then switch turn and game goes on until some one wins the game. If the board is ready to settle, a short animation will occur. The blocks on that board will fly to the winner's block bank. If either computer or player has enough blocks to exchange for a trophy, system will automatically assign the trophy to the winner of that trophy by printing the name of winner next to the trophy card. When either computer or player first gets three trophies, the game ends and the winner's name will pop-up. Here is a screen shot of the middle of a game.
A good console game must have a good AI system. If the AI is too simple, players will easily get bored, because there is no challenge. However, the AI cannot be "too hard" (if that is possible), because no one would like to always lose. In my opinion, AI system should have multiple levels that can satisfy different needs. All the AI levels should provide at least "some kind of challenges" to the players. Of course, a "normal" level AI probably won't be a challenge for an experienced player, but it can be a challenge for a new comer. Also the difference between each AI level should be noticeable, so that players can easily tell which level they are in. In this game, I have two AI levels, "normal" and "hard". The "normal" AI have basic concept of its position on each board and can make move according to its position and hand. The "hard" AI (still working on) have the concept of importance of the block, which means AI will set different priorities to different boards according to the blocks on the board. Hopefully the "hard" AI can be finished in this week.
Here is the Google Project Hosting site for this project. Anyone who is interested may download the source from the "download" page. It has an executable file "balloon2.exe" inside the "/bin/debug" folder for your quick try out.