SunirAI (aka LOSER) Overview: SunirAI is a substiture for the traditional page/chat function on a BBS. Normally, when somebody requires the sysop's attention they will Page or Yell and the the sysop respond courteously to help solve the user's problem. The real problem, however, is that there are a lot of stupid people out there (aka losers, idgets, stooges, etc.) Why should sysops be obliged to help such pathetic representatives of the human species? They shouldn't. This is where SunirAI comes in. When a stupid person tries to page the sysop for help, he will instead be directed to a door, where an artificially intelligent replica of the sysop will be sure to offer no help whatsoever. (Note: Considering the intelligence of the people using this service, the program itself will not have to be that smart.) Once a stupid person has asked for help they're stuck. There is no way to exit SunirAI after you have started, unless you hang up or unless you piss off the program enough to have it hang up on you. SunirAI will relentlessly bombard the user with trivia, rhetoric, and useless information. If the program is smart enough, then it is likely that after a month or so the program can be deactivated, as none of the users will ever risk chat again. The AI: SunirAI will not have to be that smart, as a chat is not like a real conversation. The program will search the user's message for key words and punctuation, and then respond with vague replies. SunirAI will have feelings. If you start to anger SunirAI, he will become more and more hostile against the user. Some items that would anger SunirAI would include: - The time and day at which SunirAI is activated. (Sunir would likely be less pleasant at 3-4 o'clock in the morning than at any regular time. - The use of annoying words or phrases ("games", "information superhighway", and "help", for example) - Typing quality. Slow and/or sloppy typing (lack of punctuation, capitals) would also anger SunirAI. Conversly, SunirAI could also be pleased. The use of certain key terms and efficient typing could cause SunirAI to become more friendly towards the user. (Of course, the program would be severely weighted towards anger.) If a user can manage to please Sunir, his or her status as a stupid person may have to be reviewed. Sunir AI would never actually answer any questions. The easiest way to do this would be to answer all questions with other questions (in the spirit of all great therapist AI programs of the past.) For example: >Why doesn't work? >What are you talking about? >The I can't figure out how to make it go. Will you help me? >Huh? >How come you aren't answering my questions? >What do you mean? >I mean you're not telling me how to solve my problem. >What problem? >The I can't figure out how to make it go... SunirAI would also search the text for specific words and phrases, for which it has preprogrammed responses. For example: >Where are all the games? >GAMES??? Games suck. And here is a ten page response why... or: >I'm starting my own BBS. Can you help me? >BBS's suck. And here is a ten page response why... Sunir AI might have multiple responses, arranged in order of anger, so that a really annoying user may get flamed while another, less stupid, user may just get warned. There is also the random factor, where Sunir would go off in some random direction or say something meaningless. There are also other features which would be added, including: -Macro Wars, where a commonly refered to word is suddenly turned into a macro and pasted across your screen. -Delay, where Sunir supposedly goes off to do some maintenance or get a snack and leaves the user with nothing to do. (Note: the delay must be long enough to be annoying but not too long so that the stupid person hangs up.) -Copy & Paste, where previous conversation is copied and repeated for no apparent reason. -Others? Suggestions are welcome. The Process: The following actions would be performed for each response, to do determine the appropriate reply: - Time the time it takes the stupid person to write their message, divide by length to determine a rough typing speed. Adjust anger index accordingly. - "Stooge" the message, or an equivilant. Keep track of the changes made to capitilization and punctuation. Adjust anger index accordingly. -Remove useless characters and words ("in," "the," etc.) and then break up the message into its key words. Search words for key terms. Adjust anger index accordingly. -Determine if the message is a question or a statement. -If it is a question, reply with a suitable reply. Replies are stored in an array of increasing anger. Ex: -What do you mean? -What are you talking about? -Huh? -WHAT!?! -Sorry, can't help you with that one. -No. -Get lost. -Fuck off! -If it is a statement, search for words where there are preprogrammed responses. Reply accordingly. If there are no recognizable words, do one of the following: -Continue from the last recognizable word. -Say something random. -Do any of the other wierd features. -All responses are routed through a typing function, which types words realistically, with typos, etc. Some features for making typing more believable may include: -Words which are often typed may be put in a file so that they are typed faster. -Double letters are typed quickly. -Letters that are near each other on the key board are typed faster. -Letters on the edges of the keyboard are typed slower. Letters typed using the index fingers aer generally faster. -Typos randomly occur, where a key near the real key is used instead, or where and extra letter is added. The percentage of times in which the typos are corrected can be set by the sysop. Also, anger may cause SunirAI to care less about its typing. The chance that a typo will be corrected shrinks as SunirAI gets furthur away from the error. (Some sort of array would probably be used as a reference of the keyboard layout. Or maybe a binary tree?) -Go back and start again. Other Thoughts: This program will require comm and door routines, two subjects that I know very little about. Please contribute to the plans. Where can I find the archived chat logs? Some samples would probably come in handy to refine the process.