Home
Current Project
Projects
Links
Downloads
Contact Me

Site News (sort of) July 17, 2003:
----------------------------------------

I am doing a little bit of work on the site, fiddling with the colour scheme, etc, to see if I can make it look a little more snazzy. Right now, the main page is my guinea pig, so it doesn't look like any of the others. (Go ahead, see how unprofessional it looks when you click on a link and the whole format changes)

Site News March 10, 2003:
----------------------------------------

I've made quite a bit of progress on the gravity program (recently dubbed "Kepler") and there is now a lot more info, a new screenie, and a (hopefully) downloadable demo program, on the Current Project page. Briefly, the changes include a new scrollable and zoomable coordinate system with toggleable axes and grid lines (note the gratuitous use of -able).

The addition of all these lines gives the program a new high-tech look, reminiscent of something like 3DS max. Furthermore, the recent encapsulation of all coordinate-related things into a single class means that if I wanted to make a 3D version of this program, it wouldn't be a huge jump, and might serve as a nice segue into the world of 3D, a world which I have not yet dared enter.

But that's for the future. In the meantime, there are still plenty of things I can do, and plan to do, with Kepler). I'm excited, and you should be too, dammit!

Right...so, I'm gonna...go now.
Bye.

Site News March 5, 2003:
----------------------------------------

I've had a new project on the go for a couple of weeks now. It simulates the gravitational attractions between objects in space using Kepler's laws. I've been fine-tuning the engine for a while now, and I think I'm just about ready to work on a GUI, so that this program will actually make a useful executable. (Right now, I just change certain parameters in the code and recompile every time.) This is a fun little project, and it's quite rewarding, because I can make pretty pictures with it, and not have to do tons of work to see interesting changes.

This is the first windowed program I've written that uses DirectX. My first two games ran in full-screen mode with the CDX DirectX wrapper, and the next two used straight Windows graphics. Well, I'm back with the CDX wrapper for this one, but it runs in windowed mode...which actually adds no challenges that I have seen so far.

Read about it on the Current Projects page.

Site News December 1, 2002:
----------------------------------------

Well, I'm still plugging along with the AI code. I know that when it looks one move deep, it's finding the best move, and I think it works when I look deeper, but I don't have much way of telling, unless I work out all the calculations the computer does myself on paper, and that would be very time-consuming. The only way I'll know if it's working properly is when it is able to beat me consistently, because I consider myself an okay player. Unfortunately, if I try to make it look ahead any more than five moves, it takes a long time, so I may have to work on the way it does that, perhaps allowing it to build a more permanent tree of moves, instead of crating a new one every time.

But there is a reason I come to you. I've changed the window stuff a little bit; now the window is not resizeable, and when it is created, it's created to the specifications of the machine it runs on (ie title bar height and stuff) so it will always look right. So I've uploaded a new version with those fixes, and there is AI code in there, but it's not activated. Hopefully I'll be back to you soon with a nice computer player. Until then, play against yourself. It can be surprisingly fun.

Site News November 20, 2002:
----------------------------------------

I've been working on the Reversi code for the past few days, and I am proud to say that the Artificial Intelligence is *partially* implemented. After I made the code more object-oriented, I began work on the function that has haunted me for the past three days and continues to haunt me: Move* Player::findBestMove(...)

This function, in a nutshell, finds all the possible moves that a player can make, and puts them in a list and evaluates them based on the possible moves that the opponent could make after each move. The opponent will naturally choose the best 2nd move for each of these 1st moves, so the initial function call chooses the 1st move for which the opponent's best 2nd move is the worst (for the opponent). Got it? The recursive nature of this function (note the "choose the BEST 2nd move" which would lead to a "choose the best 3rd move, etc) makes it kind of a bitch to debug, and that's what I've been up to for the last few days. The "goodness" of each move ended up being the same, so the function just chose the first one in the list. Not good.

