Members | Sign In
All Forums > Help
avatar

Multiple Weapons Console

posted Feb 01, 2013 00:09:38 by ZacharyDanielBringham
I'm pretty new to Artemis, but I love it so far. I'm currently GMing a campaign of the Star Wars RPG with a group of 7, and I'm planning on using Artemis to replace the turn-based space combat of the game. Is there any way to have 2 weapons consoles, each controlling a separate beam weapon? The ship has 2 gun turrets and it would be nice to have individual control.
Additionally, it would be awesome to have a Tactical console that would fire torpedoes and assign targets to the individual weapons stations. When the weapons stations aren't manned, the turrets would auto-fire at the assigned targets.
I will be working on a Star Wars mod, of course. Maybe some 360 fire arc for the turrets, faster recharge rates with lower damage per shot, that sort of thing.
page   1 2 next last
30 replies
avatar
JSpaced said Feb 01, 2013 12:14:55
Hi Zach, welcome to the fold. The answer, as far as I know, is no. There is one weapons console and one helms console and they get listed as "taken" on the other client screens when they've been selected.
Good luck with your mod and your game though.
J
"We should give him the send-off he deserves. He died saving us all. Prepare a Rocket-Shed for immediate launch."
avatar
ZacharyDanielBringham said Feb 01, 2013 16:25:28
Thanks for the quick response. I'll keep looking for a workaround
avatar
TaigiaReilly said Feb 03, 2013 06:54:21
I have nothing productive to add but I really wanna say it: Use the force.
avatar
lucas99801 said Feb 03, 2013 21:19:10
You could possible input something like this pseudocode into a mission script:

Create player "Artemis" at X,Y,Z
Create player "Intrepid" at X,Y,Z

then have a separate event:

Copy object property "positionX" from object with name "Artemis" to object with name "Intrepid"
Copy object property "positionY" from object with name "Artemis" to object with name "Intrepid"
Copy object property "positionZ" from object with name "Artemis" to object with name "Intrepid"
Copy object property "angle" from object with name "Artemis" to object with name "Intrepid"


This would basically force the Intrepid to tag along with any position the artemis moved to. I'm not sure how this would affect the server, and it would force the two stations to have the same firing arc.

Alternatively you could have the script force two extra ships to have the same position as the artemis, but angles of -45 and +45 in comparison to the artemis, or -90/+90, to cover both sides of the ship?



Just a thought/janky work around, but it may be useful, i'll play with it!
Hosting a Mumble (Murmur) server @ tsnfenrir.no-ip.org
Having trouble connecting to the TeamSpeak channel: http://tsnfenrir.no-ip.org/ts3
Helm Script for Numerical heading input: https://dl.dropbox.com/u/10193809/ArtemisHelmFSW.zip
Twitter: @lucas99801
Facebook: /lucastarnold
avatar
ZacharyDanielBringham said Feb 03, 2013 23:58:41
Lucas, that might actually work. I'd have to copy more info so the readout on each separate console would be the same, but that shouldn't be too bad.
avatar
RussJudge said Feb 05, 2013 13:59:15
If you have seven people to play, I'd suggest having two ships, four for one ship, and three for the other. That way, instead of two guys fiddling around manually targeting beam weapons as their only function, you would have everyone trying to manage multiple functions, probably constantly busy.
Russ
Author of Artemis Mod Loader.

Sign up for a free Dropbox account.
avatar
JSpaced said Feb 05, 2013 14:48:54
Hey Russ,
If Zach's game setting has only one ship then it breaks the immersion. Lucas' work around is a stroke of genius (if it works). I would suggest turning off 3d chase camera on the viewscreen though.

Since the consoles are connected and you're only doing it so weapons have twice the stations, you don't need to worry about readouts. The ships stay connected, any messages intended for weapons station will go to both. It's actually a top notch idea!

