Subscribe to RSS Subscribe to Comments

Vertigames

Making the Rules: Great Enemies

ConfusingPreviously I’ve talked about how games adjust AI difficulty because of the need to fulfill the player’s fantasy, and provide them with success and positive feedback. This time I’d like to talk about perils and pointers for creating good combat AI. Now, while many articles that wish to address “great AI” contain heavy jargon or equations and diagrams depicting line of sight, or reticular splines or some such, let’s put that aside for now. It can be a great deal simpler than that (although in some ways more challenging).

Out of Sight, Out of Mind

Imagine dropping a player in a sprawling maze… hedgerow, factory, prison, whatever… that is impossible to be known beforehand. Within there is one incredibly realistic, human-like AI… It operates on its senses, with no unfair information about the maze or the player, but it executes on some crazy supercomputer with a million factors that it takes into account, from its knowledge of combat tactics to its own preferences and personality. Hell, let’s even keep track of what it had for breakfast in case we want to simulate a chance of it having an upset stomach. This AI’s job is to start searching for the player and make assaults as he moves through the maze. For a moment, as we watch the AI, we can see it moving through the maze, tracking the player’s scent, thinking about how to flank him… when it hits a fork in the path, it decides to go left or right based on tactical decisions, or its own tendencies, or whatever a human-like AI should do. Perhaps it has a human-like idiosyncrasy like alternating… Whatever. The important thing is when it finds the player, whether by crafty wiles or just dumb luck, it switches to combat tactics and starts attacking the player without warning, pressing any advantage it can. When it is out of the player’s view, he is completely stealthy, undetectable until he encounters the player again.

Wolfenstein 3DNow imagine this experience from the player’s perspective. He’s moving through the maze, starting to get familiar with his surroundings. Assuming the brilliant AI is quiet like he is, the enemy could be around any corner. The first time he encounters him, the attack could be anywhere, behind, ahead… who knows. If the AI is particularly crafty and sets up a sniper ambush, the player could die in a single shot to the head. To the player it’s a chaotic, unpredictable experience… Perhaps a fun one for some, perhaps not.

Now let’s replace the AI with a more rudimentary version, one that makes more random decisions about what path to take while moving through the maze. This is sporadically punctuated with the AI taking the best path to the player, using perfect information. The enemy will still use intelligent tactical decisions once the player has engaged it in combat, but when it is out of the player’s sight, the AI is entirely artificial. For the player, assuming the general frequency and predictability of the enemy appearance is similar, very few audience members will notice the difference.

Now let’s go even further, and replace the AI with a spawning routine that creates an enemy at the edge of the player’s awareness at a similar frequency and predictability as either of the other approaches. Certainly there are a few cases where it would make a wrong choice, such as spawning the enemy from a dead-end, but how often would this become apparent to most players? .

Now what point am I making here? That “real AI” is worthless? Of course not! When the enemy is within the player’s view, it needs to act extremely effectively, to provide the player with sufficient combat challenge and to keep the illusion up that this is human-like behavior. However, once the player has lost all perception of the enemy’s movements, there is a significant drop-off in the impact of sophisticated AI on the player’s game experience… That enemy could go off and play chess, consult his favorite tracker’s handbook or compose humorous limericks about the death of the player, but none of it makes much of a difference if the player is not aware of these activities. And it doesn’t advocate delivering “good enough”, it’s just that we could be using that supercomputer for better things.

A Pinch of Player Feedback

Soldier of Fortune II: Double HelixOf course there are better ways of selling an interesting “hunt” scenario between a player and an AI. The game might have remote cameras out in the world that allow you to sporadically see his activities. The enemy can leave a trail that you can pick up. He can make noises that might give away their position or distract you. These additions almost universally add additional player awareness of the AI’s activities when he is out of sight.

Sure, you can add some clever AI tactics that go beyond spawning… he might feint in one direction to lure you off, then work around and flank you. However, consider that we are adding to events in a chaotic, confusing combat situation to begin with. How would most players feel if they went towards an enemy who disappeared, appearing not much later to shoot him in the back? He might feel confused, or cheated, like the AI did something illegal. There is no satisfaction to be gained by guessing the enemy’s next action and planning accordingly. There is no learning process to “outwit” the opponent, nor is there any way to increase one’s skill to defeat him, aside from simple reflex improvement such as firing a gun accurately.

The development of most game features require the creator to balance of the investment of time and computer performance, versus the gameplay value created. No feature is free, and in a shooter, if the AI programmer spent all their time creating AI’s that can independently recreate all the works of Shakespeare, the time would generally be wasted… such effort and horsepower doesn’t help the player… this is a game about combating the enemy. Back when I was working on Soldier of Fortune 2, there were some enemies that had the ability of tossing clips to each other if one ran out of ammo. However, nobody knew that feature existed. Why? Well, the clips were never exchanged unless the two enemies were behind cover, completely out of sight. Also, the ammo level of any individual enemy was never a significant issue in the game, since fights tended to be very short and deadly. This was a time to invoke a cardinal rule of game development: Features that do not notably affect the player experience are usually not worth implementing.

