Rho-Bot SourceForge Logo by Eric Bieschke  
News Archives Download SourceCode FAQ Credits Links
  20th August 2001

Rho-Bot News - Scott

Since the new version has come out, there have been over 1,000 downloads of the Rho-Bot executable and over 400 of the source.

To help in the development of the Rho-Bot, you can use the Rho-Bot Open Discussion forum or the Help forum to suggest changes, bugs, or problems with the Rho-Bot. I would especially like to hear from those who have downloaded the source.

On another note, I would like to thank the person who uploaded the new version of Rho-Bot to fileplanet.



  15th August 2001

Rho-Bot on SourceForge - Scott

The latest executable and source code for the Rho-Bot are on SourceForge. You can get them here. This version contains all of the improvements shown below, plus a few other items.



  6th August 2001

Rho-Bot to be on SourceForge - Scott

You may notice that there is a new logo at the top of the page. I am *finally* in the process of putting the Rho-Bot on SourceForge. This should allow for faster updates to the Rho-Bot executables and better access to the source. There should be some files on SourceForge for you to peruse in a couple of days. I will post a message when that happens.



  16th July 2001

Rho-Bot Improvements - Scott

Well, the last few weeks have been busy. I have added some new code, received some new features from one programmer, and I am waiting on some others to deliver more new features as well. Maybe, bot chat will finally work!

Starbreaker has added different blood colors to the bot. Also, he has changed the values in the rhobot.cfg file to cvars. This allows users and server admins to easily adjust the play of the bots without stopping the game. More details will be released with the next version (soon, I promise).

I made some modifications to allow the user to adjust the bot speed, and have improved bot loading. Now, Rho-Bot will alway leave a slot open for another person to join the game.

