|
Programmable Games
-
I am a high school teacher, and every year, I have my second year computer science students do a project for their final exam. Typically I encourage my students to model computer versions of boardgames as many boardgames lend themselves very well to electronic versions.
I would prefer advice from actual programmers out there, but I suppose anyone's opinion is valid. The question is, what games would make good projects for novice computer programmers to cut their teeth on. The ideal game should have the following qualifications:
1. Be simple to understand (Star Fleet Battles fails here but excels at the rest) 2. Be playable solitaire, with a very simple AI, or "hot seat" which means hidden information for an individual player is probably not a good idea. (Battleship would be a good example of what works. Acquire probably would be a bad idea since it requires that the other player not know what tiles you have...) 4. Has clear and identifiable "segments" of game play that can be used as milestones to completion. (IE: Cathedral is a good example of this, the first milestone is being able to place a piece on a board, then being able to rotate the piece, then being able to prevent a piece being layered over another piece) 5. Should have some decisions. (Chutes and Ladders is a terrible game since it plays you, not vice versa) 6. Does not contain concepts that may be difficult to do mathematically (such as tile hexes).
The students write their programs in Java. They have access to some graphics programming. More advanced students do create network playable games.
-

-
An outstanding example of a perfect game to implement.
It has identifiable segments and the fact that it is in a 10x10 grid makes it a well suited game for testing quite a few computer programming concepts.
-
-
2.
Board Game: Acquire
[Average Rating:7.41 Overall Rank:105]

-
While this game violates the "hidden information" guideline, its grid play field and simple components make this game very well suited for this task.
-
-

-
This one was implemented by a student last year who immensely enjoyed the project. He implemented it as a one player game against three easy AIs. He intended to add network capability but time didn't permit him to complete that portion of the game.
-
-
4.
Board Game: Bazaar
[Average Rating:6.49 Overall Rank:1100]

-
Another game done last year. The group that did this game never completed their project, but they were very interested in seeing it done. They got as far as the main display which looks like the game insert here, and they had a rolling die. A shame it wasn't finished, I would have liked to have seen it myself.
-
-

-
I might like to do this one myself.
-
-

Isabel D.
Canada Montréal Québec
-
A version of RoboRally would be interesting. A good AI should be a reasonable challenge, but a simple one wouldn't be very difficult; graphics should be very manageable. Plus, they would probably appreciate the theme!
-
-

Chris Kice
United States Shorewood Illinois
-
RAMbots is a light version of RoboRally. Players program their bots and then they all move.
Unlike RoboRally, you don't have to worry about things like conveyor belts or gears - just the bots themselves.
-
-

!
United States Brooklyn New York
-
Perfect for hotseat play, since no hidden information.
-
-
9.
Board Game: Hive
[Average Rating:7.37 Overall Rank:115]

Matthew Marquand
United States Columbus Ohio
-
No hidden info. Easy to learn rules. Small number of pieces. The AI would be tough but hot seat play would be appropriate I'd think.
-
-

Poochie D
Canada Winnipeg Manitoba
-
We had to program Connect Four in my first-year computer science university course. In Pascal, using assembly language to draw the board on the screen. Since there are only at most seven possible moves during a turn, the decision tree doesn't get too big.
-
-
11.
Board Game: BRIDG-IT
[Average Rating:5.13 Unranked]

