Game Development Community


#1
12/04/2000 (7:00 pm)
You may want to look at Zillions of Games (www.zillions-of-games.com), which could well be useful to make a prototype of your game to see how well it works. You can also write AI for it as a DLL plugin, which may be useful as a prototype to get an idea of the difficulty.

You may want to look at www.chessvariants.com for info on different chess variants.

This really didn't answer your question, but I hope you find the info useful.
#2
12/04/2000 (8:11 pm)
I would look into PHP for a web based game. Java would work too, but I have just never been too keen on Java, just takes to long to download and usually looks blah. ...waiting for the java flames to begin :)

I cannot imagine the actual AI coding will be very difficult at all. I have not searched the web but chess is a well studied problem I bet you will find a ton of research and resources out there. I read this article on Gamasutra a while back, might be a good place to start.

Pawn Captures Wyvern: How Computer Chess Can Improve Your Pathfinding

As far as time, there are a lot of variables to consider: The product design, technical specification, risk factors, your skills, etc. Start by breaking the project down into as small of pieces of possible and estimating how long you think it would take one programmer to code each task (be realistic). Divide by the number of programmers and you'll have a rough estimate of how long.

--Rick
#3
12/04/2000 (10:19 pm)
At Gamedev.net there is a series on AI for chess as well as a working java version of the final project. It is found at www.gamedev.net/reference/programming/features/chess1/
#4
12/05/2000 (7:31 am)
I went ahead and added the gamedev article as a resource. That way it can be commented on, rated and recommended by GG members.
#5
12/07/2000 (7:15 am)
sweet, thanks everyone
#6
12/17/2000 (11:42 pm)
Well PHP probabaly is the correct choice for chess, but I'm not sure what its graphical capabilities are other than html stuff. Really depends on how real time you want it.. I guess its not too hard to run some java with it concurently for chat and stuff.

Mediocre chess AI isn't terribly hard simply because its such a rediculously well studied problem... all you need is some sort of system to guestimate the value of a board, and then just have some sort of modified beam search (i.e. branch out, but limit growth by discarding moves that obviously suck, then pruning out the ones that suck a little less, etc until you pick the best one I guess). The hard part is the board value guestimation.... Typically, its a combination of a couple of things, but for the most part would resemble some sort of expert system with a large knowledge base for openings and a good board value measurer.

Good chess AI is really hard because to fine tune it you may need a chess expert to fine tune it... Of course THEORETICALLY if you were a hotshot AI coder you could make an algorithm for it to truly teach itself, such as with a genetic algorithm, etc... but its tricky.
#7
02/15/2001 (3:12 pm)
About Java: I like Java. I don't really know too much about other web languages.

About AI: You can use Alpha-Beta search for 1 player vs. the computer. You'll need a heuristic to do this. You can just add up the point values of the pieces (and subtract the point values of the enemy's pieces). This is a crappy heuristic for chess, but it's a good starting point.

For more than 2 players where at least one of them is the computer, you can modify Alpha-Beta search to have something like Alpha1, Alpha2, Alpha3, ..., Alpha6 (or whatever). However, it is unlikely that this will run fast enough.

You can probably find information on Alpha-Beta search with any good search engine.

- Steve Fletcher