Behemoth update

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Behemoth update

Post by Eric Walch »

The past year I have been working on the behaviour of Aegidian's classical Behemoth. The ship itself was excellent but it's defenders had several flaws. I tried to make the ship stronger without changing the specs itself. Most of the new stuff is improved AI handling between the carrier and his defenders. Half a year ago I put the new AI in the "Behemoth Spacewar" package. With 1.71 I changed some more additional things with JS scripts. However not in full extent to stay compatible with oolite 1.65.

On testing I discovered one major bug in defender handling thanks to the new AI debugging tool from Ahruman. The groupAttack command from the carrier never reached the defenders. They left with a primary target and when that target was killed, they tried to dock. In my previous released AI, the defenders requested a new target when the current one was killed. However, the bug does not occur with escorted carriers, so I decided to give the Behemoth two escorts. This way it even will work on Oolite 1.65.
The bug itself will be solved with Oolite 1.72. Now with working groupAttack the carrier can give defenders new targets closer to itself. This way offenders that are a direct threat to the carrier are attacked harder by defenders and fleeing offenders will won't get followed that oft. Only when mom itself has no targets anymore defenders may wander off after their target.

The Behemoth and defenders now have ship scripts. With oolite version 1.71 the script will kick in and is mainly used for making player attacks more difficult. It detect cloaking and is able to send its defenders at high speed to remote targets. e.g. Against players that from the edge of scanner range try to kill the carrier. It is still compatible with 1.65 but the extras are just not used then.

The new version can be downloaded from its wiki page: http://wiki.alioth.net/index.php/Behemoth

I also updated my "Behemoth Spacewar.oxp" to version 1.1. That one now will work with Oolite 1.71. It is also on the Wiki. The spacewar oxp has no ships of its own but brings behemoth <--> thargoid battle to normal space.
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8501
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

Bravo Eric! I may finally download this oxp!
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
Cmdr. Maegil
Sword-toting nut-job
Sword-toting nut-job
Posts: 1294
Joined: Tue Feb 27, 2007 10:28 pm
Location: On the mend in Western Africa

Post by Cmdr. Maegil »

Well done, keep up the good work </me pats Eric's shoulder>
You know those who, having been mugged and stabbed, fired, dog run over, house burned down, wife eloped with best friend, daughters becoming prostitutes and their countries invaded - still say that "all is well"?
I'm obviously not one of them.
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

Nice work, but you should probably re-think the version number.

