Page 23 of 31

Posted: Sat Oct 08, 2005 2:13 pm
by Star Gazer
@ Selezen - surely you could use all the code for the normal dodo, and just pretend it was a custom one by copying it back, with a new skin, under a new name??? ...or am I being really stupid...?

Posted: Sat Oct 08, 2005 2:45 pm
by Selezen
That's pretty much what I've done - just not pretending it's my own design...

I've copied the new-dodo.dat file and its textures and plist entry and everything. All I've really done is add a new unique role to the list so I can call it by name in the planetinfo.plist file.

Posted: Sat Oct 08, 2005 3:25 pm
by aegidian
Y'know I downloaded and tested this for the first time today (it works pretty well as a soak test!).

I'm incredibly impressed with all you've done so far.

There are a few things I hope I can contribute:

1. It may well be worth reducing the number of entities by grouping graves together in small groups - by using a central grave and having a half-dozen or so other graves around it as (frangible) sub-entities. This'll reduce the load on the game engine because it can then treat the group as a single entity.

2. Since the graves are inactive ships they could have

Code: Select all

scanClass = "CLASS_CARGO";
in their shipdata.plist entries which would make their scanner blips a more funereal light gray.

3. The latest builds of Oolite contain scripting code for more precise positioning of ships:

Code: Select all

addShipsAtPrecisely: role number system X Y Z
I'm not sure if you're using this already but it may be useful.

Amazing good work, keep it up!

Posted: Sat Oct 08, 2005 4:42 pm
by Rxke
It may well be worth reducing the number of entities by grouping graves together in small groups - by using a central grave and having a half-dozen or so other graves around it as (frangible) sub-entities. This'll reduce the load on the game engine because it can then treat the group as a single entity.
Hmmm. One of the first designs, I -inadvertedly- imported some of A_H's designs in groups, so that you saw 5 objects, spaced out, (1 big central, 4 smaller...) but it was only one. This made objectcount low, but you couldn't fly in between them... Proves unplayable,because one always forgets that and it feel like a bug... Booooom.... Would your solution make it possible to fly between the sub-entities?

Posted: Sat Oct 08, 2005 4:44 pm
by Selezen
aegidian wrote:
1. It may well be worth reducing the number of entities by grouping graves together in small groups - by using a central grave and having a half-dozen or so other graves around it as (frangible) sub-entities. This'll reduce the load on the game engine because it can then treat the group as a single entity.
Can the linux/PC code handle frangibles? I thought the source for the linux version was 1.51, and frangibles were introduced in 1.52? If they're in there, then I'll certainly use frangibles...
aegidian wrote:
2. Since the graves are inactive ships they could have

Code: Select all

scanClass = "CLASS_CARGO";
in their shipdata.plist entries which would make their scanner blips a more funereal light gray.
Done that now. much better.
aegidian wrote:
3. The latest builds of Oolite contain scripting code for more precise positioning of ships:

Code: Select all

addShipsAtPrecisely: role number system X Y Z
I'm not sure if you're using this already but it may be useful.
Again, is the linux/PC code base recent enough for this? I may use it for a few things, but as I am dumping the graves in groups, it might not work as well... The scattering of the graves works pretty well, I thought, and does give an overall spirally look...

I tried to use addShipsAtPrecisely and the game locked up. It parsed the plists with no errors, the game wouldn't start.

Posted: Sat Oct 08, 2005 5:05 pm
by aegidian
Rxke wrote:
Would your solution make it possible to fly between the sub-entities?
Yes in the latest code — if the Weeviloid Hunter works (shooting off its arms) then independent subentity collision detection is enabled.

I believe the linux code is somewhat in advance of the latest Mac release (at v1.53 or higher, winston can answer for sure).

Checking http://svn.berlios.de/viewcvs/oolite-li ... iew=markup seems to indicate that the new routines are in place.

Posted: Sat Oct 08, 2005 5:40 pm
by winston
The stable release for Linux is 1.52, and I've tested the Weeviloid Hunter (and it works fine). The development version is an intermediate SVN merge from Mac OS X 1.53's SVN (as at last Saturday) - so both are good to go.

Posted: Mon Oct 10, 2005 9:05 am
by Selezen
OK then, I'm now using the addShipsAtPrecisely command, and it is fine! Not looked at making subentities yet. Want to try and sort out the AI behaviour (for the patrols) first.

I noted that there are now TOGY conversations in three threads, so maybe i should drag them back here... :wink:

Questions I would like to ask:

1: Is there any collision avoidance logic that can be entered into the AI code? If not, does anyone know how I can stop my patrols flying straight into the first beacon?

2: Does anyone feel like building some new graves? Not monuments as such, just simple tombs, like coffin shapes, decorated boxes, plaques, broken ships and the like?

3: My space station keeps blowing up! There's a nasty hognose tug that keeps launching from the station and blowing its towed ship up on exit. Also, the ships I am autogenerating around the station are rubbing against it as it rotates occasionally, and in these situations it occasionally blows up.

4: I have added the code that Giles mentioned would make the station launch only ships of a specific role, but the code seems to be ignored - the station is still launching Vipers. Is there any particular location where I need to enter the code, or is the following about accurate:

