A Programmer's Journal

Best viewed at 1024x768x24bit

* Netscape *



This is a journal that I keep while developing softwares/libraries/games. It is updated whenever I feel like it (maybe once a week).


18 Feb 1998 -- 23:00:00
Programming a bot turns out to be quite challenging, as expected. But the biggest stumbling block with SecantBot so far is to figure out how the functions work. These low level details are bogging the whole project down. I now have about 50% of the foundation done. I just want to concentrate on the AI programming as soon as possible. Over 500 hits during the weekend after I announced the first release of SecantBot. That's not bad at all. I've informed PlanetQuake about Tangential and SecantBot. I'm looking forward to being hosted by them.

13 Feb 1998 -- 22:00:00
Today is Friday The 13th. Today is also the release of Tangential v1.20, which now has the SecantBot. Quake II is a good game with a great game engine. I'm very excited about making the AI of SecantBot better until it can consistently beat me by a large margin. I hope this is not too ambitious. It will take one heck of a human player to beat me, let alone a computer one. I wish I could enter a tournament and see what happens.

04 Feb 1998 -- 19:00:00
Wow, another entry already. That's because a lot of things are happening. Version 1.10 of Tangential is done. It has a few more features added since 1.00. Check it out at Tangential Home page. The other thing is that I finally got the BMP loading function working correctly. I'll code up a little example with it. I can start writing a game after this is done. I'm thinking of calling it "Sneaker". It's based on the old QBASIC game called Nibble. (I modified it to "Nibbles" which allowed 3-player simultaneous play back in 1992!)

31 Jan 1998 -- 12:00:00
I've got the basic Quake II DLL project/workspace for VC++ 5.0 set up. I tried everyone's favorite - the grappling hook - as my first addition. It works great! I'm calling my Quake II module "Tangential". Of course, I'm not going to spend all my time programming Quake II module, although it's so much fun using John Carmack's game engine to make my own game. Meanwhile the binary I/O stream classes are finished. The next thing on my list is the YBMPBitmap class to load BMP files into memory, ready for my YDirectX library to use. The BMP loading is done manually as opposed to using Win32 API call LoadBitmap(...) or LoadImage(...).

22 Jan 1998 -- 22:30:00
YEval and YEvalC are done! The first one is an interpreter that prints the answer immediately on screen. The second one reads in an expression from a file and outputs 80x86 Assembly code to another. This is neat. I think hand-crafted interpreters and compilers will beat Lex/YACC-generated ones in speed and in size. Okay. After playing many hours of Multiplayer DeathMatch Quake II, I'm going to learn how to program a bot DLL for QII. This should be fun.

11 Jan 1998 -- 19:00:00
Too many ideas floating around these days! I'm going to put "Soulger" on hold for now. I just found an excellent tutorial on writing your own working compiler that actually outputs assembly statements! It would be easier to generate output in an intermediate format targetted at a virtual machine (similar to the whole idea of a Java Virtual Machine) and write the corresponding interpreter to "run" the compiled code. It is also more portable that way. But I'm aiming at the ability to generate standalone executable code and this is the approach. Since the development of the two methods are so similar, I'll be writing "YEval" and "YEvalC" (which compiles into 80x86 assembly code) simultaneously.

01 Jan 1998 -- 00:00:00
Happy New Year! Welcome to 1998! We'll see what will happen to computers around the world when the clock hits Jan 1st, 2000.... I've been reading some books on DirectX and I now have a pretty good idea of how to use all these API's. I've also been replaying a very enjoyable Super Famicom game called Front Mission, by G-Craft, published by Square. It has inspired me to write a similar game. I've decided to call it "Soulger". I guess I'll be spending some time on the whole design thing. Maybe I'll do a Tetris and/or Arkanoid clone first... Always start with something not too ambitious... Yeah.

09 Dec 1997 -- 22:30:00
This is the first journal entry. Why have I decided to keep a journal? Well, I thought it'd be interesting to look back at the history of developing the various softwares/libraries/games. People write diaries for similar reasons. I should have started this sooner, as I already have a reasonable code base built. The history shall remain in the Visual SourceSafe logs. I'm working on YBitmap right now. I hope to actually start writing a game soon.


You are visitor ###### since 1st Dec, 1997

* Back Arrow * Back to Tangent-'s Computer Science Page

Contact Information:
* Mailbox *
yuen@ug.cs.dal.ca
ayuen@fastlanetech.com
* ICQ *
ICQ #: 4848733

1