The version (still by aegidian himself) I have downloaded a long time ago is called "behemoth-v2.3" (and it contains a history that tells what happened in version 2.2:
behemoth-v2.3

Files:

behemoth.oxp
readMe

Compatibility:

This OXP is by Aegidian ([email protected]) it works with any version of Oolite v1.65 or higher.

Install:

Move the behemoth.oxp bundle (or folder if you are using GNU/Linux or windows) into the Oolite AddOns folder.

Details:

Behemoth Class carriers are the dreadnoughts of the Imperial Navy. There are currently sixteen in service, mostly patrolling intersystem space where their Asps and Vipers are used to counter the Thargoid threat.

Half these ships are of the older INB01 class, but construction has recently been completed of the eight newer INB21 class behemoths.

Version 2.3:

Fixes a bug which could cause the AI stack to overflow.

Version 2.2:

REALLY fixes the problems with the Behemoth's docks (Behemoths were frangible and the docks were being shot away!)

Version 2.1:

Fixes the problems with the Behemoth's docks.

License:

The textures, models and plist texts are all copyright Giles Williams 2004-2006 and available for reuse under the Creative Commons Attribution-NonCommercial-ShareAlike License 2.0.

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.0/
or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

You are free:

• to copy, distribute, display, and perform the work
• to make derivative works

Under the following conditions:

• Attribution. You must give the original author credit.

• Non-commercial. You may not use this work for commercial purposes.

• Share Alike. If you alter, transform, or build upon this work,
you may distribute the resulting work only under a license identical to this one.

For any reuse or distribution, you must make clear to others the license terms of this work.

Any of these conditions can be waived if you get permission from the copyright holder.

Your fair use and other rights are in no way affected by the above.
So I suggest your re-working should be given at least version number 2.4, probably even 3.0.
User avatar
CaptKev
---- E L I T E ----
---- E L I T E ----
Posts: 519
Joined: Fri Jan 26, 2007 3:21 pm
Location: Shropshire, UK

Post by CaptKev »

Great work Eric.
Download Fighter HUD, Stingray and System Redux from the EliteWiki
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

Commander McLane wrote:
Nice work, but you should probably re-think the version number.

The version (still by aegidian himself) I have downloaded a long time ago is called "behemoth-v2.3"
I'm sure I downloaded the version from the wiki and that didn't include any readme or version number but I thought 2.1 was number of the newest version. I'll change version number one of these days to 2.4 and include above readme.

Can you check if your confirmed 2.3 version has the same definition for the dock in shipdata? In that case, the version on the wiki must be the 2.3 version. Name of that dock is :"behe-dockv2". It stays a problem when files are uploaded without any version number. Not even in the oxp itself.
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

Eric Walch wrote:
Can you check if your confirmed 2.3 version has the same definition for the dock in shipdata? In that case, the version on the wiki must be the 2.3 version. Name of that dock is :"behe-dockv2".
Yes, indeed. That's it.

Unfortunately I don't remember where I got it from. I guess Oosat2, because the version on Oosat1 isn't packed into a folder with version name, and it has no readMe. On top of that it contains a shipyard.plist for the Weeviloid Hunter, which obviously was removed later. And there is only one Behemoth in it. So I guess this was the initial release, and the 2.n-versions were on Oosat2.

If you're interested in finding other possible changes, I've put it up on Box.net: http://www.box.net/shared/vdod3zu8so
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

If you're interested in finding other possible changes, I've put it up on Box.net
Thanks, I examined it. My original had exact the same file size and dates as your version. It was only spread without readme and version number. It was the newest version 2.3 I worked on. It still contained the two non-existing AI messages APPROACH_START and APPROACH_STATION in the fighterDockingAI. These messages have an other name and won't work in the old 2.3 release.

Meanwhile I had still a few ideas for improvements. JS makes it possible to do more evaluations than in the past. e.g. currently an viper still keeps attacking when a robot fighter turns into cargo. For a pirate this is okay as it wants the content of a ship, but a viper only needs to put an enemy out of fight. It is just that I want to check it in a way that the script stays compabible with Oolite 1.65. One way to do this is over the offenceCommittedNearby handler. With 1.65 nothing happens and with 1.71 it is triggered.

While logging this handler I noticed that there is a considerable amount of "friendly fire" going on. Specially at the end of the battle when all vipers go for the few remaining thargoids, more than half of the offences at that moment are friendly fire. The handler is triggered at the same time the AI gets the OFFENCE_COMMITTED message. A good reason not to use this message in combat to switch targets otherwise police would start targeting other police. (Oolite has a backup system that corrects police targeting other police in case it does happen, but the police still would lose the original target). We as player are not so lucky. If we, in the heat of combat, accidentally hit a police, we become fugitive.

Bottom-line: The new additions work well now and I upload it this evening with a correct version number and the original readMe.

EDIT:
The new version 2.4 can be downloaded from its wiki page: http://wiki.alioth.net/index.php/Behemoth
Last edited by Eric Walch on Thu Jul 10, 2008 8:19 pm, edited 1 time in total.
User avatar
TGHC
---- E L I T E ----
---- E L I T E ----
Posts: 2157
Joined: Mon Jan 31, 2005 4:16 pm
Location: Berkshire, UK

Post by TGHC »

Well done Eric.
The Grey Haired Commander has spoken!
OK so I'm a PC user - "you know whats scary? Out of billions of sperm I was the fastest"
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

I just uploaded a new behemoth version adapted to the new oolite 1.72. It needed only the change of one single command. This new version will run as well with the old 1.71 and with 1.65.

Behemoth v 2.5

While I had to upload a new 1.72 compatible version I made also some other smaller changes.

- Most noticeable change is that it now always uses its new AI scripting. All previous versions defaulted to a police behaviour when added by the populator. This way it is more likely to launch its defenders in normal space.

- Better counter measures against cloaked attacks. When it is attacked by a cloaked ship, it assumes that the first ships that de-cloaks was the attacker.

- Made the frequency of behemoths in interstellar space a little lower. (But still to much in my opinion). And it is even less likely to encounter the same behemoth after a few miss-jumps. (there are 16 individually named ships divided in 2 classes)
User avatar
Ark
---- E L I T E ----
---- E L I T E ----
Posts: 664
Joined: Sun Dec 09, 2007 8:22 am
Location: Athens Greece

Post by Ark »

Eric Walch wrote:
- Most noticeable change is that it now always uses its new AI scripting. All previous versions defaulted to a police behaviour when added by the populator. This way it is more likely to launch its defenders in normal space.
Does that mean that you have intergrated behemoth spacewar oxp ?
Do we still need the second?

Edit : Defenetly we need it. Behemoth spacewar oxp has nothing to do with its AI.
Sorry Eric :oops:
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

Ark wrote:
Does that mean that you have intergrated behemoth spacewar oxp ? Do we still need the second?
Edit : Defenetly we need it. :oops:
It is not a strange question about the Behemoth-spacewar at all. My initial release (v1.0 ) was mend as an add-on to the behemoth and gave it better AI scripting without changing the behemoth.oxp itself. It was said in the read-me and that part you remembered from the first release.

However this initial release had a version limitation (with min and max version) so it only would work with 1.70. The current Behemoth-spacewar (v 1.2.1), does not try to overwrite the behemothAI. It just brings the behemoth-thargoid battle to normal space. It will even tests for the behemoth.oxp presence. If not present it just adds some police instead. (Who will most likely get killed by the thargoids in that case)

The Behemoth-spacewar was my first effort in AI scripting a carrier and handle the dockings. Main problem is that any ship that asks for docking puts a carrier in a stopping behaviour. But it sends a message to the AI that a docking was requested. Depending on the state I now switch to a real carrierdockingAI or I overwrite the stop command with a new attack command. This results that a docking ship gets accepted but will be held in a waiting loop until the carrier is finished with its attack.

I recently tried this new behemothAI in combination with the player docking computer. After a miss-jump I started my autopilot while one behemoth was fighting several thargoids. On the Mac, with the debugging tool, you can set the target inspector on the behemoth to see how it reacts and switches targets. First it finish its attack after a docking request, than it is switching to the receiveDockingAI. When on a full halt, the player gets guided in.
Meanwhile the carrier is still scanning the surroundings for hostiles and issues new group-attack commands to its defenders when it finds hostiles. The carrier itself stays put as long as it does not get a direct hit. In case of a direct hut, the docker is put in a hold again and the behemoth switches back to its attack mode. I put a lot of effort in it to get this working this way. It seems all to work as intended now and at the end I was docked safely by my computer.
User avatar
Cmdr James
Commodore
Commodore
Posts: 1357
Joined: Tue Jun 05, 2007 10:43 pm
Location: Berlin

Post by Cmdr James »

On my system (1.72 on OSX), the behremoth type 2 (Colosus for example) has a docking slit at the back, which is rotated 90 degrees so it doesnt match up properly with the model, and is impossible to dock in with a normal sized ship.

I think I have the latest version of behemoth, which is 2.5.

Do other people get this behaviour?
User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

...

Post by Lestradae »

Cmdr James wrote:
Do other people get this behaviour?
I do.
User avatar
Cmdr James
Commodore
Commodore
Posts: 1357
Joined: Tue Jun 05, 2007 10:43 pm
Location: Berlin

Post by Cmdr James »

cool. so.... is it a bug in behemoth, or in oolite :D
Post Reply