Page 17 of 25

Posted: Fri Aug 11, 2006 8:22 am
by LittleBear
Ramon,

Should have mentioned in e-mail I sent you with the OXP.

When you jump into the system Oolite hangs for about 15 seconds (as it follows the 30 script actions and adds 130 odd new ships!). Once the game starts again, there is no slow down but you do have to wait to start the action. (Price of an epic battle)!

I've put a version of your ship with tones of energy by the Deathburger. These woun't be in the game, this was just to playtest the AIs. (Your ships melt under a second or too of Military Laser, which can make it a bit tricky to test them).

I based the rebel's AI on a police partrol AI. This works nicely as the rebels main objective is to get to the planet and attack the Deathburger. The ones you meet on the way are the ones attacked on route. However, I haven't finished changing the comms hails, so the rebels somtimes say police type things at the moment.

Posted: Fri Aug 11, 2006 10:14 am
by lex_talionis
LittleBear wrote:
However, I haven't finished changing the comms hails, so the rebels somtimes say police type things at the moment.
"You are not welcome in this giant Burger of Death brigand!"

Lovely pictures by the way LittleBear :lol:

Posted: Fri Aug 11, 2006 3:29 pm
by LittleBear
Made some major improvements to the AI, that avoids the needs to turn the Mongoose fighters into Thargoids!

I now have a much better AI for the rebels.

I have taken ThargoidAI and replaced ScanforNonThargoid with

scanForOffenders

In testing, I gave the Mongoose fighters 2000 credit bounties. My rebels immidatley turned on the fighters and blew them away. I can get round them attacking the player by setting his legal status to zero at the start of the mission. I really only want to give the Mongoose fighters 20 credit bounties and the Deathburger a 1000 credit bounty. This would mean that rebel fighters near the Deathburger would chose to attack the Deathburger in preference to a Moongose (good - this is what I want). The trouble is that if a pirate with a decent bounty happens to pop up, the rebels will attack him rather than the Mongose fighters.

I could counter this by giving the Mongoose fighters pirateAI, that way they would attack the rebels and the player. If a rebel did decide to make a bee-line for a pirate with a better bounty, he would defend himself when a Mongoose chose to attack him. But, a Dictatorship Military Destroyer will also be present near the Deathburger and if I give the Mongoose fighters pirateAI, they may go for the Destroyer. Arrgh!

What I really want to do is get the scanforshipswithRole code working. I know now why my first attempt didn't work. According to the wikii the command should be:-

scanForNearestShipWithRole:(NSString*) scanRole

I tried giving the Mongose ThargoidAI with the scanforNonThargoid replaced with scanForNearestShipWithRole: erebel, but it didn't work. I think I know why. I probebley need to put an NSstring in between. But I don't know what an NSString is!

If I have to settle for pirateAI for the Mongoose fighters then this isn't too bad as they are scripted to appear near the player and near rebels. I may just have to do without the Military Destroyer. This is a lot better than my first go, but I'd really like to use the roles method. Any ideas?

Posted: Fri Aug 11, 2006 4:16 pm
by LittleBear
Set all pause times to 1.0 for the rebels. Tested with 30 rebels against 30 Mongose Fighters (will nullAI to make them sitting ducks). Rebels eliminated every Mongoose within 2 minutes. Fairly happy with the RebelAI, but scanForNearestShipWithRole: would be better!

Posted: Fri Aug 11, 2006 5:01 pm
by LittleBear
Further tweaked the AI to create a TerminatorAI!

Got it working. This AI does nothing other than: look for targets. Attack Target. Search for more Targets. If found attacks target. If no targets are found, it sits where it is and tumbles whilst it looks for more targets. It absolutley will not stop until it or all its targets are dead!

Used to identify target by

scanForOffenders

The terminators attacked every ship in range with a bounty, whilst ignoring my squeaky clean commander and the innocent traders in the area. Once all non-clean ships were terminated, the ships sat where they were and tumbled. This AI would be perfect for the Defenships, rebels and Defence ships. But to make it work, it has to identify targets by role.

Help Giles!

Posted: Fri Aug 11, 2006 8:54 pm
by LittleBear
AIs now working well.

