Page 1 of 1
Monk Baiting
Posted: Wed Feb 18, 2009 12:02 am
by ClymAngus
Not in a out and out fight but I've found if you do put the station in between you and them they have an amusing habit of flying into it all guns blazing.
I got a peachy view of the shrapnel as it skated past. If I'd known it was this easy I'd have taken out a loan months ago. Guns of a battleship, IQ of a sprout. Give it a try, monk baiting. Its an adrenalin sport.
Posted: Wed Feb 18, 2009 9:05 am
by DaddyHoggy
Guns of a battleship, IQ of a sprout.
Wipes fine spray of coffee off the monitor...
Re: Monk Baiting
Posted: Wed Feb 18, 2009 10:57 am
by Screet
ClymAngus wrote:If I'd known it was this easy I'd have taken out a loan months ago. Guns of a battleship, IQ of a sprout. Give it a try, monk baiting. Its an adrenalin sport.
...and I did not install that oxp because I did not need any more! ARGH! Looks like I missed all the fun!
BTW: Yesterday was the first time that a Black Monk Gunship really did fire at me! Until then, I only saw them flying around, unwilling to use their weapons. I was even afraid that they would not have any weapons at all installed to their "gunships". Well, now I know better, was an interesting sight - but a stupid fighter. The typical wolf or iguana pilots definitely have a much higher skill level!
Screet
Posted: Wed Feb 18, 2009 12:01 pm
by LittleBear
The AI hasn't been updated in about 2 years. It worked OK when they had 3 Military Lasers, but they're pretty poor with the two beams. Black Monks really needs a complete re-write to use JS and updating the AI. All it does ATM is a permormAttack without intercepting the target first and they also don't set Way Points so can crash into things!
Posted: Wed Feb 18, 2009 12:13 pm
by Screet
LittleBear wrote: really needs a complete re-write to use JS and updating the AI. All it does ATM is a permormAttack without intercepting the target first and they also don't set Way Points so can crash into things!
Hmm. Sounds to me that it's not black monks which requires that rewrite, but that it's oolite which requires it, as badly acting NPC ships can be found everywhere, not only in BlackMonks. If you have some additional ideas unique to those BM ships, that's fine and enhances the depth of the game, but I believe that the general AI handling of oolite should be enhanced in the way you just wrote.
Furthermore, I've got the impression that the current test release really has many ships to actually fly into the opposite direction they intended. I did get that impression from a simple situation which I do encounter very often:
1) Head-on approach with a NPC
2) I turn away
3) The NPC turns into the direction I turn, thus ramming me, resulting in the NPC dying (and, if the ship is big enough, also generating "press space")
That's why I typically do not turn away in such a situation at all - it reduces the chance that the NPC will ram me! Slowing down can reduce the crash-damage but also is a bad idea, as the NPCs then typically adjust their course in order to ensure a collision.
Did the NPCs get Kamikaze training and brain-washing? I don't object if a Thargoid Battlecruiser commits suicide by ramming a space bar, although it's futile as it doesn't hurt the bar too much, but at least it's a Thargoid doing that.
If it's possible, the NPCs should check their chances of survival. If they are big enough or if they are almost dead anyway, ramming makes sense, just as I liked to run over Merlins and Hatchling BoyRacers with my BCC. For all other occurences (99% ?) they should not try to ram!
Screet
Posted: Wed Feb 18, 2009 12:28 pm
by LittleBear
The native AIs set way points and do switch to interceptAI to close on a target, but I think there is something up in the core game with the way performAttack works. The trouble with the Black Monks AI is really that I stole it (with a few tweaks) from the in built Thargoid AI. Thargoids attack any nonThargoid they encounter, Monks use basically a renamed C & P of the Thargoid AI but with the targets changed to debtors. The trouble is that Thargoids have the THARGOID_LASER which is multi-directional, so Bugs don't need to bother lining up a target and can still sucessfully hit a target with their laser from almost any angle. As the Monks have normal human lasers, the modified ThargoidAI doesn't work too well with them as they are not trying to line up targets.
Posted: Wed Feb 18, 2009 2:24 pm
by Kaks
Screet wrote:
Hmm. Sounds to me that it's not black monks which requires that rewrite, but that it's oolite which requires it, as badly acting NPC ships can be found everywhere, not only in BlackMonks.
Hmm, I'm intrigued, is that with the standard Oolite ships, or with OXP ones?
The mimicking behaviour you've observed is one of the basic 'instincts' given to NPCs to allow them to fly in formation without crashing on each other. Oolite tries never to generate ships close enough to each other that turning in the same direction actually triggers collisions...
We could remove the mimicking behaviour, but that will make it impossible for oolite ships to fly in formation... Or we could even penalise pilots that fly too close to other crafts - just like in real life!
Or possibly a third alternative, I'm personally open to suggestions!
It would be very helpful if you were to tell us the crafts this happens with, and expecially what AI they were using at the time!
To get the AI information you need to have debug.oxp installed and target the ship in question. On a mac you'll see the AI in the target inspector (Debug>Target Inspector, or command-T), and on win/linux you need to type P.ship.target.AI in the debug console.
As an aside, all ships' behaviours - including the standard ones - are not hard coded inside the game engine & can be tweaked with a text editor!
The non-standard AIs are inside their own OXP's folders, and can be tweaked from there. To change the standard AIs, just copy the 'AIs' folder inside 'oolite.app\Resources' to the 'AddOns' folder.
Any change you make to the files inside the new 'AddOns\AIs' directory will override the standard AI behaviours. You'll need to restart Oolite pressing shift (ie. flush the cache) to pick up AI changes.
I find the AI system really complex, so any help appreciated! If there's one of the standard roles that you know needs improving, and you manage to do just that, I'm sure Ahruman will be more than happy to get bugfixes from any and all of you guys!
Cheers,
Kaks
Posted: Wed Feb 18, 2009 2:35 pm
by another_commander
I think that it goes beyond the AI plists here. I agree that there seem to be too many NPC cowards flying around. Maybe a slight AI core code change at some point in time has resulted in some AIs not doing exactly what they did in the past and it can be tricky as hell to track down. Particularly, the Fly To Target Twelve behaviour seems to be deployed way too often recently and not working that great, apparently. Can't say that this is the problem, though, the code seems to be unchanged at that part for quite a few releases now.
Posted: Wed Feb 18, 2009 2:47 pm
by Screet
Kaks wrote:Hmm, I'm intrigued, is that with the standard Oolite ships, or with OXP ones?
For ship packs, I did almost completely rely to RS (and later OSE) - but I had the problem without those packs, too.
Some weeks ago I was hunting down a problem - and noticed that without most of my OXPs I ran into a very similar cloud of pirates every few flights - and those ships did always behave in a problematic way.
Stuff like:
- ships trying to move to a witchspace entry not on screen, thus ignoring to be shot down in the mean time. They could never make it to such an entry anyway!
- ships trying to do a "formation_form_up" and not caring about being shot down
- ships trying to move to "target six" or "target twelve" (even when they already are there) and not bothering to be shot down
Kaks wrote:The mimicking behaviour you've observed is one of the basic 'instincts' given to NPCs to allow them to fly in formation without crashing on each other. Oolite tries never to generate ships close enough to each other that turning in the same direction actually triggers collisions...
Well, if they use such behaviour during condition yellow, it's fine, but when they do such behaviour while doing a frontal attack on me, it's plain stupid! Imagine you drive with your car directly to some other car and try to shoot at it. When you get close, the other car turns right...would you really turn left on that instant, or wait in order to get at that persons tail or turn right yourself?
Kaks wrote:It would be very helpful if you were to tell us the crafts this happens with, and expecially what AI they were using at the time!
To get the AI information you need to have debug.oxp installed and target the ship in question. On a mac you'll see the AI in the target inspector (Debug>Target Inspector, or command-T), and on win/linux you need to type P.ship.target.AI in the debug console.
I see such behaviour pretty often with common pirates and with escorts, sometimes I did report a shift-h info in other threads, but I didn't store any such info locally. Now I've got OSE back in, but I can continue to gather such info.
Kaks wrote:I find the AI system really complex, so any help appreciated! If there's one of the standard roles that you know needs improving, and you manage to do just that, I'm sure Ahruman will be more than happy to get bugfixes from any and all of you guys!
I tried to look at the code of some AI scripts in the past...and didn't understand what's wrong. Seems I'll need to have a look at the game source myself.
Other stupid behaviour:
- hostiles do evasives pretty nice, but once I get close enough, they fly straight forward, allowing me to shoot them down without any problems. For ships without aft laser, that behaviour is like suicide! AFAIK someone wrote an AI for the SuperCobra that does explicitly prevent this by doing evasives if the course of the pursuing ship is too close to that of the SC. If that really works, maybe all ships without aft lasers should behave that way.
- pirates which are being shot at from multiple ships are unable to continue the fight: They keep turning towards the most recent attacker. I believe they would need something to dampen this behaviour, so that they can stay on target but switch if they cannot get their attacker or some other ship is really proving too dangerous.
Screet
Posted: Wed Feb 18, 2009 2:56 pm
by ClymAngus
I think it's just fine the way it is. Blast them with a military, get shot to shit hiding behind the station, (and you've got to hug that lump of spinning metal for this to work) and wait for the boom! But watch for the vipers and the 1 time out of 10 those robe rubbing bastards actually manage to make the turn.
As sub-games go its up there with asteroids difficulty wise and actually teaches you how to pull off some pretty slick moves under pressure. If it all gets too much just ctrl auto dock at the station and lick your wounds.
Its a way of getting used to the pressure of combat. A serious foe with an exploitable flaw.
As for "crazy Ivan" AI, yes It seems to be a tactic used by the de lance pirates mostly. A strange ship for a kamakazi to choose.
Posted: Wed Feb 18, 2009 6:17 pm
by Kaks
Screet wrote:
Stuff like:
- ships trying to move to a witchspace entry not on screen, thus ignoring to be shot down in the mean time. They could never make it to such an entry anyway!
- ships trying to do a "formation_form_up" and not caring about being shot down
- ships trying to move to "target six" or "target twelve" (even when they already are there) and not bothering to be shot down
Thanks for the info!
I tried to look at the code of some AI scripts in the past...and didn't understand what's wrong. Seems I'll need to have a look at the game source myself.
Excellent, the more people looking at the problem, the more chances to get to the bottom of it... My last attempt to figure some of the AI code out, I ended up with something like a flow chart, but definitely with too many lines, and too many boxes. Did I mention too many lines?
Posted: Wed Feb 18, 2009 9:04 pm
by LittleBear
I'm pretty sure the Monk behaviour is because I didn't write a very good AI for them. It works, but they're pretty dumb!
The difficulty level for Black Monks is really set on the basis that you do pay the Monks back, maybe after a few scaps but don't diss them. I playtested it with a brand new Jameson, taking the loan and equipping my ship with the basics and just trading solidly. I made enough to pay them back on time and end up with about 2,000 C in the bank and my Cobra III equiped with a Beam Laser, Injectors, Docking Computers, ECM, and Fuel Injectors. So it can be worth it to take the loan, but you really have to make every inch of cargo space pay if you are to pay it back and be better of than if you'd just stuck with your 100C starting funds and used them to trade.
Posted: Thu Feb 19, 2009 12:57 am
by ClymAngus
I don't actually take a loan out, I just wait for one to try and take out some hapless trader near station, I warm its bumper with a military laser and TAG! The game is on!
The challenge is, can you survive long enough to exploit their dumb without bottling it completely by tapping out with a shiftD or accidentally face slapping station in pure panic.