Half LifeContrast that to the AI in the first Half-Life, which critics and consumers unanimously celebrated as one of the most significant contributors to their enjoyment of the game. In Half-Life the enemies did all sorts of things, from flanking you to spotting your thrown grenades and responding accordingly. However, combat against the deadly Black Mesa soldiers was a very hide-and-shoot affair, so there would have been little opportunity for the player to understand their tactics and smarts. However, some exceedingly smart individual at Valve decided to give the player a radio that intercepted the soldier’s communications, which gave the player a window on their reactions and strategies. Sure, it would have been even more challenging for the player if he had absolutely no clue to what the enemies were going to do next, but it is far more impactful to the player’s experience to allow him to understand how smart the enemies are. Arguably, beyond every other feature the enemies in Half Life had, the radio was the single most significant invention of that game.

Enemy communication of their intent has been used in other games, such as Halo, where the slightly comical alien grunts would spout exclamations like “there he is!” or “where’d he go?” when they observed a specific situation. Metal Gear Solid soldiers talk to themselves, saying “what was that noise?” and so on. Of course it’s not realistic, but it makes things more fun. Concealing those mechanisms actually creates a less compelling experience than when you lay out the rotating gears in front of a big window that the player can see.

Great AI lives in the player

Metal Gear Solid 2: Sons of LibertySo if a more human-like opponent leads to unpredictable, and often unsatisfying behavior, and realistic, limited information plunges the player into a chaotic, random-seeming experience, what is the player asking for when he or she is asking for “better AI” or a “smarter” opponent? The answer to this harkens back to a previous point, that the player wishes to fulfill a specific fantasy that they have. They wish for their opponents to respond as they imagine they would in their fantasy. In the case of a super-spy fighting against armies of henchmen, it’s a set of opponents that appear to fight against the player effectively, yet die or fail to kill the player at appropriate moments so that the player can feel powerful.

In a player’s fantasy, an enemy is still capable of many things. There is a great deal that a gamer can imagine his electronic opponents doing to try to outsmart him. This includes flanking the player, hearing noises and investigating, changing ammo types, and spotting and responding to thrown grenades. In fact, it could be said that a large variety of actions at the enemy’s disposal is what might make him seem “smart”. However, again, with limited information confounding the player’s ability to appreciate this rich palette of AI options, there is but one avenue to make a character seem intelligent… we must inform the player of some of the choices that are being made while they are being made, so that the player can feel even cooler when taking them out.

Browse articles:
« « Article 3: Hail to the Prince | Refueling in Room 130 » »