Stephen Roney
United States Ladera Ranch California
-
This one is solved, but for a programming project, that actually makes the AI easier and not inappropriate for this level, I think. You could always have them put in difficulty levels that determine how perfectly they play.
Connections ( http://www.boardgamegeek.com/game/3370 ) has an additional way to win which may make it a better choice, though.
-
-

Richard Irving
United States Salinas California
-
Programming this game would be bringing this game back to it's original roots--the original form of this game was done as a computer program of the Atari ST: Laser Chess ( www.laserchess.org)
-
-

John Farrell
Australia Aspley Queensland
Averagely Inadequate
Buster Keaton from 'Go West'
-
This one is easy to represent on the screen, and has an interesting search problem. The AI could withhold its bid for a certain time depending on the difficulty of the solution.
-
-

Kent Reuber
United States San Mateo California
-
Atlanteon is one of the simplest games I could imagine on computer. There are only 25 squares and there are a limited number of pieces. There is perfect knowledge, so a computer implementation should be very straightforward.
-
-

Chris Kice
United States Shorewood Illinois
-
This might be a good choice:
- The mechanics are all dice rolling with an optional scoring track. While the dice have symbols, you can easily represent them with numbers.
- There is no hidden data, so you can easily hot seat.
- There is decision making (basically whether to continue rolling or play it safe), but nothing that would make AI hard to program for solo play.
- There are a bunch of conditional rules (especially those that force you to keep rolling, if you scored on all 5 dice for instance) that would be interesting to program.
GameTableOnline.com has a version of this available online, but the presentation doesn't need to be nearly as slick as theirs to be functional and fun.
-
-

Jeremy VanSchalkwyk
United States Raynham Massachusetts
-
This was a game we did in my freshman-year ComSci class. We didn't have to make any AI for it (2-player only), but I don't think an AI would be too difficult (depending on how "smart" you want it, of course)
-
-

Alan Kaiser
United States Aurora Colorado
-
This one might work. It should be fairly easy to get an AI to work one of the tanks. This is essentially a simple version of Roborally. You have tanks that you preprogram with cards that indicate movement and firing. The idea is to be the last tank alive.
-
-

Charles Hasegawa
United States Mesa Arizona
-
This one should work reasonbly well as a project.
-
-

Charles Hasegawa
United States Mesa Arizona
-
We did this one in college as an assignment in my senior OO class. Though the game basically plays itself, coding of the game is a good exercise in object oriented concepts.
-
-

Ed Holzman
United States Seffner Florida
-
I will recommend a game that I actually wrote a program to play (coded it in QBasic on an old IBM XT machine many moons ago). B-17 is a solitaire games that consists of random number generation and chart lookups, both very simple concepts to program.
-
-

Ed James
England Portsmouth Hampshire
-
StreetSoccer is perfect for this list. Simple game mechanics, definite *cough* goals, and good potential for AI.
StreetSoccer's theme of five-a-side football will also help the students understand the rules, as football is a ubiquitous game.
The rules can also be obtained easily and amount to just one side of A4 paper.
It might also help that StreetSoccer is acutally a very good game which, despite initial impressions, requires good tactics (player positioning) to be successful.
-
-

Paul Reinerfelt
Sweden Hörby
-
Brances and Twigs and Thorns is deterministic and has perfect information. Works with standard alpha-beta-search. (Might even be solvable if you let a computer pre-crunch the decision-tree for a while)
-
-

Paul Reinerfelt
Sweden Hörby
-
Homeworlds is another Icehouse-game that is easily played by an AI. Just set the alignments before (the only random element). Technically we're dealing with a 'incomplete information' game, since we don't know the other players' goals (determined by their alignment). In reality this should not matter much though.
-
-

Paul Reinerfelt
Sweden Hörby
-
Still another Icehouse-game with perfect information and deterministic play. The gameboard is easy to represent compactly and the legal moves can be generated from tables making the AI's search really fast.
-
-
|
|
Ladera Ranch
California
Funny you should mention Star Fleet Battles. about six years ago, I was on a team of about five programmers plus some artists and designers who essentially wrote Star Fleet Battles as a computer game (but with real time graphics). It was called Star Trek: Starfleet Command.
So yes, I think it is beyond a single high school programmer.
Lawrence
Kansas
2. Be playable solitaire....
4. Has clear and identifiable "segments" of game play....
5. Should have some decisions....
6. Does not contain concepts that may be difficult to do mathematically....
So, what' criteria #3? Profit?
Salinas
California
Even then, if you want to make it look better, the math is not that difficult either.
London
England
It's worth looking at some of the Zillions of Games implementations for some examples; while the code won''t help you, the ideas behind the implementations should. You'll also find some great games to programme there.
Unspecified
Unspecified