The Mongoose fighters have piarteAI and a bounty of 100. The Rebels have a TerminatorAI set to attack all ships with bounties. The Burger has a bounty of 1000. Rebel ships attack the Mongoose Fighters, but will switch to attacking the DeathBurger if it is in range. Mongoose Fighters attack both the player and the rebels. No longer have to make the Mongoose Fighters Thargoids! I am going to keep the rebels with the scanClass Police. As they are the GalCop regonised force, makes sense to have them as "System Vessels" and also provides a penalty for indistriminate e-bombing / q-mining. They don't like friendly fire incidents!

As a safeguard against the rebels going for the player if he is not clean, I've set the deathactions of imperial ships to set the players legal satus to zero.

Next Step: Change StationAI to make the burger lauch waves of Mongoose fighters (to suplement those in the system) and add Ramon's Imperial Destroyer near the Burger, to cause the player more trouble!

Currently : 125 imperials and 21 rebels doing battle!

Posted: Sat Aug 12, 2006 1:57 pm
by LittleBear
Finished scripting the Deathburger battle. Ships and AIs working well.

To test the Deathactions, I reduced the Deathburger stand in (Giles Military Station) stats so that it could be destroyed. It blew up very impressively, throwing out huge chuncks of wreakage. The Deathactions worked and advanced the missionstage to mission complete.

However, a Ghost of the station was left there. It cannot be targeted and does not appear o the scanner.

Image

Strange!

Posted: Sat Aug 12, 2006 2:32 pm
by Murgh
very weird. :shock:
unprecedented I'd imagine.
what happens if you try to dock or crash into it?

Posted: Sat Aug 12, 2006 2:55 pm
by LittleBear
There is nothing there except the image! Flying through it and you just fly through it. It won't matter for the OXP, as this ship will be replaced with Heretic's Deathburger. It may be somthing to do with the game not expecting anything this size to be destroyed and so the picture of the ship is left in the game, even though the ship itself has died. This happens every time though. :shock:

Posted: Sat Aug 12, 2006 9:10 pm
by ramon
LittleBear wrote:

However, a Ghost of the station was left there. It cannot be targeted and does not appear o the scanner.
This isn't an isolated event, and I don't think it's to do with your oxp, check out this thread https://bb.oolite.space/viewtopic.php?t=2266

Posted: Sat Aug 12, 2006 10:17 pm
by LittleBear
It is happening evey time though.

Got your crusier. Ignore my e-mail on non-working turrets (i copied the old version) turrets work fine and I was peleted with green plasma.

If the player thought it was tough with the Dictatorship's Fighters at the Deathburger, he still has to face the fleet.... He He :twisted:

EDIT : Gave it a playtest, lethal from the front and side, but if you can get on its tail, your in a blind spot where it cannot return fire. As it is so slow at turning with no rear gun or turrets, you can sit there letting your laser cool and shield charge lasering it without it being able to damage you.

Think we need some rear turrets (mounted inbetween the thrusters?) and a rear laser. Maybe a bellyfull of missiles too (its big enought to carry them)!

It looks great and is working perfectly though!

Image

Posted: Sun Aug 13, 2006 11:23 am
by Arexack_Heretic
Send me a copy of the Cruiser too.

't Would be good to have matching textures and turrets on the Deathburg.

Posted: Sun Aug 13, 2006 11:25 am
by lucabu
ramon wrote:
This isn't an isolated event, and I don't think it's to do with your oxp, check out this thread https://bb.oolite.space/viewtopic.php?t=2266
Yes, I think 'Ghost Ships' are back.

Posted: Sun Aug 13, 2006 12:13 pm
by LittleBear
Will e-mail it over this evening. (It is in a separate oxp at the moment).

One problem with the way I've got the rebels and Mongose ships fighting (rebels have a custom ScanforOffenders AI and the Mongose ships have pirateAI with a bounty), is that giving the burger StationAI causes it to turn its turrets on the Mongose Ships. Also having trouble making it launch "imperial" ships (the role given to the Mongoose fighters) rather than vipers. I looked on the wiki and it is possible to specify a particular defenceship in shipdata, but I coudn't get this working.

As your AIing is miles better than mine, do you mind doing a hack of StationAI to stop this?

Posted: Sun Aug 13, 2006 1:09 pm
by Arexack_Heretic
yes, defining the defenceships is done in the shiplist.plist

check the stationAI whether it is launching POolice, change this to launchDefenceShip

( but you already did this, if I recall...)