Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment  
Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,180
Reply with quote  #1 
At last the Science Console can interact with a Generic Mesh!

You should be able to use fields (I think ship_text?) for Generic Meshes. Science can scan them just like enemy ships. In addition to a name they should have a scan_level, a race, a class, a scan_text . . . I believe Generic Meshes have everything but a hail_text. If you want players to communicate with a Generic Mesh you must use the Comms buttons.

This will be very powerful!

Weapons cannot target a Generic Mesh, but I think you can simulate it by pinning a Wreck inside the Mesh. Alternatively, if you want players to be able to shoot at a Generic Mesh that absorbs tons of damage, pin an unarmed cargo or luxury liner inside the Mesh, name it appropriately, and boost its shields to 1,000.

__________________
"The Admiralty had demanded six ships; the economists offered four; and we finally compromised on eight."
- Winston Churchill
ryleyra

Registered:
Posts: 2,888
Reply with quote  #2 
I think I've made this suggestion before, but I think it would be helpful if it was possible to do all of:

Target a genericMesh on weapons and do fake shield damage.
Select a genericMesh on the Science console and scan it to discover information, on combination with or independent of the above.
NOT target or select it and have it available only as a decoration on the map.

There would have to be some sort of flag that would indicate whether the mesh was targetable by Weapons or not. This could be similar to the way fake shields work, where no fake shields would be untargetable, while either front fake shields or front or back fake shields would be targetable. (What really is the point of having shields on an object if it can't be shot?)

Whether or not it can be selected on Science could be a separate flag, like blocksShotFlag. That flag would obviously determine whether it can be hit, and absorb the hit, even if it has no shields.

I definitely need to experiment with this to find out whether all genericMeshes are selectable now.
Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,180
Reply with quote  #3 
I don't think we will have Meshes targetable by weapons any time soon. Thom has lamented since the day they were introduced that he knew he was opening Pandora's box - - - that mission scripters would want Generic Meshes to be able to do EVERYTHING. Extrapolating from that, Generic Objects could have flags to modify act as anything from an enemy super-ship to a sentient asteroid to a giant space amoeba filling half the map. Mission scripts would never need to use any other type of object and by customizing Generics we could turn Artemis into a whole new game that was about zeppelins or submarines or giant sand worms.

In reality Generic Meshes were only supposed to allow you to show a nifty 3-D object on the main screen. Unfortunately many crews spend the entire game on Long range Scan so they never see your 3-D handiwork.

I for one plan to be thankful for all the cool new features and find work arounds for anything else I want to do.

__________________
"The Admiralty had demanded six ships; the economists offered four; and we finally compromised on eight."
- Winston Churchill
ryleyra

Registered:
Posts: 2,888
Reply with quote  #4 
Agreed. I see the generic mesh as the way to create a unique "monster of the week" without having to change vesselData. Or a means to add planets or other asteroid-like bodies. In both cases you wouldn't necessarily want to shoot it. It's something to investigate.

I'll add that now that the generic mesh can probably be used to implement the "Meteor on a Collision Course" mission I was planning for my Simple Sandbox, I've dropped it to save space. 😃 I can probably use it in some of the other missions though.

Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,180
Reply with quote  #5 
Quote:
Originally Posted by ryleyra
Agreed. I see the generic mesh as the way to create a unique "monster of the week" without having to change vesselData. Or a means to add planets or other asteroid-like bodies. In both cases you wouldn't necessarily want to shoot it. It's something to investigate.


And I think you can create something that Weapons could shoot by placing a shootable object inside the Generic, a Wreck or a Ship. That ought to work well enough for now.

For me the big improvement is that you now have an object that can give all sorts of information to Science. A Generic Object has open text fields that can say anything you want, and you can tell whether or not it has been scanned so you can even change the fields, adding new information as the players conduct their research. Those powers will be tremendously useful for storytelling.

__________________
"The Admiralty had demanded six ships; the economists offered four; and we finally compromised on eight."
- Winston Churchill
Darrin

Registered:
Posts: 44
Reply with quote  #6 
I am still having a very difficult time getting the meshes to move around. They don't appear to respond to AI commands. The direct mesh to a target point doesn't work. You can direct a mesh towards another object, but since it's not exactly a ship with a particular heading, the direction and speed can be very wonky. Right now my best solution is to hide a "ghost ship" out of sensor range and drag the mesh along by copying x/z coordinates. But the ghost ship still shows up on helm's screen when you get near it for some reason.
Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,180
Reply with quote  #7 
Quote:
Originally Posted by Darrin
I am still having a very difficult time getting the meshes to move around. They don't appear to respond to AI commands. The direct mesh to a target point doesn't work. You can direct a mesh towards another object, but since it's not exactly a ship with a particular heading, the direction and speed can be very wonky. Right now my best solution is to hide a "ghost ship" out of sensor range and drag the mesh along by copying x/z coordinates. But the ghost ship still shows up on helm's screen when you get near it for some reason.


I don't think the Meshes have brain stacks. They should respond to the Direct command. You should be able to direct a generic to targetName or to pointX, pointY, pointZ (not targetX, targetY, targetZ). It will move with an absolute speed of scriptThrottle (not targetThrottle).

You can change a Generic's angle, but I don't remember being able to affect its direction of travel using that mechanism. That is, I don't think a script can tell a Generic Object to "move in direction 185." Instead you could set the generic's Angle to 185, use set_relative_position to put a distant object at angle zero from the generic, then Direct the generic to move toward that distant object.

Your ghost ship will probably show up on Science as well, once the players get within sensor range. Then it will show up on Comms, too, once Science IDs it.

__________________
"The Admiralty had demanded six ships; the economists offered four; and we finally compromised on eight."
- Winston Churchill
Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,180
Reply with quote  #8 
For the record I spent a few hours experimenting with this last night. I successfully used set_ship_text to assign name, class, text, and scan_text to a generic object. Science could see name, class, and text after the first scan. Science could see scan_text after the second scan.

I was unsuccessful at detecting scan_level. Either that doesn't work for generics or I haven't got the syntax quite right yet.

__________________
"The Admiralty had demanded six ships; the economists offered four; and we finally compromised on eight."
- Winston Churchill
smcameron

Registered:
Posts: 4
Reply with quote  #9 
Heh, great minds think alike, apparently. Committed something similar 2 days ago to my bridgesim game, purely by coincidence.
ryleyra

Registered:
Posts: 2,888
Reply with quote  #10 
Quote:
Originally Posted by Mike Substelny


I don't think the Meshes have brain stacks. They should respond to the Direct command. You should be able to direct a generic to targetName or to pointX, pointY, pointZ (not targetX, targetY, targetZ). It will move with an absolute speed of scriptThrottle (not targetThrottle).


It should be noted that while I have never tested this, an absolute speed is very different from targetThrottle from the AI command, which ranges from 0.0 to 1.0. This is the ratio of the speed to the vessel's maximum speed. If scriptThrottle takes an absolute value, that value could be anything from the distance moved in 1/100 of a second, where 1.0 would be noticeable, to the distance moved in 1 second, where 1.0 would NOT be noticeable.

My guess is it is the same units used in vesselData, 0.3 to 1.8, with 6.0 being Warp 1, but I would need to experiment.

Darrin

Registered:
Posts: 44
Reply with quote  #11 
Does anyone know if the blocksShotFlag is still implemented? I was thinking I could use this as a "supershield" to block shots against an enemy ship, but whenever I put a large-ish mesh between the Artemis and a target, the torpedoes and beams shoot right through it. 

Creating a generic mesh right on top of another object also appears to have some issues. If you try to create another object too close to a generic mesh, the game won't create it. Is there a specific distance that the Create command checks before loading in a new object? Does pushRadius have any effect on how close you can create or move an object near a generic mesh?




Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,180
Reply with quote  #12 
I'm not certain, Darrin. I believe the blocksShotsFlag used to work but I never actually tested it. You may be the first mission scripter to try it.

Asteroids block shots, but you can't move them because they are not named objects.

I am confident that pushRadius used to work for generic objects and I believe that it still does. If you set it to a low number you should be able to get two generic objects really close to each other using set_relative_position. You might be limited in setting them inside ships and other objects, but you should be able to place them very, very close.

__________________
"The Admiralty had demanded six ships; the economists offered four; and we finally compromised on eight."
- Winston Churchill
ryleyra

Registered:
Posts: 2,888
Reply with quote  #13 
Oddly, I've found very little problem creating two objects on top of each other in 2.7, but the game may be automatically offsetting them by the pushradius once they are created. In my scripts, of course, I always make sure there is at least 10 pixels between any two objects I create, even my intention is to replace an existing object.
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.