Now, thanks to some subtle changes in the code, including lack of reliance on an apparently faulty copy constructor, the function does return the correct best move when it looks one move deep, which means it will do the move that will get it the most stones immediately, but doesn't look long-term. But when I try to make it look further ahead, it just returns the first possible move again. Having thought I had this thing nailed, this discovery had me even more confused than before, and this is what I shall wrestle with now. This is tricky, but when it works, it should be great.

No updated download is available yet. That's all for now.

Site News November 15, 2002:
----------------------------------------

I have fixed the bug in Reversi and uploaded a newer version. If you want a technical explanation, the program no longer tries to look at out of bounds indices in the board matrix, so it never bases decisions on whether to make moves or not, on information found in memory that it didn't allocate.

So Reversi should be 100%. I do, however, have plans to add more. I've been toying with the idea of adding AI to the game so you can play against the computer, or even watch the computer play against itself, and I'm pretty sure that I've got the theory all figured out, and I'm working on a plan to actually implement it. In order to simplify things, I'll have to make everything object-oriented, and as it stands, nothing is. I'll try to get some more information on the as-yet-a-virgin Current Project page. I'm really excited about this, because to date, the only "AI" I've ever written was for ReidPong2K, and that was the dumbest AI you'll ever see. This, I'm expecting, will be good.

Time to get back to the drawing board.

Site News November 14, 2002:
----------------------------------------

I am here with updates, and, as promised, my next game IS a small Win32 API program. I have just completed a clone (yes, don't we love 'em) of the strategy game Reversi, also known as Othello. I used a lot of the structure from the Shuzzle code, so this went fairly quickly. I think I started coding on...the 11th, and I've been working at it pretty religiously since then. Now it's done, except for a known bug, which is documented in the Readme. Nonetheless, Try it out. There are some cool graphics, thanks to a friend, and some cool mouseovers, thanks to me.

Also, I have uploaded an updated version of Shuzzle, with a bug fix, which is documented in the Readme, and another minor (and probably undetectable) change here and there.

In other news, our robotics team placed second again last year, and I am now a student at Harvey Mudd College. ...and I am a master of brevity.

With any luck, I'll be back soon with a bug fix for Reversi. Till then, peace outside.

Site News November 4, 2001:
----------------------------------------

Obviously it's been a while since I last updated the page. In fact, this website could have given birth to a child in the time that I've neglected it.

The reason that I haven't updated the page is simply that I haven't made anything new to put on it. I have some ideas for a Minesweeper cover (ok, "remake," but it's called a cover in the music business.) It's nothing special; it's would just be something to exercise my skills. I also have some notes that are several months old, for a more complex game, one in which you fly around in a spaceship and shoot things! I know everyone could use more of that kind of game! But seriously, I think I have a good idea for it; it just needs some more development.

So just what have I been up to during my website's gestation period? Well, last year, I was involved in a robotics project for which I did some code-monkeying, (in a completely ASS language called PBASIC.) I'm doing it again this year, but I get to use a chip that understands C code. The project as a whole is going well so far. Check it out here!

If and when the games described above get underway, I'll post whatever I can on them, in the Current Project page, which has never been used to date. But this is all I got for you now. Over and out.

Site News February 15, 2001:
----------------------------------------

I've updated the links page with the CDX homepage (which I just found recently) and a site where you can buy computer books online. Go look. Now. :)

Site News February 13, 2001:
----------------------------------------

I have now added the Links page. I didn't have time to add all the links I wanted, but it's got a couple to start it off. One thing I want to find is the new CDX homepage. It used to be www.cdx.sk, but that site doesn't look like it has a trace of programming material on it anymore. More links to come!

I've also added an info page for Shuzzle. This gives a little more info than the brief on the Projects page, and is available through the Projects page, under the Shuzzle heading.

Things to look for soon: more links, a downloads page, a title for every page (like the one at the top, but smaller)

Site News February 12, 2001:
----------------------------------------

This site makes its debut today! I replaced the old format, and this one will allow for more expansion-on-the-fly than the old one. This way, if I ever finish a project in three days, like I just did, I will be able to quickly post news about it without interfering with the other content. That project, by the way, is on the Projects page. Shuzzle is the name.


Home
Current Project
Projects
Links
Downloads
Contact Me