Sunday, January 30, 2005

Advancements

Last night I saw The Phantom of the Opera (the movie). It was a great movie--I highly recommend it to anybody. It really made me reflect on myself. The ironic thing is that I never saw Phantom in any form before last night, and yet I knew the story as if I had told it myself. (Well, at least the basic, underlying concepts.) In my imagination, a long time ago, I had created a character (actually several characters) that did many things similar to the Phantom--making grandiose appearances, lurking in the shadows and secret lairs, being very mysterious, threatening, and evil, etc. These character were very similar to the Phantom, except for the mask and costume and general background. The similarities lay in their actions. These characters had many different names. One of them was The Dark Man (more recent than my original villain, who I will not name here).

Well, anyway, I've got an idea for the Chess AI that might work--I'll use one file as a "map"to point out the other files--one of each possible board state. Those files contain the required information for the move (other than the board state).

Um...there's not really anything else to explain...

Just a quick anecdote: as I was leaving the theater last night, I checked to make sure I had everything. My mental checklist sounded somewhat like this: "Wallet--check, notepad and pen--check, left glove--check, right glove--check, hat--check, sanity--(well...checking for that would take much too long...maybe later...besides, if I don't have it now, I probably didn't have it when I came in, anyway)." That's right. Sanity is a sneaky little devil.

Until next time, remember: Be suspicious of all sane people; they are firmly planted in the present, never looking forward, never looking back.

---TDM

Thursday, January 27, 2005

Recession

I've done absolutely nothing for the past few days. No Chess work, no writing (well, not much). I've just been playing games and surfing the web.

I got a book on Ruby (programming language) out of the library. Maybe I'll try to learn that. It'll be better if I know many languages.

I really have nothing more to add. Maybe by the next time I post I'll have done something I can tell you about.

Until next time, remember: Doing nothing accomplishes nothing.

---TDM

Sunday, January 23, 2005

Victory is Mine!

Okay, I'm back from the prerelease. I had a great build, with an Oyobi, Iwamuri, Keiga, and Disrupting Shoal. I played green, white, and blue, and did well enough to come away with 5 prize packs of Betrayers. I lost only one match. My deck was powerful enough that getting Oyobi out was practically a victory condition in itself.

I know most of you probably don't have experience with Magic, or know the least bit about what I'm talking about, so I'll just leave it at that.

Well, no major progress on the AI problem yet. I haven't really done any work for awhile, though I did do some work on the original novels I had. I'm going to continue working on that for now.

Nothing else...

Until next time, remember: Never try. Accomplish.

---TDM

Friday, January 21, 2005

To Excesses

The main problem I'm facing right now is how to make the AI memory file work. Right now I'm using a single RandomAccessFile to hold all the data, but the data may have varying lengths (in reference to the state of the Board before the move, and games won, lost, stalemated using the move) and if I have to update a move, I might overwrite part of another and corrupt the file.

If I use Object Input and Output, the entire file will be rewritten after every game, and that may become extremely time-consuming when the AI gets experienced.

Alternately, I could do separate files: one for each player, or one for each possible state of the Board (which would be a lot of files). But then the same questions arise... Or: I make a different folder for each possible move (of each possible board state), and they contain the numerical data which I don't have to worry about (ints are always 32-bit). What should I do?

Until next time, remember: Answers exist, even to the unanswerable questions.

---TDM

Wednesday, January 19, 2005

The Solution

I think I've found the problem with the AI: somehow it thinks that its pieces don't belong to it (or they really don't!). I'm not sure why, but I believe it's because of some places that check for players specifically. Since the AI variable is different from the Players, I need to rewrite some areas to include the AI objects.

...And that's it, really. See ya later.

Until next time, remember: wrong= not right. not right=left. Therefore left=wrong? Therefore you should only make right turns onto streets you don't know.

---TDM