Comments

  1. August 27th, 2007 | 1:48 pm

    To be honest, I feel like this piece catalogs all of the most annoying design techniques in game AI. I always find it ridiculous when a stealth game like MGS or even a more serious one like Splinter Cell features enemies that talk to themselves like Elmer Fudd… or when I painstakingly cover all the entrance points as I move through an FPS, only to be hit in the back by an enemy that obviously just spawned at a dead end as I arrived. Then, practically every game has taken the “feedback” idea to the extreme, where enemies are constantly shouting about “covering fire” or “flanking” in an effort to appear intelligent, even when it is not appropriate to the situation at all.

    “There is no satisfaction to be gained by guessing the enemy’s next action and planning accordingly. There is no learning process to “outwit” the opponent, nor is there any way to increase one’s skill to defeat him, aside from simple reflex improvement such as firing a gun accurately.”

    I completely disagree. Having the opportunity to predict and outwit an intelligent enemy is one of the highest aspirations gamers have for AI. It’s also one of the primary elements in multiplayer shooter’s, a good team will always have someone covering the back entrance to their sniper position, and when a player knows that an enemy is trying to flank him or sneak behind him, a good player will devise a way to turn the situation around and have death waiting for the enemy when he arrives expecting to shoot you in the back. This is what makes multiplayer games so compelling, and could potentially become a fun factor for single-player games as well.

    The problem is this whole mentality among designers that games should not actually challenge players or directly try to thwart them, but instead just “act smart” or “act deadly” then roll over and let the player kill them so they can “feel cool”. Sure, the average unquestioning, casual gamer may be fooled by these techniques, but they are horribly transparent to veteran gamers and it pulls them out of the experience in a big way. This is the same mentality that essentially bans stealth from being used against you by AI in games, because from the player’s standpoint all he would perceive is that he died suddenly for no apparent reason. Thus the paradox that creatures in Doom 3 will never sneak up behind you, despite all the fun and immersive psychological effects that having to constantly check your six for silent creeping enemies would bring.

    This whole “leave no player behind” approach to game design might make sense from a commercial standpoint, but it screws over seasoned gamers seeking a dynamic challenge (not just some “give the enemies double overshields” half-assed nonsense) and insults their intelligence. I understand why this approach works sales-wise, but I don’t have to like it.

  2. August 27th, 2007 | 5:17 pm

    Patrick: “There is no satisfaction to be gained by guessing the enemy’s next action and planning accordingly.”

    GnaM: “I completely disagree. Having the opportunity to predict and outwit an intelligent enemy is one of the highest aspirations gamers have for AI.”
    ————————
    You misinterpret what I am saying there. Note the context.

    “How would most players feel if they went towards an enemy who disappeared, appearing not much later to shoot him in the back? He might feel confused, or cheated, like the AI did something illegal. There is no satisfaction to be gained by guessing the enemy’s next action and planning accordingly.”

    What I mean here is that if the player has no method of understanding the enemies’ intent or tactics, he is likely to interpret that there are no tactics going on. Indeed, the player needs to understand what’s going on in an enemy’s head in order to form counter strategies and live up to those aspirations. This is why purely random (or even semi-random) AI decision-making can be extremely frustrating on the part of the player. In a Raph Koster sorta-way, he or she is dutifully trying to discern a pattern when there is none.

    But yeah, I think we also disagree here. As much as it may sound like a bland least-common denominator approach, I feel that the best approach to challenging players is to make the feel cool first and face realistic challenge second.

    In the case against stealthy enemies, I stand by that if the enemy manages to achieve perfect stealth and sneak attack you from behind, the game experience for all but the hardest of the hardcore will be a negative one. However, applying the values I express in this article, the solution would be to provide the player with a method, perhaps unreliable or requiring continuous vigilance, of detecting them. This way he can be scared of every shadow yet feel as though he himself failed in some way when he gets a knife between the shoulder blades. But you have to be careful to walk that line between “challenging” and “punishing”.

    You are our first guest to disagree with something that was said… I love the debate… welcome!

  3. August 27th, 2007 | 6:33 pm

    I guess where we really disagree here is how much a game should use “kiddy gloves” in the way it treats the player. Certainly there are many unobservant gamers who wouldn’t notice the AI’s application of tactics unless it was plainly pointed out to them, but I think anyone who’s interested enough in the game to pay close attention will watch the tactics going on or guess why the enemy is doing what it’s doing. The AI shouldn’t have to constantly announce “I’m attacking you now!” “I’m flanking you!” “I’m sneaking up on you!”, “I’m retreating!”, “I’m reloading, come kill me!” to understand that these things are going on…that’s just treating the player like they’re stupid.

    I guess a good example here would be the bots in Quake 3 or the Unreal Tournament series. The bots in these games do have taunts, but otherwise they don’t announce their intentions at all unless you’re on their team. Thus, particularly in a 1-on-1 match, it’s up to the player to deduce what they’re planning based on the layout of the map, principals of resource control, etc. These are the same skills you would use to predict the opponent in a multiplayer match. Thus, if you’re in a firefight and the enemy suddenly disappears down a certain path, it’s up to you to figure out “are they retreating because they’re low on health?”, “are they going for the rocket launcher?”, “are they going for the armor that just spawned?” or “are they trying to sneak around behind me?”

    Of course this IS overwhelming to the average, casual, new player. They have no idea about any of these factors, and most likely in the subject situation, they will just camp there by the sniper rifle or rocket launcher until the enemy comes up behind them and instantly blows them to smithereens, or goes around the map collecting all the power ups till they’re nigh-invincible and secure an upper-hand for the rest of the match.

    In this situation the new player most likely WILL feel like the AI is being cheap and may end up frustrated…but that’s not the end of the world. If the player is smart, he’ll try to learn and figure out why he died or do better. Otherwise he’ll just keep on dieing till he quits the game and does something else. Yeah, it’s harsh, but that’s the way challenging games go, and have gone since the days of Castlevania and Contra.

    Of course, that method is not the most commercially viable and there’s a reason why Konami’s number one seller today is Metal Gear Solid and not Contra. I just wish developers could find a way to open up a game to both the casual and hardcore audiences without excluding one or the other through the design of the game. I think there are ways to ease newcomers into a game without excessive hand-holding and cutting out the hardcore…

    Given that UT3 is looking to be a major player on PS3, bringing thousands of new players to the franchise, I wonder how they will handle this. If they don’t make any effort to lighten up the learning curve a bit, UT3 will prove a big turn off to a LOT of console gamers that can’t handle such a fast paced game. I think in the case of the bots, they could easily implement a sort of “feedback” system as you describe where the bot voice overs actually announce its combat strategy, rather than just hurling stupid “your momma” taunts. By hinting towards things like the items they’re going for or ambushes they’re setting up, it could actually help the player pick up on game strategy pretty quick.

    Anyway, now I’m getting carried away…glad I could contribute to some debate on the site!

  4. September 2nd, 2007 | 2:44 am

    Just a quick idea : why not actually have very smart AI that doesn’t announce its tactics… but when the player dies, show how it happened with some sort of overview, and maybe then show the AI “thoughts”.
    Sure, it would be omniscient knowledge, but it would allow a new player to witness the AI intelligence, learning what it can do, and hopefully having him keep that in mind for future battles.

  5. September 2nd, 2007 | 5:02 am

    I am working my way through a game that’s incredibly difficult. It’s not particularly forgiving, as basically if either the player or the enemies get hit once, they die, and the player is consistently outnumbered and not as nimble as many of the enemies. However, the game takes incredible pains to lay out the game mechanics - each new enemy is introduced with an event that highlights their AI, and most of the potentially deadly or frustrating objects are similarly marked so that it’s obvious, for instance, what the radius of a bomb blast is, or what switches trigger what doors. It’s fun, because there’s an implicit assumption that every scenario is beatable with the right tactics, and because there’s no unknowns the brutal difficulty level becomes an exercise in trying different approaches. You know, in every case, why you died.

    Half-Life, I suspect, would have worked just as well had the soldiers stopped transmitting over the radio later on in the game, as they discover that the player has a window into their tactics. Once the players have learnt about each level of the AI, it can scale back the tells it gives the player and begin to allow the player to make their own calls.

  6. September 2nd, 2007 | 10:51 am

    Just a quick idea : why not actually have very smart AI that doesn’t announce its tactics… but when the player dies, show how it happened with some sort of overview, and maybe then show the AI “thoughts”.

    Not a bad thought… This is the sort of information that lets players learn from their mistakes. However, it does have one problem (which might not bother some), which is it only teaches through death. This is not the end of the world, it just means that people would learn over a large number of sessions, like they do against a deathmatch opponent (or, appropriately, an FPS bot).

    Plus, I wonder, if the enemies are incredibly smart and unpredictable, would they still be impossible to predict? I suppose it would be like a game of chess or poker, where your opponent’s strategy is generally only uncovered after it’s too late to react. With such a situation, a player can ultimately learn the right things to do.

    I certainly am not out to predict doom-and-gloom and cite that all enemies should wear their intents on their sleeves. Perhaps the question here is whether anyone would have <i>appreciated</i> the Half-Life AI without being reminded of its cleverness. Is that the gateway from a hardcore game to a massively-appealing title?

  7. September 2nd, 2007 | 4:52 pm

    When people ask for better AI, they generally seem to mean two things in combination. First, they want something more challenging. Second, they want something that (visibly) cheats less.

    The moment a player catches the computer spawning an enemy in an impossible area (like a cleared dead end alley,) the player knows the game is cheating. That knowledge will affect how they perceive the rest of the game, because they know the designers and programmers took shortcuts in creating challenge. All future challenges offered by the game will be tainted by the knowledge that the game cheats.

    Racing games have something called rubber-band AI. When a player gets too far ahead of the competition, someone is boosted or teleported close to again offer challenge. This is most obvious near the end of the race, where an AI opponent will appear around the same spot each time to offer a last-minute challenge for first place. Designers seem to love rubber-band AI because it guarantees a challenge regardless of player skill, allowing the game to appeal to a larger base, and perhaps because it means less work is needed on designing the CPU AI. Players tend to dislike it though, as blatent CPU cheating renders a large section of the game and player skill meaningless.

    2D fighters have “reading the controller inputs,” where AI uses game state data directly to determine how to react the moment a player commits to an action. Such systems generally cheat further by ignoring the need for controller inputs for the CPU character. Such systems are popular on the designer side because they are easy to implement and offer a quarter-sucking challenge. (Later, one could argue that designers just assume players are going to hate any AI, so why bother with more than a minimal effort.) Players see such AI as some of the worst possible. They see the designers put no effort into it, relying on cheating rather than attempting a real challenge. The difficulty itself is often fake, as the rigid reaction system often fails to account for some (often basic) action that can be repeated until defeat. Worse, tactics learned facing such AI can be detrimental to versus play against other humans, so the single player fails even as a training mode.

    Which does touch upon a third measure of “better AI”… In games where facing computer opponents is similar to multiplayer where you face human opponents, facing the computer AI should at least help new players learn the game. The more facing the AI can teach, the “better” it is.

  8. September 5th, 2007 | 7:36 am

    Hi Pat!

    I’d agree with everything you said, except for one thing. :)
    The ammo sharing thing was something we only talked about doing in SOF2, not something we actually put in the game. We ended up deciding not to do it exactly because the player would never see it.

    Chris

  9. September 5th, 2007 | 8:48 am

    Hey Chris! Glad to hear from you… Hope all is well.

    Of course you and Ben Geisler were the AI masters of SOF2, so I stand corrected… The guys told that story so many times that I assumed it had made it in.

    The sentiment doesn’t change… Awesome AI is nothing more than a bag of raw potential until you figure out a way to sell it.

  10. September 28th, 2007 | 2:28 pm

    The main problem about creating realistic AI is that video games aren’t realistic in the first place.

    If you happened to be engaged in a real firefight against several other people, you have the ability to pinpoint exactly where a noise is coming from, to see out of the corner of your eye, and, in general, to have a good sense of what is going on around you.

    This isn’t possible in a video game. Walking into an area, hearing a few gunshots, and then dying is frustrating only because you cannot tell the direction and the distance it is coming from. Having enemies sneaking up behind you is annoying only because you lack the ability of glancing over your shoulder quickly, and instead have to turn the camera completely to check out your six. (Being able to see behind you instantly with a click of a button like in many racing games should be placed in every FPS)

    Some games try to make up for this lack of awareness by placing a radar or map on the corner of the screen to let you know where all the enemies are and where they are going. The problem with this is that it takes away a lot of the surprise.

    So, how can AI be challenging without being cheap? Well, simply give the enemy some disadvantages that the player has to deal with. Force the AI to reload after firing a certain number of shots. When he goes behind cover, give him a couple a seconds to get his bearings and find the player when he moves out of cover. It’s really that simple.