In addition, I have completed some minor fixes to the code, which are:

  • Fixed bot autoadjust difficulty feature. Bug in the logic of the previous version.
  • Fixed rate at which bots are added to the level. First bot is added 10 seconds into a level, and additional bots are added at one per second.
  • Fixed bot desire to pick-up items. A programming error could make bot desire items that are further away than nearer items.

    I was working on some code to avoid mines. Some of it is promising, but the bots about 50% of the time walk through mines. When and if I get this feature to work, I'll include it in the released version.



      2nd June 2001

    Rho-Bot Status - Scott

    Sorry for not updating things for a while. The real world has kept me from working on the site. Also, there were some problems with the rhobot e-mail account, but those have been fixed. If you sent some mail to me in the last couple of weeks, I will answer it soon. You may want to re-send your e-mail if I do not answer soon.

    Anyhow, I have been slowly adding features, and have had some other people working on the code, so I hope to have a new update sometime soon. I appreciate the great e-mails that I have received in support of Rho-Bot. I would like to share some excerpts from one dedicated fan:

    "We usually play with 3 to 4 humans and 4 to 8 more rho-bots. Though when we have friends over we can have 10 humans and 10 rhobots sometimes. We tend to cooperate and camp and lay traps... They catch on FAST... except ode-to-logo he's dumb as a post (LOL). Sometimes I think they all have different personalities.

    ...RHO-Bot is the only way I play halflife :) ...we tend to hook up when we get together and have been known to commandeer the lobby of the comfort inn to plug in enough hubs to a few people together in our off time to blast our cares and stresses away :)

    I'm avid about the mod but not rabid - it's just the best one for playability and versatility there is - I really don't want to see it die.

    My wife used to think it was crazy that we always played this game when she called me at the hotel and I would be in another room playing with friends. Now she's hooked too! And she's gotten good! I like it when the robots cooperate - last night they laid some nasty traps for us.. we'd hide in the pool room under the waterfall and take up positions one with the crossbow, one with the bazooka (sitting on the ammo) and another on the far ledge over the health sitting on the rifile grenades and shoot the fish as the fell over the waterfall into the barrel. after awhile they stopped comming through and killing each other. when we went to find them the slaughtered us wholesale (crouched behind doorways with crowbars and throwing roaches once it was hard to exit)

    on another level we play defend the fort against them. they began to act coorperatively to get into the room we had secured. I felt like a desert storm commander baking orders to mine this and cover that and kill the yellow bastard who just lobbed roaches at me!"

    I hope that the other dedicated fans of Rho-Bot are having similiar experiences! However, this user has done a great job in training the Rho-Bots, since he uses a large number of people as well as bots. The additional people help the Rho-Bots learn to navigate the different maps. In the next release of the Rho-Bot, I will include some of the nav files from this user.



      18th March 2001

    More Rho-Bot Progress - Scott

    Here are the new changes:

  • Allow server to add/remove bots by using of cvar "bot". Similiar to Botman's Bot10. From the dedicated server, type "bot addbot" to add a bot, "bot removebot " to remove a specific bot, and "bot removebots" to remove all bots. If you are playing, you can do the same functions from the console by typing "addbot", "removebot ", or "removebots"
  • Prevent crash when removing/kicking bots.
  • Fixed random temporary "freezing" of bots.

    I now have a few beta testers, but would like some more. And if you want to add features to the Rho-Bot, let me know and I'll send you the current source to tweak. I only ask that you send any mods back to me. Thanks!

    Finally, Eric's messages are not gone, they are in the archives section.



      14th March 2001

    Rho-Bot Progress - Scott

    I've been working on some changes, and received a fix from Vacindak. Here are some of the changes:

  • Updated to Half-Life SDK 2.1
  • Dedicated Server capabilities.
  • Memory leak fix (Vacindak). Thanks! The Rho-Bot now does not crash even after 8+ hours!
  • Fixed infinite-loop problem with more than 16 random bots being added to the server. I've been running 32 bots w/out any problem.
  • The same bots in the botcycle.txt are always added first before random bots when the level changes. Before, they would only be loaded at the beginning of the first level.

    As I add more features to the bot, I will need some beta testers. If you are interested, please let me know! Also, now is the time to send requests for enhancements or bug fixes.



      12th March 2001

    Multi-Bot Launcher (MBL) - Scott

    I just received a message from the maker of MBL that the Rho-Bot is supported in MBL version 9.5. You can get more info on the MBL here.



      6th March 2001

    Rho-Bot is Back! - Scott

    The Rho-Bot is back! Eric has been gracious enough to allow me to maintain Rho-Bot. I will continue to maintain Rho-Bot as long as there is interest. Thank you for your support.



    Rho-Bot patch for Half-Life Version 1.1.0.4 - Scott

    I have updated Rho-Bot to work with HL 1.1.0.4. This is a just a port of the Rho-Bot using the old HL SDK to the new version. If you have previously installed Rho-Bot, you can get the 1.1.0.4 patch here. The patch is a self-extracting zip file and will update the necessary files. Just set the install path to C:\Sierra\Half-Life (or wherever you have installed HL). If you have not installed Rho-Bot before, download the old version, install it, and then install the patch. If there are any questions or problems, you can e-mail me. Please note that the SourceCode has not been updated yet; I'll get it out there as soon as I can.



    New features for Rho-Bot - Scott

    If you would like to see a new feature included in the Rho-Bot, please send me an e-mail and I'll see what I can do. Finally, if anyone has been adding features to the Rho-Bot that they would like to have put in a future release, please send me a e-mail describing the change and the modified source code.



      9th September 2000

    From the Grave - Eric

    Back from the grave and fixed the 'Download' and 'SourceCode' links from Rho's site. I'm vaguely aware that Rho-Bot doesn't work with the newest Half-Life patch (although this is unconfirmed I haven't tried it). Basic recap as to why Rho-Bot's development has fallen off the face of the planet: I got a job. =P



      25th March 2000

    Dramatic Increase in the Quantity of Rho-Mail - Eric

    The amount of email I've been receiving concerning Rho-Bot and its SourceCode has tripled over the past week or so. I'm not sure why, but it's definitely a GoodThing. Someone offhandedly mentioned that Rho-Bot was featured in a magazine? If you've seen Rho-Bot in a magazine please send me an email letting me know what magazine and in what month Rho-Bot was featured, I'd love to check it out. =]



    Multi-Bot Launcher - Eric

    I received an email about the Multi-Bot Launcher, another utility program that eases the administration of Rho-Bot, Phineas Bot, and Jumbot. If you enjoy frontends, you prolly want to check this one out.



      29th February 2000

    New Rho-Bot Management Utility - Eric

    The creator of Bot Leader, a helpful utility program for using Rho-Bot dropped me a line about his program. Check it out.



      30th January 2000

    Rho-Bot v1.0 Source Code Released - Eric

    Real life is quickly closing in on me. I'm not sure when I'm going to be able to devote full-time hours to Rho-Bot in the near future. So rather than plod slowly along on my ever-expanding plans for Rho-Bot, I've instead decided to release its source code in full. Anyone who'd like to tinker with Rho-Bot, add it to their mod, or use it as brainfood is more than welcome. Let me know what you're doing with it, I'd love to hear from you.



      24th January 2000

    GamersHomePage.com Unveiled - Eric

    My previously "hush-hush" project has been unveiled. GamersHomePage. I personally feel it's damn useful, and recommend that you check it out if you consider yourself a gaming junkie (like me). =P



      19th December 1999

    Update From the Rho-Castle - Eric

    I've been hired to write perl and cgi scripts for an exciting new game-centric website. I'm really looking forward to this new venture, and will post more details once I'm allowed to disclose them. =]



    If You're Having Problems with Rho-Bot Crashing... - Eric

    You are most likely running under D3D. Switch Half-Life's video mode to either OpenGL or software, and this problem will go away. I'll be posting a D3D patch once I can synthesize the time.



      14th December 1999

    Rho-Bot Final v1.0 Released (Build 149) - Eric

    I'm quite pleased to announce that Rho-Bot Final v1.0 is now complete and available for download. Rho-Bot is a fully customizable bot for Half-Life. Rho-Bot boasts such features as experiential learning, human mimicry, fuzzy-logic tactics, and runs fast even on older machines.



    Thank You - Eric

    I'd like to thank the 2812 Beta testers for their hard work, along with Benjamin Matasar, Brian Wilson, botman, Craig W. Reynolds, William van der Sterren, Coffee, and Rich Whitehouse for their exemplary contributions in shaping the development of Rho-Bot. Thank you.



      10th December 1999

    Development Status: Build 133 - Eric

    Further improvements are coming along nicely. I just need to wrap up some file i/o, and once that's done I'll have the first final candidate ready for exhaustive testing.



      7th December 1999

    Development Status: Build 127 - Eric

    The Rho-Bot's new navigation system is now complete. The Rho-Bot appears to learn quite rapidly, and while I'll be doing a little bit of refinement here and there, the bulk of the work has been done.



    Beta Two Appears Solid - Eric

    The feedback I've received over Beta Two indicates that it is quite stable. I'll cross my fingers that this pattern remains consistent, because this means my time will be allocated to improvement and additions rather than upkeep (GoodThing).



      6th December 1999

    Development Status: Build 125 - Eric

    I bear the proverbial good and bad news. The Good: I successfully completed Rho-Bot's automatic waypoint generation system. The Bad: I've decided that I don't want the Rho-Bot using waypoints. What does this mean? This means I've come up with an even better method for the Rho-Bot to navigate on any map. How? I'm going to have the Rho-Bot learn from the humans' it plays against. I'm infatuated with this solution for two reasons: (1) Rho-Bot will become increasingly realistic and versatile with experience (read learning), and (2) Rho-Bot will mimic the behavior of humans verbatim. Does this set the Final v1.0 release date back? Nope, I'll still have it finished before I complete the semester.



    Private Beta Two Complete (Build 125) - Eric

    I've contacted the Beta Two team via email. The purpose of Beta Two is to ensure I've squashed all of the bugs from Beta One. If you're curious, I invited anyone who sent me feedback over Beta One to join Beta Two. I've chosen not to make Beta Two a public release because (A)I have a personal distaste for software that is patched often, (B)Beta Two is principally a bugfix, and (C)Final v1.0 is just around the corner. If you were not invited to join Beta Two, and would like to give it a whirl despite the fact that Final v1.0 will be released shortly, drop me an email.



      5th December 1999

    Development Status: Build 123 - Eric

    Lots of cool stuff going on with the Rho-Bot's navigation. I'm determined to release the Final before I set into Finals (Ben and I are students at the University of California at Berkeley). In short, the Final release is not far off, but I'd rather make the Rho-Bot just that much better before making the release. Automatically waypointing a level is not quite as easy as I had hoped (not surprisingly), but I believe the payoff will be worth it. ;]



      30th November 1999

    Development Status: Build 119 - Eric

    I've wrapped up all of the bug-fixes from the Beta One release, and the Rho-Bot's navigational code is nearing completion. I anticipate making the Beta Two release (this will most likely be private) within the next five or six days, followed shortly by the Final v1.0 release.



      24th November 1999

    Development Status: Build 112 - Eric

    Here's what I've changed:
    • snarks and hornets will now attack bots as well as humans
    • capped the number of bots at 16, as I was normally crashing upon adding the 17th bot
    • improved how bots notice potential enemies: now varies upon distance exponentially, and the Perception trait linearly
    I'll be engaging in Real-Life for the next couple days, so I wish you all a happy Turkey Day. =]



      23rd November 1999

    Development Status: Build 108 - Eric

    Here's what's been fixed in Build 108:
    • eliminated "message sent to uninitialized buffer" error message when running in developer mode
    • debug output has now been removed (e.g. "I can't put away my current weapon.")
    • eliminated crash when trying to add bots too quickly (i.e. hitting the 'addbot' key repeatedly)
    • eliminated the crash where Half-Life randomly kicks you back to Windows after playing with no problems for 3-20 minutes
    • addition: added a new bot trait, JumpPropensity. JumpPropensity allows users of Rho-Bot to specify how much a particular bot likes to jump (I've heard alot of responses both in favor and also against the Rho-Bot's jumping behavior, so this should satiate all schools because it is now user specifiable)
    I'm curious to know if anyone has been able to run more than 16 bots simultaneously with any amount of stability. Personally, I'm stable while running up to 16 bots, but crash if I try to go even one more. Please let me know.



      22nd November 1999

    Updates to FAQ, message board activity - Ben

    The FAQ has been updated to address the customization questions that we are getting. The short answer is that customization is possible right now, but a bit awkward. Head on over to the FAQ for the full story. Also, everyone is encouraged to visit the message boards -- we hope to help these become a valauble resource for the fledgling Rho-Bot community. Eric and I will do our best to respond to every suggestion or constructive comment. Thanks to everybody for downloading the bot.



    Rho-Bot's ToDo List - Eric

    Here's the list of what I've got in store for the Rho-Bot, based off of Beta One feedback. Wahoo go Beta Testers!
    • Additions:
      • improved obstacle avoidance
      • add duck and jump into HandleObstacles() routine
      • improve ladder climbing ability - SteerOnLadder()
      • bots need to mixup primary and secondary fire with mp5 mid-combat
      • improve AimAtEnemy() to more closely reflect a human's aim
      • chatting (Ben)
      • individual bot configurations (Ben)
    • Fixes:
      • game crashes when nuke goes off on crossfire
      • snarks and hornets don't attack bots
      • logo.avi is too big (should be 640x100, mine is x120)
      • random crashing (memory alloc?) between 3-20 minutes (not happening for everyone)
      • in developer mode, "Message sent to uninitialized buffer" errors over and over
      • bots don't always steer correctly when using the crowbar
      • bots don't know how to correctly aim splash damage weapons
      • bots aren't seeing weaponboxes (what you drop after being killed)
      • bots not using secondary fire on gauss gun
      • bots need to respawn after changing levels (Ben)
    Also, I haven't been able to create the console background .wad correctly. If you know how to do this and could give me some pointers, please email me.



    A Big Thanks Goes Out to All You Beta Testers - Eric

    I cannot fully express the gratitude I feel to all 843 of you who have downloaded the Beta One version of Rho-Bot. I will do my best to respond to every single email or messageboard post I receive. Also, feel free to contact me via ICQ (my UIN is 25604346). You make me happy, thank you. =]



      21st November 1999

    New WebPage Design Launched - Eric

    As you can see, the 100% original web design is now live. Once again, I offer my humblest of apologies to DoomWorld. If anyone has any concerns or questions regarding the matter, feel free to email me.



    This WebPage Design Ripped from DoomWorld - Eric

    I apologize to the people at DoomWorld for posting a site whose design is a complete rip of their own hard work. I was completely unaware of the plagiaristic design, and will be personally changing this site's design within the next 24 hours. Once again, my humble apologies.



      19th November 1999

    Beta One Released (Build 104) - Eric

    The Rho-Bot has improved tremendously since my last update. I just want to state that I thoroughly enjoy playing with the Rho-Bot, and hope that others will enjoy playing with the Rho-Bot as much as I do. During the next week my goal is to make fixes, tweaks, and minor additions based upon feedback from Beta One. I want to make Rho-Bot into what the public wants it to be, and look forward to working closely with the community. Goodwill and good hunting.



      17th November 1999

    Development Status: Build 089 - Eric

    Still fixing previously added features that weren't behaving precisely how I intended. I've also implemented group steering behaviors:
    • SteerGroupAlign()
    • SteerGroupCohesion()
    • SteerGroupFollow()
    • SteerGroupFlock()
    • SteerGroupSeparation()
    I've also optimized the ActionChooseGoal() and ActionLook() loops so I can comfortably run 16 bots simultaneously with no more lag than one would expect from typical clients (wahoo the Rho-Bots' brains are less processor intensive than humans'). Also, botman released his sixth open-source bot a couple days ago, and I've temporarily ripped his wall-following algorithm until I get around to doing it myself.



      15th November 1999

    Development Status: Build 083 - Eric

    General code cleanup. Features which were behaving out-of-sync with my design spec have been fixed. The three major additions to the code base before the initial release candidate are:
    • navigation - automated beacon creation/utilization direct from .bsp files
    • group steering functions - flock, follow, disperse
    • AimAtEnemy() - needs to consider relative velocities of targetter/target
    I also need to optimize the general BotThink() function before I will be content with making a release. More to follow.



      10th November 1999

    Development Status: Build 077 - Eric

    I've implemented the ThinkTime() function which acts as a wrapper in between the time-independent code and the time-dependent code. (This fixes bots slowing down during low framerates, and breaching tachyon during high framerates.)



      8th November 1999

    Development Status: Build 073 - Eric

    I've overhauled the class-level structure of the Rho-Bot. Rho-Bot's equivalent of Spring cleaning. I was starting to breach essential data abstraction barriers, which was starting to cause me problems as the Rho-Bot's code base has been growing in complexity. Now the code is again back in good form, and I'll no longer be bogged down by my slovenly written code.



      7th November 1999

    Development Status: Build 062 - Eric

    Rho-Bot now knows how to deal with weapons appropriately. They reload when they need to, they switch weapons at opportune moments, they pick weapons best suited for the situation, etc. Each individual Rho-Bot also now has their own unique set of weapon preferences. Werd out.



      6th November 1999

    Development Status: Build 050 - Eric

    Ben and I merged our code last night. Ben has added the functionality to read bot configurations from text files. Now you can customize however many Rho-Bots you want to, and have the rest be randomly generated. Ben's got a couple more additions just around the corner, but I'll wait to let the cat out of the bag.



      5th November 1999

    Development Status: Build 040 - Eric

    Less talk. More code. Nuff said. Here's the poop:
    • complete overhaul of how Rho-Bot reacts to the environment - now, every bot creates a linked list of all visible objects within it's locality. this list is then cycled through by BActionReaction(), which tells the bot to react to whatever it can see (e.g. if i see a grenade/rocket try to avoid it, if i see a button push it, if i see an armed tripmine shoot it if an enemy is within it's damage radius and i'm not, etc.) if the bot is interested in finding a new pGoal or pEnemy, then BActionReaction() sets these as well
    • the node groundwork is set. i have the nodeset creation algorithim done, and bots drop nodes when they need them. the Rho-Bot's navigation system will not require a human to create a waypoint files for the Rho-Bot. Rho-Bot generates its own nodeset every time it encounters a new map, and adds nodes dynamically as it plays. So basically, Rho-Bot will know how to navigate on any map the first time it plays on it, and will learn to better navigate maps that it plays on. i like this alot for two reasons: (i)it mirrors the human learning process, and (ii)different installations of Rho-Bot will play maps differently. No two Rho-Bots will be the same.
    On a tangental note, I highly recommend WebDog to anyone who's a web junkie. WebDog keeps you informed of when webpages have been updated, so you don't have to download any page unless there is fresh content awaiting your perusal. And no they didn't pay me to plug them.



      31st October 1999

    Development Status: Build 024 - Eric

    Rho-Bot is now enjoyable to play with. I've started to get really excited because Rho-Bot has now started to surprise me on occasion. AI junkies fondly call this emergent behavior, so I'm feeling real good about Rho-Bot remaining fairly unpredictable if I'm already seeing emergent behavior so early in the development process. Here's a summary of the progress I've made in the past 24 hours:
    • the direction in which Rho-Bot is moving, and the direction in which it is looking are now completely independent - this gives me a whole lot of flexibility, and has caused alot of previously implemented functions to now work correctly (steering, aiming, etc.)
    • Rho-Bot now decides when it wants to be in combat and when it doesn't (e.g. when he respawns, it will avoid enemies if possible until it has a better weapon)
    • optimized the goal checking algorithim (it's now called 10 times per second rather than every frame, yielding a significant performance increase)



      30th October 1999

    Development Status: Build 021 - Eric

    I've made huge leaps and bounds with the status of Rho-Bot since the last update. I'll do my best to list the major improvements that I can remember, however I will invariably overlook a large portion of the improvements as most every aspect of the bot has been majorly upgraded.
    • aiming accuracies different for every bot
    • movements have been smoothed
    • will seek out items, and values items more or less based on its need for them (i.e. being really low on health makes the bot really want healthkits, if the bot is weaponless it highly values any weapon, etc.)
    • aims for the body most of the time, aims for the head on occasion
    • uses both primary and secondary fire
    • gives up on enemies if it has lost visual contact for more than ten seconds
    • notices potential enemies less quickly when they are not moving or in poor light
    • hits every button within range
    I've got a whole lot more in the works - I've been adding TODO comments into Rho-Bot's code like a madman. I'm confident I'll have the AI in a releasable state by my initial goal release date, however I'm less confident that I'll be able to have finished stalwart pathing algorithims. This means Rho-Bot will be thinking really well, but navigating like a drunkard. I'll keep ya posted.



      20th October 1999

    Message Boards Live - Eric

    The message boards are now good to go. I highly recommend UltraBoard to anyone interested in setting up their own message boards. As always, if you have suggestions or comments, let me know.



      19th October 1999

    Development Status: Build 006 - Eric

    Our sixth alpha build of the Rho-Bot is complete. Features included so far:
    • remembers enemy
    • will never move faster than sv_maxspeed
    • checks for sv_maxspeed change every three seconds
    • implemented steering algorithims:
      • seek
      • flee
      • pursue
      • evade
      • arrive
      • wander
    • bots will respawn regardless of 'force respawn' setting
    • selects enemies only from within the bot's field of vision
    • attacks enemy by shooting them directly in the eye
    • randomly assigns each bot a unique name, model, and colors
    I hope to have Rho-Bot in a releasable state within a month.



    Website Live - Eric

    The website is complete. If you experience any difficulties (e.g. bad links, strange appearance) let me know.



  • News Archives Download SourceCode FAQ Credits Links