J
"We should give him the send-off he deserves. He died saving us all. Prepare a Rocket-Shed for immediate launch."
avatar
ZacharyDanielBringham said Feb 05, 2013 15:58:01
JSpaced is right. Since the game I'm running consists of 7 people, all crew of a single ship, having multiple ships wouldn't exactly work. I'm planning on starting a separate game with the same people so that we can just play Artemis directly (And so I can man a console :D), but for now I have 7 people on a ship that is designed similarly to the Millennium Falcon, with 2 gun turrets.
avatar
MarkBell said Feb 05, 2013 19:14:43
The only trick might be to offset the y-axis of the two ships to prevent a collision error on the server. You might run into a c++ assertion error for that.
avatar
ZacharyDanielBringham said Feb 06, 2013 01:32:00
I used the mission editor today and tried it with 2 different methods. First, I created an event that gets triggered whenever Artemis is more than 0 meters from "Turret" as I called the second ship. The event then moves turret 0m 0degrees starboard of Artemis. That worked, but there was a refresh delay that displayed 2 ships at separate locations every few intervals, like 1/sec or so, depending on ship speed. Then I changed the event to be triggered by a .01 second timer and copy the location, angle, pitch, and roll info from Artemis to turret, but that was worse. For starters, when I increased impulse speed, both ships went backwards, and the lag was more noticeable. The one thing that didn't happen was contact between the two ships, ie a collision, so there's that.
avatar
ZacharyDanielBringham said Feb 06, 2013 01:37:46
Also, I'm not entirely clear on how to use the ship editor. I can get it to import my model and set up the internal systems within the actual boundaries of the model (I used it with a TIE Interceptor model), but I'm not sure what to do now. How do I get my new ship into the game?
avatar
MarkBell said Feb 06, 2013 15:46:32
Once you've got your mesh (.dxs), internal (.snt) and texture maps (.png), then you just add it into your new spiffy custom vesselData.xml file. You have options of simply modifying the existing vesselData file or creating an all new one. This mostly depends on whether you've got enough ships to justify a total conversion or just a small modification. If you've got enough ships and want only Star Wars ships showing up, then you'll need to remove all the stock vessels and replace 'em with yours. There are several mods that have examples of total vesselData conversions. (Just make sure to keep track of the stock one!)

The power of the ship editor (asides from the internal structure) is in also picking off points for weapon ports, etc.

For example, in my mod, this is a vessel declaration for the Saber class cruiser:

<vessel uniqueID="9" side="0" classname="Saber" broadType="player">
<long_desc text="Saber Class Cruiser^Commander Grade^A next-generation cruiser design^8 beams, 3 Torpedo tubes^Stores for 2 nukes, 8 homing, 6 mines, 4 ECM." />
<art meshfile="dat/Mods/ST_TNG/models/Saber.dxs" diffuseFile="dat/Mods/ST_TNG/textures/Saber2.png" glowFile="dat/Mods/ST_TNG/textures/Saber2Glow.png" specularFile="dat/Mods/ST_TNG/textures/Saber2Spec.png" scale="0.9" pushRadius="125" />
<shields front="2016" back="2016" />
<performance turnrate="0.0103" topspeed="0.55" />
<internal_data file="dat/Mods/ST_TNG/models/Saber.snt" />
<beam_port arcwidth="0.3" damage="16" cycletime="10.6" range="1680" x="50.72" y="14.19" z="61.72" />
<beam_port arcwidth="0.3" damage="16" cycletime="10.6" range="1680" x="30.44" y="0" z="60.13" />
<beam_port arcwidth="0.3" damage="16" cycletime="10.6" range="1680" x="-50.72" y="14.19" z="61.72" />
<beam_port arcwidth="0.3" damage="16" cycletime="10.6" range="1680" x="-30.44" y="0" z="60.13" />
<beam_port arcwidth="0.3" damage="16" cycletime="10.6" range="1680" x="26.72" y="18.33" z="-68.15" />
<beam_port arcwidth="0.3" damage="16" cycletime="10.6" range="1680" x="-26.72" y="18.33" z="-68.15" />
<beam_port arcwidth="0.3" damage="16" cycletime="10.6" range="1680" x="27.31" y="1.6" z="-78.26" />
<beam_port arcwidth="0.3" damage="16" cycletime="10.6" range="1680" x="-27.31" y="1.6" z="-78.26" />
<torpedo_tube x="17.44" y="9.93" z="102.43" />
<torpedo_tube x="-17.44" y="9.93" z="102.43" />
<torpedo_tube x="0" y="15.04" z="-119.76" />
<torpedo_storage type="0" amount="8" />
<torpedo_storage type="1" amount="2" />
<torpedo_storage type="2" amount="6" />
<torpedo_storage type="3" amount="4" />
</vessel>