From the Lancet ship definition:

Code: Select all

	missiles = 1;
	model = complete_lancetmkiiankh.dat;
	name = "Lancet Interceptor";
	roles = "togy-defence";
	thrust = 0;
From the station's definition:

Code: Select all

		cargo_type = CARGO_NOT_CARGO;
		energy_recharge_rate = 1000;
		max_defense_ships = 10;
		"defense_ship_role" = "togy-defence";
		forward_weapon_type = WEAPON_NONE;
		has_ecm = 0;
		has_escape_pod = 0;
		has_scoop = 0;

Posted: Mon Oct 10, 2005 11:03 am
by Murgh
2. sure. could do some of those.
are A_H's sleek shipjunk parts already implemented? more of that sort?

3. I imagine we'll see some change when the new navigation code is in place. (NPCs will be improved pilots, remember) and if small objects still persist unrealistically destroying huge ones, we'll just have to take the case to court.

4. looking at the code, I think it's odd, especially to one used to seeing XML plists, that quotation marks are both used and not..

so you're definitely sticking with the ASCII for the shipdata?

Posted: Mon Oct 10, 2005 11:29 am
by Selezen
Murgh wrote:
2. sure. could do some of those.
are A_H's sleek shipjunk parts already implemented? more of that sort?
No, I've not added Arnoud's stuff yet. I'm having enough fun juggling all these text files without getting back into the modelling and texturing arena. I haven't even looked to see if he / they have converted the models to dat files yet...
Murgh wrote:
3. I imagine we'll see some change when the new navigation code is in place. (NPCs will be improved pilots, remember) and if small objects still persist unrealistically destroying huge ones, we'll just have to take the case to court.
I've got over it for now by bumping up the max_energy and energy_recharge values - should stop them from being exploded by a few hits from a ship...
Murgh wrote:
so you're definitely sticking with the ASCII for the shipdata?
For now, yeah - I can't be bothered going through it all and converting it back to XML, plus which I think the ASCII format is more readable. For me, at least. And it keeps the file sizes of the text files down. i know it's not a lot, but it's still something...

Posted: Mon Oct 10, 2005 12:02 pm
by Murgh
ok, but considering evident good work that has already been put into that, I'll look into the more basic stuff you mention (simple tombs, like coffin shapes, decorated boxes, plaques hmm)
Selezen wrote:
..I think the ASCII format is more readable. For me, at least.
well I completely disagree with you there ;)

I'll try a mail to A_H and see if he's got a moment to follow up on the models that are ready.

Posted: Mon Oct 10, 2005 1:39 pm
by aegidian
Selezen wrote:
1: Is there any collision avoidance logic that can be entered into the AI code? If not, does anyone know how I can stop my patrols flying straight into the first beacon?
Yes, but it's a bit complex. I'll try to explain.

When your AI calls checkCourseToDestination it will get one of two responses, either 'COURSE_OK' or 'WAYPOINT_SET'.

The second response ('WAYPOINT_SET') indicates that there is something between the ship and its destination coordinates. The first safe way point on a route that takes the ship around the obstacle is calculated and loaded into the destination.

So if you get a WAYPOINT_SET message (say on the way to control point 1)you should have the AI enter a new state called something like AVOIDING_HAZARD_ON_ROUTE_TO_CONTROL_1.

This state should look a bit like this:

Code: Select all

    "AVOIDING_HAZARD_ON_ROUTE_TO_CONTROL_1" = {
		ENTER = ("setDesiredRangeTo: 50.0", checkCourseToDestination);
		"COURSE_OK" = ("setSpeedFactorTo: 0.4", performFlyToRangeFromDestination);
		"WAYPOINT_SET" = ("setDesiredRangeTo: 50.0", checkCourseToDestination);
		"DESIRED_RANGE_ACHIEVED" = ("setStateTo: GO_TO_CONTROL_POINT_1");
		EXIT = ();
		UPDATE = ();
	};
You'll need a separate state like this for each 'GO_TO_CONTROL_POINT_X' state you have.

This code was originally written so that the shuttles taking off from the planet don't fly through it on the way to the station. It works pretty well.

Posted: Tue Oct 11, 2005 3:47 pm
by Murgh
speaking of shuttles. when will we se them again? :shock:

I mailed with A_H and he seemed glad to offload some gruntwork, but looking in the TGYgroup, there was no obvious task to do. his wreck models I didn't see..

could we make a list of the specific items that are next to do, as far as resizing and such?

Posted: Wed Oct 12, 2005 9:39 am
by Selezen
You mean these?

Image

I'll put them in when I get the AI sorted out. No point in adding more ships until they can do something...

Posted: Wed Oct 12, 2005 10:08 am
by Murgh
no, that comment was in reference to the regular planetbound shuttles (and transporters) that I can't remember the last time I saw. them having nullAI and never seeing them being called upon in the console, one gets the impression they've been sidelined.

I understand the TGYshuttles are on hold. but isn't the shuttleAI good and ready? it seemed you had cracked it.