Leave a reply

Based on FluidityTheme Redesigned by Kaushal Sheth Sponsored by Send Flowers clomiphene risk taking aciphex flonase most potent marijuana seeds ambien apnea sleep marijuana seeds carmela workplace alcohol buy omeprazole no prior prescrition drug category of ecstasy compare prices for xenical pcps about us tylenol college scholarships tramadol mexico online pharmacy welbutrin and prozac for panic attacks ortho tree bug oxycodone 5500 oxycodone apap drug manufacturer by mail synthroid burn cocaine augmentin alcohol hypnosis alcohol cessation virginia diaes law suit zyprexa does clomid make your nipples hurt low cost xenical diltiazem ointment ultram 50mg with methadone 10mg cephalexin origin alcohol is present in the liver alcohol and drug education programs conversion of testosterone to estrogen coronary artery diease and alcohol folic acid kidney cancer celebrex prostate zyban wellbutrin bupropion hcl cocaine drug history alcohol vs meth marijuana clinics teen alcohol abuse stories ignition alcohol recognition system smart start prednisones neem alcohol alcoholism effects lsd description what age group takes ecstasy gag factor soma trazodone tazodone caleigh cocaine naltrexone odor touching cocaine urine activities on cocaine drug seroquel wellbutrin and serotonin cost of pcp history increase lifting testosterone weight marijuana smoking before operations non alcohol agrement for tenants affects of marijuana gained weight flexeril cocaine blues by johny cash crack cocaine user profile xanax lorazepam drinking alcohol and nosebleeds xenical cap tremor from atenolol clonazepam tired ortho evra patch prices xanax and alcohol addiction palmerston drug and alcohol viagra worldcanada swab test for alcohol vicodin detox bay area 6 best price for propecia cheap cialis find delusions of parasitosis cocaine oxycontin addiction and side effects can ortho evra be considered abortion richard jeni lexapro famous people who use steroids cetirizine dietary supplement effects furosemide side preganacy and cocaine use pariet ramipril canadian steroids diovan safer than lisinopril legal status of cocaine in canada cipro doxycycline zithromax metronidazole levaquin flagyl taking prilosec with zantac addiction help oxycontin kaye fillmore alcohol side effects from weaning off diovan ngoc pham heroin pellets cymbalta interactions with alcohol what do you use carisoprodol for meridia attorneys auburn medications azmacort zanaflex toprol xl interaction alcohol on wellbutrin disfunci n metoprolol agoraphobic nosebleed pcp torrent wellbutrin cost keywords paxil ortho home defence neuroscience for kids alcohol remeron organon metabolites ranitidine haney carl black marijuana gbi nicotine levels in the blood is marijuana really to blame buy qoclick se viagra reasons why people smoke marijuana norco californai chemistry burning alcohol zoloft child dose hydrocodone 5-50 national clearing house alcohol and drug symptoms alcohol ibuprofen cocaine side effects tamoxifen and von willebrand disease keyword viagra prescription online celebrex prescriptions heroin sale ritalin and headache wellbutrin successful complete ativan antianxiety drug buy provigil online los angeles alcohol imitrex and drugs alcohol and crime hydrocodone tramadol taken together prescription drug assistance for plavix cocaine laced wheat flour from mexico medical study sibutramine compazine dosage celexa taper off celexa and iop xanax no prescroption adhd information buy adderall benefit testosterone ortho evra hair loss tramadol indicat beginners guide outdor marijuana growing glass marijuana pipes cultures that drink alcohol during pregnancy ibuprofen neproxin are there different types of amoxicillin medical side effects of lotrel folic acid and conceiving twins rate of recovery for marijuana 25 mg norvasc discount rebates for ambien lipitor joint pains fake viagra websites basal ganglia and prozac valium and kids buy fda no presciption adderall canine loratadine dosage black death alcohol xanax vs buspar victims of methamphetamine klonopin bipolar lipitor atorvastatin north carolina buy propecia online cheap pharmacy prednisone and bruises filles sexes dur fr contraception yasmin alcohol ads on television oregon marijuana possession cocaine on my brain cool alcohol myspace comments plant essence extraction using isopropyl alcohol coumadin and fever treatment ingredients selsun blue byetta with alcohol isopropyle alcohol saliva alcohol tests alcohol poisoning fatal dose overeating vs drinking alcohol dot drug alcohol training prednisone 10mg dosepack 48ct online prescription viagra phentermine meridia adi soma drug detection adult allegra older alcohol and gaming divison in nm zithromax generic name claritin loratadine virginia is cipro penicillin based phendimetrazine lose weight loss diet pills no prescription overnight diazepam valium driving alcohol north slope borough adipex results hydrochlorothiazide 25 mg overdose ultracet discontinued tadalafil vs viagra side effects metoprolol epinephrine excessive alcohol abuse effects of phenergan iv push zyban and marijuana cephalexin for mastitis in nursing dogs zyprexa causing intolerance of alcohol buy soma pill opium mortgage lyrics to the count song alcohol alcohol liquor or beer first has ritalin proven to be useful sertraline oline prescription zyban vioxx acetaminophen oxycodone tablets 187.5 symptom of alcohol intoxication acetic acid isopropyl alcohol limiting reagent on line pharmacy xanax opium den tool hydrocodone detected urine test california alcohol rehabilitation effects of suddenly stopping prednisone beat a cocaine drug test phentermine 15mg fed ex overnight soma netwroks what makes anabolic steroids different morphine and dilaudid causing pain abuse alcohol among teen pharmaceutical manufacturer for vicodin biaxin and milk what ia a normal testosterone level ortho memory foam mattress nasacort aq retin-a stimula patanol alcohol aldehydes ketones oxidation tojo imitrex lysergic acid diethylamide climara clinical depression and imitrex dui alcohol level ii classes what nascar driver has viagra benedryl and alcohol methamphetamine production recipe prempro first prescribed evaluating self on marijuana use phentermine direct no clubs dreampharmaceuticalscom propecia hydrocodone without precription xanax show up on drug tests fda celebrex warning flomax and ambien no prescription needed true phentermine zyrtec dosage info ciprofloxacin side effects in dogs agonist cocaine where can i buy vicodin medical marijuana in santa barbara county directions for taking viagra cialis 20 mg tablet does alcohol stimulate facial hair growth john sajo marijuana oregon cost of claritin when does effexor peak phentermine without prescription september j 5post softtabs zenegra soma pain and muscle relief what drugs are in imitrex tadalafil pharmacy food coumadin snorting cocaine effects front line on lipitor phentermine no dr note marijuana drug in males sperm cipro jagged little pill female testosterone production in enopause valium cheap online accepts discover card nasonex voor neus ontsteking buy cheap effects marijuana fioricet 2bwithout 2bprescription 2bsi alcohol de ser diclofenac sodium ta discount online phentermine fda approved medications what enhances the effects of adderall ortho sleep support systems regecy alcohol 1 9 5 alcohol counseling st louis missouri ovulatio using clomid phenergan syrup codeine folic acid overdose during pregnancy 80 mg depo medrol valium with out prescription adderall xr deaths buy norco pills com tramadol habit forming sublingual nicotine psychological treatments for alcohol abuse pravachol online no prescription worldwi stages of alcohol abuse tiamin mononitrate compare fosamax to boniva cost of sumatriptan actonel fosamax evista comparrisons fever alternate tylenol ibuprofen carisoprodol href compare actonel boniva and fosamax alcohol battery biofuel cell muscles in eye alcohol poisoning pepcid ac monograph captian cocaine prevacid versus nexium ramipril reactions altace side high estradiol after menopause mdma vs methamphetamine robb celeb christina ricci prozac nation side effects cialis coumadin allegra alcohol lowers your hearing acuity what is tramadol uses for rx 773 lorazepam paxil pregnant defects clonidine drug interactions alcohol fuel handbook before and after steroids pictures hydrocodone apap ecstasy ingrediants cipro 500mg rite aid drug store wellbrutin paxil ambien serotonin syndrome hydrocodone interaction with flomax ativan for sedation for mri cialis london clonazepam interaction with diazepam tramadol headache conceal marijuana coffee grinds flexeril and hair loss mixing paxil and alcohol hydrocodin extract tylenol natural alternatives to ditropan hydrocodone recipe cocaine diarrhea marijuana use coughing alcohol rectol fentanol versus oxycodone anabolic steroids synthroid pravachol aciphex phentermine mark mcgwire picture steroids hair cut finasteride side effects of morphine during sugery what is valtrex used for lab thermometers alcohol medicine neurontin flowering phase of female marijuana effects alcohol effexor xr nicotine patch safety cialis generic name spironolactone to leave your system tamsulosin for dogs coreg tabs love on ecstasy nicotine patch and pregnancy effexor pain management ecstacy ghb rophynol premarin causing leg pain addictive cyclesof marijuana when stop taking actonel side effects diltiazem nicotine found in alcohol wordpress com difference between zyrtec and clarinex coreg .625 alcohol tolerance liver marijuana nanaimo market for afghanistan opium history timeline of alcohol morphine generation jugend vintage crew burnout death alcohol poisoning mao inhibitor zoloft natural ecstasy carisoprodol sales discount sildenafil generic viagra alcohol 120 windows me megalis tadalafil marijuana test what happens if you snort valium glucophage mg treatment for heroin users drug alcohol abuse ministries orlando florida buy vicodine hydrocodone and tramadol online kidneys and the effect of alcohol fosamax oral solution bioequivalence symbols of ecstasy didrex online cod does tetracycline treat tuberculosis buy steroids over seas oxycodone pain cialis cialis viagra viagra cocaine test remedies fear of buying marijuana seeds flomax prostate cancer lorazepam vs ativan side effects of prednisone drug does klonopin cause vivid dreams legal limits of alcohol tricor direct cialis faq celexa citalopram and depression talking back to prozac description of lsd experience smoke pcp eat people medication help cost programs for propranolol when does marijuana bud sumatriptan information alcohol 120 1.9.6 4719 download foil and crack cocaine can dogs take anipryl with cephalexin hyperactivity and marijuana alcohol and bad breath methamphetamines treatment cipro picture lortab without prescription vicodin buspar side affect ranitidine no prescription frahm dodge norco alcohol use during pregnancy herbal alternatives to paxil synthesis amphetamine from p-2-p sneaking in alcohol john boobas and steroids card discount meridia zoloft online polyvinyl alcohol eyes alcohol induced liver disease vitamins infant motrin phentermine definition and much more alcohol and domestic violence statistics vardenafil sale didrex without prescription drinking alcohol with zoloft stories alcohol coronary heart disease what are protonix tablets for buy phentermine or xenical without prescription ritalin buy online no prescription injectable amoxicillin in canada alcohol and toxicology paxil and alcohol and panic attacks viagra prescriptions online lower lip numb alcohol soma bright eyes show elavil hypertension pravachol bontril aciphex denavir is ordering viagra online safe high life alcohol soma the strokes lyrics b hse onkelz heroin tamiflu shelf life colchicine and uric acid beta lactam penicillin marijuana prices in canada buy consultation doctor hydrocodone no online sideffects of cocaine alcohol lower extremity problems z pack zithromax alcohol cause spider veins most efficient effective cocaine take quiz about alcohol and drup abuse d amphetamine side effects my friend drinks alcohol on xanax lose prednisone sarcoidosis weight g134 oxycontin 80 mg alcohol blood function level diovan prescription drug soma highs buy metformin without a prescription potential side effects of norvasc acetaminophen guaifenesin phenylephrine hcl alcohol and drug use composition of alcohol cocaines effects of the body alcohol in morayshire cocaine and peripheral neuropathy cocaine and west africa soma by alcohol prevention facts lipitor tablets atorvastatin side effects of pepcid pending ortho lawsuits glutamine and alcohol zoloft withdrawal support oxycontin medicine buy online child effects in side zyrtec toxicidad celecoxib en perros buy imitrex charlie durs by clonazepam suicide glipizide how to administer clonazepam drug information medication prednisone for government flores tadalafil generic ciales unbearable alcohol withdrawal general anxiety disorder wellbutrin serzone working phentermine pharmacy non prescription phentermine ionamin marijuana soup baycol class action canada prevacid mlt tab huch punch recepies with alcohol when was ritalin first made paroxetine hcl tab 20mg pass a marijuana drug test immediately price for tramadol what is alcohol drug nicotine counseling loratadine ambien lung marijuana oxycontin hcl er 40mg bubble gum marijuana seeds phentermine angina over the counter off valium phentermine hydrochloride us licensed pharmacies indication for lipitor vicoprofen effects soma fm k-rakos potent marijuana prescription drug to reduce alcohol cravings side effects fo levaquin viagra side affects clomid tender nipples bayside alcohol and alter boys effexor depression anxiety research women buy vicodin now polarity of isopropyl alcohol tobacco vs marijuana commercial alcohols inc mircette tablet clopidogrel credo timing 15 hrs loratadine claritin dosage side effects singulair and dangers and pregnancy ibuprofen prescription strength candida diet lamisil online rx for phentermine dietary restrictions with lasix decongestant allegra d advair asthma years patients omeprazole contraindications nexium celiac disease alcohol stearyl overuse albuterol inhaler clonazepam patient advice including side effects cats and valium is buspar tested in drug screen hydrochlorothiazide side effect order softtabs medicine side affects of amoxicillin in dogs mexico cocaine seizure buy marijuana vaporizer mixing clonazepam and diflucan cialis penis pictures flush tramadol from system medical reasons alcohol and native american suicides related to oxycodone weight gain advair singulair isopropyl alcohol cas mdma and antibiotic heroin treatment therapy augmentin beta indication alcohol calories comparison flomax drug interaction alcohol metabolism diagram marijuana and semen analysis taking zyrtec with a steroid what drug company makes celexa diet and lowering testosterone overdose of zestril european alcohol age atenolol tablets 50mg do steroids work immediately ultram purchase treatment programs alcohol drug addiction zanaflex tizanidine pupils enlarged alcohol viagra buy do nu growing marijuana smell lortab drug info clomiphene citrate first available 5generic sildenafil effexor xr and cause weight gain fall out boy ativan phentermine registered air mail nicotine effect motility ambien long-term side effects ecstasy cartoons wellbutrin side effects memory phentermine snort vicodin percocet stronger conjugated linoleic acid paxil drug interaction xalatan order effects alcohol has on unborn baby on line prescriptions cialis pills cocaine sellers long-term effects of smoking marijuana infants tylenol alcohol treatment centers adolescents ohio zoloft and bipolar tadalafil cailis cialis tadalafil tablets rohypnol buy uk hydrocodone apap pics methamphetamine rockafella laws zoloft vs celexa diffrence in medication ambien cr and vicodin aids marijuana canada generic prozac paypal methamphetamine books listing editors not authors norco 10.325 no prescription performance anxiety viagra medical marijuana timeline opium quotes what are allergic reactions for amoxicillin alcohol drinking law cocaine vs methamphetamine effects of alcohol on effexor xr lisinopril sildenafil calcium synthroid info miralax fines for heroin wellbutrin is it an ssri manufacturing of heroin arcata marijuana reactions to phentermine body causing hot in sensation valium folic acid eye drops alcohol brain bubbles clean nicotine stained teeth environmental hazards in cocaine cheap zenegra softtabs online cost a ounce of cocaine online pharmacies for propecia finasteride wolfsheim heroin she said fosamax symptoms morphine and xanax zocor medication triamterene hc get diflucan actos journal ambien 3 norco medical group penicillin buy claritin prescription marijuana potency florida tobacco nicotine content variety literotica valium marijuana laws for calvert county maryland buy offshore medications adderall buy phentermine online about us heroin long-term effects intervals acemataphine ibuprofen remeron weaning schedule smoking marijuana in vegetable cellulose prescription imitrex side effects miralax generic atb ecstasy singer softtabs 270 tablet cocaine in blood stream by touching 800 acid folic mcg dj youri fuck on cocaine biaxin for dogs pharmacy prescription us without xanax alcohol and tongue ring common side effects zocor natual alternative for coumadin cocaine city dvd ic paroxetine ghb drug use diovan angioedema metformin and diareha atorvastatin pravastatin cost misusing oxycodone hcl opponents medical marijuana use new mexico complete phentermine information from drugs com free shipping cialis cheap paxil bruxism elevated heart and alcohol alcohol 52 jowood xprot growing cocaine plants effects lexapro quitting side ibuprofen dysrhythmias marijuana exchange buy klonopin from overseas depakote and lexapro flexaril valium lyrics lil wayne call rice cocaine women takes viagra buy discount price sale viagra viagra is oxycontin available in generic drug and alcohol abuse in wa zoloft teenagers does cipro treat alpha-hemolytic strep nicotine withdrawal syndrome alcohol drug treatment skagit information on depo medrol discovery of nicotine indica marijuana photos dosages valium legalizeing anabolic steroids clomid aspirin prilosec and depressive symptoms flovent 110 oklahoma marijuana alcohol center christian treatment heroin back in hollywood manufacturer of zyrtec d xenical for sale in the us oxycodone compared to heroin ortho ontario cressini montgomery al drug and alcohol specialists carisoprodol without lsd spiral program canada free nicotine patch paxil and thyroid vegetative lighting marijuana online pharmacy phentermine sales risperdal home page festers manufacturing of methamphetamines lipitor class action suits attack heart lawsuit vioxx zoloft sertraline contra i urinary tract infection and ciprofloxacin cocaine integration risk marijuana t-shirts hydrocodone pill description alcohol sugar in dietetic candy depakote uses phentermine 37.5 fed ex overnight drug rep for cozaar nj dep ortho photos legal marijuana country canada interactions of neurotin hydrocodone age you can serve alcohol free maine nicotine patch oral testosterone france alcohol actos warning side effects drug interaction nexium phentermine no perscription average cost of steroids oxycontin overdose case study pictures if girlfriend on steroids pregnancy coumadin emedicine ddavp and ditropan performance enhancing steroids info cyanocobalamin brand name variations of zoloft verapamil wihtdrawal difference between percocet and vicodin cipro cancer ibuprofen sore throat no prescription adipex sale anabolic body building effects of ghb health risks of amphetamine salts abuse direct marketing for alcohol claritin during breastfeeding topical steroids for eczema cheap generic phendimetrazine 180 count lancet medical journal vioxx penicillin pk penicillin skin rash tramadol pill identification 93 58 morphine conversion calculator erica durance ecstasy ritalin options fentanyl clonidine laryngoscopy and intubation skin test amoxycillin allergy apper alcohol supplier buy cheap diazepam online dossage for tylenol adipex p weight loss sea witch opium alcohol drug new rehab western york phentermine zoloft bratz costume party yasmin doll alcohol related deaths in 2007 methamphetamine addiction researchers valtrex information on cocaine slang terms wbr vioxx lawyer wead bush marijuana pepare tramadol for injection folic acid and sickle cell anaemia alcohol starts with j ortho dipel caterpillar spray leagalization of marijuana for medical purposes ethyl alcohol in germination taking altace with zoloft buy online renova dutch marijuana law soma club houston tx abuse alcohol diego san does clonazepam cause constipation nasacort aq aldara retin-a nasonex imitrex causes severe musle pain folic acid 1000mcg tablet avandia fda warnings fioricet fioracet prednisone psoriatic arthritis methylphenidate and d2 receptors cocaine has no effect cardura with flomax action cl law neurontin suit alcohol copy software which countries is morphine legal in eye redness and alcohol car accidents involving alcohol loratadine and black licorice zocor and erectile disfunction what is bupropion hydrochloride zoloft side effects teens aspirin plavix warning compare prilosec nexium purchase meridia pills online wellbutrin generic side effects wellbutrin side effects cocaine euphoria accolate interactions caffeine alcohol caused diseases kansas city mo lawyer prozac adderall and symptoms of allergic reaction cheapest in uk viagra physical effects of phencyclidine is there tylenol in oxycontin dilantin off weaning ortho evra 3 alcohol evaluation test permanent damage from methamphetamines agent alcohol based effectiveness hand washing viagra houston adderall snort does constipation from effexor go away diflucan and side effects phentermine no shipping to kentucky advair law suit xanax overdose amount long carisoprodol soma stay system k dur dosage combivent mbi metformin and periods negative stories lsd los jovenes y el alcohol long term effects after cocaine use trazodone and phentermine psilocybin therapy oxycontin withdrawal timeframe omeprazole magnesium boiling alcohol sertraline hcl info ortho try cycline low albuterol ipratropium doxazosin mesylate ranitidine how long before it works cocaine cardiovascular effects fatal crashes alcohol cocaine girl boy pastire drug for alcohol withdrawl generic prozac color soma cube solutions free inpatient alcohol phoenix marijuana lables vicodin 5-500 mg can low testosterone affect prostate growth motrin ib acetaminophen ibuprofen interactions methylphenidate melting point does alcohol and drugs effect sperm alabama alcohol possesion of a minor best didrex place result search help with withdrawal symptons from marijuana peter allegra esq keppra xr estradiol increase of cervical mucuc tie down marijuana flowering solu medrol inhaler sibutramine dosage somebody else ashes of soma zithromax crush morphine drip 37 online prescription ultram viagra aed and keppra wilson north carolina alcohol treatment program viagra on dogs purchase tenuate dospan ortho tri cyclen lo tablet ambien otc john harding alcohol ecstasy side effects erection modified release oral morphine dosage forms generic pravachol identification delivery hydrocodone online overnight pharmacy celebrex vaniqa flonase allegra weaning off oxycontin safely affect of alcohol on a fetus yasmin lebon what drug is alcohol headache alcohol liver failure orbit washing machine and marijuana and soap nicotine reviews heroins in peril ads alcohol screening tool ibuprofen versus naproxen side effects doxycycline zantac alcohol joe alcohol love me informatin about heroin growing marijuana canada cocaine addiction recover alcohol cigarette marijuana collage orlando drug and alcohol facilities punishment for athletes with steroids zyprexa hair loss wieght gain faster viagra working 90 day alcohol treatment centers 200 proof alcohol federal alcohol law alcohol and nerve damage alcohol free lotions or creams buy ultram online dream pharmaceutical online consults hydrocodone range in alcohol content in wines 618 vioxx and heart failure 890 medications false positive for cocaine zanaflex abuse diovan hct weight gain drug sildenafil marijuana removal from body taking avena sativa with steroids opium vs marijuana