QuakeBot C/S Development News


[12/27] My cohort, John Simmerman is now on the project. He will start cleaning up my flaky code and working on the AI. I kinda got behind in some of my stuff and he has a little bit more free time. We are going to hold off on a release until things are right, so give us a little time.

[12/5] Whew! I just finished the semester. Work should begin again in earnest after I decompress for about a week. During the last month, I received several hundred various notes. I couldn't reply to them all. If you didn't get a reply from your email, send it again. Don't take it personally. I was buried under my classes.

On a different note, you should notice the new webpage. I am reconstructing it to convey the new attack on the project. I also thought the old one was sorta lame. Let me know if you like it (or not). Additionally, I am going to start to track versions of the Bot more accurately. Previously, I made changes without modifying the version number. This must end! I will be more meticulous about my releases. V0.8 should be out soon. It is mainly a stable release to include massive functional/structural corrections until I get the big stuff working.

Finally, I am starting a FAQ about QuakeBots. Both QuakeC and Clients are covered. This is to try to reduce the number of simple questions that I am receiving. I still answer technical questions so if it is not on the FAQ, ask away.

[10/30] Yes, I am still alive. Found some bugs in the server code that screwed up the update of entity positions. No code release because I am in the middle of a major upgrade; developing a navigation object that should allow simple movement through the level. Currently, it works about 40% of the time. For the rest, it looks like I am going to have to add a BSP reader. I may make a partial release before I start on that task. Look for something within a week.

Vote Perot. He's a cool little Feringi.....

[10/17] OW. Huge bug/typo. My level change killed everything else. Fixed now. Handshake is little smarter. Just a maintenance release for now. Too busy for major mod's.

[10/14] Big release. The runtime console is now functional. It ain't great, but at least it allows you check some stats. Of particular interest is the say command which allows you to respond to the inevitable "QuakeBot?" messages that appear when you start up. Full listing of commands is included in the .zip.

Damage origins are now calculated and the result is placed in the Player[BotID]->Attacker variable. I don't like this because it hangs out forever, even after the attacker is killed. It will probably change.

Entities are processed and tracked. The player entity information has been separated from the player object and replaced with a pointer. It's a little cumbersome until I get everything cleaned up.

I moved the targeting loop in the AI to the server object under the name ServerObj::NearestPlayerByVector(). This will be beginning of a series of commands based on calculating vectors to destinations. When the Nav object exists, there will be a complementary series based on paths.

You've been waiting anxiously for it, now it's here. LEVEL CHANGE!!!! I think. :) It isn't tested fully, but the levels that made it crash before are now OK. My solution is the best that can be done given the state of the packet object. It needs to be revamped for full duplex communications. Let me know if it pukes

[10/10] So maybe there is a little bug. Customized servers ran into trouble. MOTD, skins and other verbose type of patches would bomb out on game init. Found a new death frame (0). Appears if you telefrag or seriously gib someone. Bot would shoot the dead person. (DIE, DIE, DIE) Really, really would like some documentation on this. Trial and error reeks. Beware: Bot still doesn't deal with teamplay.

[10/6] Ok, I think we are into beta now. This version can detect an opponent's death, use multiple weapons and send broadcast commands. Read the included file on the limitations. People that want to just run the bot may find it a little verbose. Some statements are there so I can monitor weapon changes and the like. It doesn't flood the screen but there is a little more info that the average user would want. I have couple of people working on some AI components, so this should benefit them.

This release is very stable. I ran it several hours on a couple of servers without event. It even dominated on one. Four newbies got slaughtered. I love newbies >:)

[9/29] Decided to hang with the console version a little longer. Modified the socket object to receive asynchronously. Corrected a nasty bug that dropped reliable packets during runtime. Bot now receives and transmits say messages. Bot now uses the Set View command to determine its entity (Much BETTER). Need to determine other player's death and then will release into beta.

New version of the C/S Specs is online. Added several new sections including data interpretation. I fleshed out navigation specs a little further. Several people have expressed interest in writing a level traversal algorithm. This is the format that it needs to follow to be compatible. Let me know you have additional ideas.

[9/14] Get the latest version of the bot here. It is in a piggy state, but it will probably be the last console version. I need to move to asynchronous I/O and multi-threading and they are nasty without an event driven application framework. The next version should be MS Foundation Class based for this reason and others.

[9/13] I am looking for new person to add to our team. Requirements: You must be skilled in the art of BSP decoding!!!! We want a level traversal algorithm. Nothing fancy on the first rev, just point A to point B. Lifts, transporters and chasms come later. You will get the current version of source and any modifications necessary to make your life easier.

[9/8] THE SERVER FALLS!!!! All I/O between the server and client is now deciphered. I can't say it was all me. The DEM specs are right, so far. They are just a bitch to follow. The C++ code is written to parse the entire data stream. Don't ask for it yet, you really don't want to see it. It's ugly. The specifications are now updated with accurate information.

[9/2] The first C++ revision, QuakeBot C/S, V.0001 is out. You can get it here. Don't expect much, but it is something to play with. I am releasing more to get feedback than anything else.

Also, the server proxy theory has now been validated. It is possible to have a Quake client display output from your bot's point of view. The only problem is that Quake controls the view angle so you never rotate unless you do it manually. I don't know if there is a way around this, but I will keep plugging.

[8/30] The port to C++ begins. Yes, I know we should have started in C++, but I didn't have a compiler. Now I do! The source will be using Winsock calls for greater compatibility with other platforms. Expect source to begin trickling out with the next several weeks.

[8/29] The Quake Server Proxy is operational. This allows us to change the sources and destinations for packets and basically reroute them. More info in included in the Unofficial Quake Client/Server Specifications. Next step is to integrate the bot client through the proxy and form a full duplex bot client.

[8/18] IT LIVES!!!!. On August 16, 1996 at about 1:15 am, the universe's first (that we are aware of) Client/Server QuakeBot was released on the majestic server. It ran around doing some interesting acrobatics and shooting randomly. I know, big thrill, eh? Well, it is one small step. We know how to control the little bugger. Now to determine what is going on with the server and to give it a little purpose.


 

Return to The QuakeBot Page