Computer Chess Club Archives


Search

Terms

Messages

Subject: A chess engine in JavaScript (+source) and a fun story.

Author: Eric Oldre

Date: 18:44:25 12/09/04

Go up one level in this thread



Let me take you back to 1999. As a senior business major at
Gustavus Adolphus College, our protagonist has an interest in
playing chess.

He had only basic computer programming skills, he knew HTML from
making his personal homepage and a little bit of JavaScript. He gets
the idea that it would be neat to make a webpage that he could use as
a chess board. He begins one Sunday night in April.

First he just makes a table which allows him to move pieces around on it.
First by clicking on the piece you want to move, then on the square you
want to move it to. He has a working chess board.

Sometime during class the next day he decides that he should make the
board so it will only accept legal moves. That night he writes a move generator
and then adds a feature that if you press a button on the page, it will randomly
choose a move against you. The finished product manages to entertain him for
about half an hour. This game is going to have to make somewhat logical moves he
decides.

Over the course of the next few days he becomes obsessed with improving the
program. Some reading online taught him the concept of a mini-max function. He
starts skipping class to work on his program. Each day that week he wakes up in
the morning and goes to the computer lab in his dorm, works non-stop though the
day taking a break to grab a small bite to eat only. Each night he tries to go
to bed at around 1-2 AM. He usually wakes up with a new idea in his head that he
needs to try, and it certainly can't wait until morning. He returns to the lab
to work for a few more hours.

His roommates and girlfriend plead with him to start going to class again but he
can think of nothing else but the chess game. They tell him that if he doesn't
return to class soon his grades will tumble and he'll have trouble finding a job
when he graduates in a few months. He doesn't care, the program must be
finished.

A friend of his helps him come up with better graphics to use for his pieces and
his board. Replacing the simple letters (PKQNRB) that he created in MS paint.

The following Tuesday he declares his work finished. It was a week and 2 days of
non-stop work on the chess game, which he decides to name "JChess".

A few months later he graduates and decides that instead of utilizing his
business degree, he wants to become a programmer. Finding a job is difficult
with no degree and no real experience in programming to speak of. At the bottom
of his resume is a link to a chess game he created. Interview after interview
passes without an offer. He spends his days studying trying to learn the skills
he knows he'll need in the "real world".

One day he gets a call on his phone. It's the hiring manager of a company he had
an interview with 2 days before. Certainly nice of him to call me and give me
the "thanks but no thanks" talk he thinks. After all he could tell the guy was
less than inspired by his qualifications during the interview. The deeply in
need of money graduate is stunned to find he is being offered a job! A senior
programmer at the company had followed the link to the chess game at the bottom
of the resume and decided that if he could write “JChess” with no training, he
had enough potential to be worth the gamble. The game which his friends had
warned him could cost him his future had actually turned out to be the primary
reason he found a job!

THE END

I've now decided that I should put up that page so that you can take a peek if
you like:

http://www.oldre.com/jchess/

Now remember, this thread is about the "Most Grotesque Chess Engine Ever
Written" so don't expect too much skill from the computer (or good code). The
fun part is since it's written in JavaScript you can view the source.

I hope that some of you might get a kick out of it.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.