The vessel declaration for the stock Artemis class cruiser is:
<vessel uniqueID="0" side="0" classname="Light Cruiser" broadType="player">
<art meshfile="dat/artemis.dxs" diffuseFile="dat/artemis_diffuse.png" glowFile="dat/artemis_illum.png" specularFile="dat/artemis_specular.png" scale="0.2" pushRadius="150" />
<internal_data file="dat/artemis.snt" />
<shields front="80" back="80" />
<performance turnrate="0.004" topspeed="0.6" />
<beam_port x="-102.14" y="8.35" z="258.74" damage="12" arcwidth="0.4" cycletime="6.0" range="1000" />
<beam_port x="102.14" y="8.35" z="258.74" damage="12" arcwidth="0.4" cycletime="6.0" range="1000" />
<torpedo_tube x="0" y="8.35" z="258.74" />
<torpedo_tube x="0" y="8.35" z="258.74" />
<torpedo_storage type="0" amount="8" />
<!-- Type 1 Homing" -->
<torpedo_storage type="1" amount="2" />
<!-- Type 4 LR Nuke -->
<torpedo_storage type="2" amount="6" />
<!-- Type 6 Mine" -->
<torpedo_storage type="3" amount="4" />
<!-- Type 9 ECM" -->
<engine_port x="82.93" y="5" z="-240.89" />
<engine_port x="-82.93" y="5" z="-240.89" />
<engine_port x="0" y="-9.22" z="-300" />
<engine_port x="0" y="29.64" z="-300" />
<long_desc text="USFP Cruiser^Standard long patrol vessel of the USFP.^2 forward beams^2 Torpedo tubes^Stores for 2 nukes, 8 homing, 6 mines, 4 ECM." />
</vessel>
avatar
ZacharyDanielBringham said Feb 06, 2013 16:47:07
All right, awesome. Couple questions:
arcwidth is a percentage of a full circle, right? Not radians? ie, arcwidth=1 means 360 degrees?
What are the units of top speed and turn rate?
What are pushRadius, diffuseFile, glowFile, and specularFile?
I'm pretty sure most of the distance measurements are in meters, right?
And then I think I've seen this addressed, but y is the vertical, correct? Meaning that the game plays in the XZ plane?

Thanks
avatar
MarkBell said Feb 06, 2013 16:52:38
1) Yes, fraction of a circle, so .5 is 180°, 1 is 360°.
2) Undefined? :) topSpeed is a relative measure, affecting impulse speeds as well as warp speeds and efficiency. turnRate I calculated is °/second / 2500 at 100% maneuver power. So, to get a turning rate of 20°/s, set turnRate to 0.0080.
3) pushRadius is the invisible clipping barrier from the center of the ship. If the ship is 25m long, then the push radius should be ~12.5m. diffuseFile is the basic texture map, glow is the map that appears when there is no light shining on it (window lights, running lights, a shadowed version of the regular one), and specular is the reflectiveness of the surface. Look into one of the mods and explore the files that are called out for examples.
4) Technically there aren't units, but it's pretty easy to say meters.
5) Yes, y is up.
avatar
ZacharyDanielBringham said Feb 06, 2013 17:47:02
Fantastic.
Is top speed a number between 0 and 1? Also, what's scale? for your saber it's .9 and for the Artemis it's .2, but what does that mean?
Login below to reply: