December 02, 2024, 18:24:55

Author Topic: Freespace  (Read 84409 times)

Offline Arparso

  • Administrator
  • Lieutenant
  • *****
  • Posts: 558
  • Karma: 14
  • I can see you...
    • View Profile
    • http://arparso.de/nexus
Freespace
« on: January 14, 2010, 11:21:15 »
I suppose I'm not the only fan of the sadly discontinued Freespace games around here, am I? So why are there no Freespace mods for Nexus? :P



This is what I came up with after a few hours trying to convert a Freespace 2 ship to Nexus. It still needs polish and proper turret/device/engine placement as well as Freespace-style weapon and engine effects, etc ... but still - it COULD be done.

Offline Mularac

  • Lieutenant
  • ***
  • Posts: 531
  • Karma: 11
    • View Profile
(No subject)
« Reply #1 on: January 14, 2010, 17:02:40 »
and if it is done then you'll be officially my hero :P
Freespace is up to date one of the best space fighter sim games.

Offline Arparso

  • Administrator
  • Lieutenant
  • *****
  • Posts: 558
  • Karma: 14
  • I can see you...
    • View Profile
    • http://arparso.de/nexus
(No subject)
« Reply #2 on: January 14, 2010, 18:05:26 »
So true.

Oh, and giant green beam cannons bundled with the freespace 2 firing sound rock ;) ... although they constantly keep shooting through my own ship's hull. Those tiny Freespace turrets and the GTC Fenris' hull with all of its protruding parts aren't really "compatible" with Nexus' idea of aiming. Guess I'll need to use bigger turrets and choose their positions more carefully - although I'd like to stick to the original freespace design as close as possible.


Offline Mularac

  • Lieutenant
  • ***
  • Posts: 531
  • Karma: 11
    • View Profile
(No subject)
« Reply #3 on: January 14, 2010, 19:59:55 »
Looks terrible awesome.... This is gonna be just great. If I could only get a battle between the collosus and asathanas... it would all be worth it :P

Offline nasharas

  • Recruit
  • *
  • Posts: 15
  • Karma: 0
    • View Profile
    • http://
(No subject)
« Reply #4 on: January 14, 2010, 21:36:43 »
as I recall, this mod was never being made 'cos it is impossible to add shields to fighters...

Offline Arparso

  • Administrator
  • Lieutenant
  • *****
  • Posts: 558
  • Karma: 14
  • I can see you...
    • View Profile
    • http://arparso.de/nexus
(No subject)
« Reply #5 on: January 14, 2010, 22:27:23 »
Seems plausible, but Nexus isn't really about fighters anyway. Compromises need to be made, anyway. For example the capital ships in Freespace move way too slow to grant an enjoyable gameplay experience in Nexus... in Freespace that is a non-issue, since it focuses much more on fighter combat. But Nexus is all about the capital ships and you won't want to spend all day looking at an Orion crawling through space with merely 15m/s.

Offline nasharas

  • Recruit
  • *
  • Posts: 15
  • Karma: 0
    • View Profile
    • http://
(No subject)
« Reply #6 on: January 14, 2010, 23:48:57 »
You have a point. Then I want to suggest another game - Starlancer, maybe anyone will remember this one :)

Offline Arparso

  • Administrator
  • Lieutenant
  • *****
  • Posts: 558
  • Karma: 14
  • I can see you...
    • View Profile
    • http://arparso.de/nexus
(No subject)
« Reply #7 on: January 15, 2010, 02:23:30 »
Yeah, I remember. It's not THAT old... ;)

However, same problem as Freespace: strong focus on fighter or small ship combat, which Nexus doesn't handle that well. Homeworld 2 may be a better target platform for both a Freespace or a Starlancer mod, because it gives you much more control over your fighters. But this ain't no Homeworld forum, so scrap that idea 8)

Anyways, progress from the Freespace front:





These two aren't quite as far as the Fenris. The Orion's turret textures aren't set up properly right now and both ships still need their hardpoints added or else I can't put some working engines and weapons on them.

Visually they're holding up quite nice in Nexus, I think.

Offline Keldane

  • Specialist
  • *
  • Posts: 73
  • Karma: 0
    • View Profile
    • http://
(No subject)
« Reply #8 on: January 15, 2010, 05:10:41 »
My god, that last model is beautiful. They all are, actually, but that last one in particular really seems to fit with the style of space craft design that I love but can never seem to put into words.

Offline Arparso

  • Administrator
  • Lieutenant
  • *****
  • Posts: 558
  • Karma: 14
  • I can see you...
    • View Profile
    • http://arparso.de/nexus
(No subject)
« Reply #9 on: January 15, 2010, 10:49:06 »
Nexus explosions: 'sploding stuff since 2004 ;)



Btw, I actually think, Freespace has got to have some of the most inconsistent ship designs I've ever seen. The Orion destroyer, for example, looks nothing like a Fenris cruiser... could have been built by an entirely different race and no one would notice. Also the Hecate-class destroyer or the Deimos corvette... there are only very few design elements the Terran ships have in common. You can also see that in Nexus, of course... look at the support ship, for example - totally different textures than the rest of the Human Navy.

Offline Keldane

  • Specialist
  • *
  • Posts: 73
  • Karma: 0
    • View Profile
    • http://
(No subject)
« Reply #10 on: January 16, 2010, 23:53:17 »
Out of curiosity, how do these ships look next to the standard Nexus models? Any chance of a screenshot that shows one of each?

Offline Arparso

  • Administrator
  • Lieutenant
  • *****
  • Posts: 558
  • Karma: 14
  • I can see you...
    • View Profile
    • http://arparso.de/nexus
(No subject)
« Reply #11 on: January 17, 2010, 01:26:42 »
Sure:







The Fenris and Aeolus cruisers blend in rather well and are both about the size of a human destroyer in Nexus. However, the Orion class destroyer doesn't really look like anything else in Nexus, but easily outclasses both the human battleship and support ship in size.

Offline Mularac

  • Lieutenant
  • ***
  • Posts: 531
  • Karma: 11
    • View Profile
(No subject)
« Reply #12 on: January 17, 2010, 01:54:22 »
I can't wait to see how the vasudan ships look ingame... those are among the best designs for spaceships I've ever seen.

Offline DreamorCZ

  • Petty Officer
  • **
  • Posts: 110
  • Karma: 1
    • View Profile
    • Czech Gaming Nexus
(No subject)
« Reply #13 on: January 18, 2010, 22:17:19 »
This looks really gorgeous, nice work.  I hope, we will see some public beta soon.
Editor in Chief at http://www.cgnexus.eu/

Offline Arparso

  • Administrator
  • Lieutenant
  • *****
  • Posts: 558
  • Karma: 14
  • I can see you...
    • View Profile
    • http://arparso.de/nexus
(No subject)
« Reply #14 on: January 20, 2010, 02:56:57 »
Has anyone succeeded in making a "weapon is chargin up" effect? Would be handy for those beam cannons. In fact, I actually did create such an effect, but with one big drawback: the damage is applied instantly, when the weapon's effect is just starting to play the charging animation. Not only the damage is applied too early - the game also displays the hit EFX and sound of the damaged ship much too early, which ruins the illusion somewhat.

Of course I could make it an instant beam, but seeing those beam cannons powering up was just such an epic moment in Freespace - I'd like to recreate that in Nexus as well. So any ideas?

My EFX code so far:

Code: [Select]
EFX 50 // big green beam cannon

PARTICLE "Beam Emitter" 1

FLARE
Type 1
Size 600
Color 1 1 1
ColorB 0.1 0.9 0.1
        Attack 2
        Sustain 4
Decay .5
        PulseFactor 0.9
        ShakeFactor .5
FLARE
   
SOUND
Index 202 0
Level .9
SOUND
   
EFX

EFX 51

STRIP
Texture 12
Radius 20
Color 1 1 1
ColorB 0.1 0.9 0.1
Additive
Sustain 2.7
Decay .3
PulseFactor .7
Delay 2.9
STRIP
EFX

EFX 52
   
FLARE
Type 1
Size 1200
Color 1 1 1
ColorB 0.8 0.4 0.1
Sustain 2.7
Decay .7
PulseFactor .3
ShakeFactor 1
Delay 2.9
FLARE

EFX

Offline Mularac

  • Lieutenant
  • ***
  • Posts: 531
  • Karma: 11
    • View Profile
(No subject)
« Reply #15 on: January 20, 2010, 03:09:21 »
well...it could come in handy to have the code of the particle "Beam Emitter" :P
and what are they, end, start, travel effects......?

I have an idea... but I hardly think it's gonna work... perhaps a playefx command at the point of the gun when the device is turned on? however, I think that those things aren't dynamic and there's also the problem of locating those coordenates

Offline Arparso

  • Administrator
  • Lieutenant
  • *****
  • Posts: 558
  • Karma: 14
  • I can see you...
    • View Profile
    • http://arparso.de/nexus
(No subject)
« Reply #16 on: January 20, 2010, 14:00:25 »
Quote
well...it could come in handy to have the code of the particle "Beam Emitter" :P
and what are they, end, start, travel effects......?

Nah, the particle isn't really important for the effect itself and yeah, those are the start, travel and end effects of the beam weapon. As you can see, the start effect uses "Attack" to grow in size at first, while the travel and end effect are being delayed for 2.9 seconds. So for the first few seconds only the start effect is being played back while the actual firing effect is being delayed... but Nexus ignores that setting for the impact effect of the ship and displays that instantly.

I thought about just removing the ship's impact efx and emulate it with each weapon's end efx... you couldn't have ship specific impact efx anymore, but at least the timing would be right. However, the damage is still being applied instantly - a ship suddenly exploding while the beam is still powering on looks a bit funny...

Right now it looks like this:
Beam cannon test

Offline Mularac

  • Lieutenant
  • ***
  • Posts: 531
  • Karma: 11
    • View Profile
(No subject)
« Reply #17 on: January 20, 2010, 17:23:04 »
A question: Can you get the coordinates of a ship's weapon using commands?

EDIT: Nope, you can't

Offline Arparso

  • Administrator
  • Lieutenant
  • *****
  • Posts: 558
  • Karma: 14
  • I can see you...
    • View Profile
    • http://arparso.de/nexus
(No subject)
« Reply #18 on: January 20, 2010, 17:34:53 »
I don't think so. At least I didn't see any useful command or variable related to that. Ships have a position variable, but weapons do not.

Offline Keldane

  • Specialist
  • *
  • Posts: 73
  • Karma: 0
    • View Profile
    • http://
(No subject)
« Reply #19 on: January 21, 2010, 00:05:15 »
Is there any way to force the animation to start when the weapon starts charging?

Or perhaps treat the end of the beam as a projectile, and just have a tail long enough to connect it back to the firing ship regardless of range? That should theoretically delay the damage until the projectile hits. The downside is that, if the firing ship launches the projectile while moving, the "tail" would no longer connect to the weapon.

Offline Arparso

  • Administrator
  • Lieutenant
  • *****
  • Posts: 558
  • Karma: 14
  • I can see you...
    • View Profile
    • http://arparso.de/nexus
(No subject)
« Reply #20 on: January 21, 2010, 00:46:50 »
You'd still have the problem of "delaying" the actual shot. The start and travel EFX get played back immediately when the weapon is activated, while the end EFX and the ship's impact EFX will get played back when the projectile hits. So every laser and even every super-fast projectile trying to look like a laser would hit the ship the moment it is activated without waiting for the Start EFX to finish - and thus they immediately trigger the end and impact EFX and apply their damage to the target. Usually that's not a problem, unless you want a "charge EFX".

Would be actually great to have that sort of capability... not only Start, Travel and End, but also a ChargeEfx setting.

Anyway, I've applied a little laser magic to the Aeolus cruiser - you absolutely DON'T want to cross those beams:



... and I hate turret placement in Lightwave ... took me ages to prevent those things firing through the hull using CannonMaxFireAng ...

Offline Mularac

  • Lieutenant
  • ***
  • Posts: 531
  • Karma: 11
    • View Profile
(No subject)
« Reply #21 on: January 21, 2010, 01:46:00 »
I've come up with a solution, of sorts. Basically, this is my idea:

Have the "start" effect as a weapon, so that when it fires, we add, via the installdevice command, the beam weapon itself. This weapon should take as less time to charge as possible, I'd recommend something close to 0.5 or 1 second. Well, with a good sync, the fire of that weapon would be in the exact moment as it was in freespace. Once it fired, we disable the weapon and wait till the effect is off and then we delete it, waiting for the cicle to start all over again. The cool thing is that once we add the weapon with the installdevice command it won't show on the manual panel, but I don't know about the panel of enemy ships firing at you, haven't tried that yet.

There's only one problem with this method, but I think that it can be easily corrected with a bit of good harpointing: as the "charge" and "attack" effects are two different weapons, they will initiate in two different harpoints. Well, to counter that, when adding a hardpoint layout to your ship you should put two hardpoints in one location, where the beam cannon will be located, and then work arround with the sets to make sure that everything goes as planned (dunno what would happen with ships that have multiple beam emplacements... that could get a little messy...)

Anyhow, it's a start. So, here's the machine that would handle the weapons. Have in mind that I coded assuming that the beam weapon (the one responsible with the travel and end effect) took about 1 second to charge, and that the "start" one took more than 6 seconds, but that can be changed in the code) :

Code: [Select]
Machine "Beam"
State Fire
Rule event in
:action
SelectEx(s.this:Devtype=#beam_start,
RequestFiredEvent(s.this,1);
);
:end
END

Rule event Fired
condition IsValid(E.location)&E.location:devtype=#beam_start
:action
Debug("Fired1. The ship is:", e.location:owner, "and the target:", e.location:target);
ownr:=e.location:owner;
targ:=e.location:target;
Timer(Open_Fire, 1.9, e.target:=targ;e.ownr:=ownr);
:end
END

Rule event Open_Fire
condition IsValid(e.target)&IsValid(e.ownr)
:action
Debug("the ship is:", e.ownr, "and the target:", e.target);
InstallDevice(e.ownr, #magma_beam_travel);
SelectDevices(1, e.ownr, s.this:devtype=#beam_travel);
ExecList(1,
RequestFiredEvent(s.this,1);
TargetWeapon(s.this, e.target);
);
:end
END

Rule event Fired
Condition IsValid(E.location)&E.location:devtype=#beam_travel
:action
EnableDevice(e.location,0);
weap:=e.location;
Debug("Fired2. The ship is:", e.location:owner, "and the target:", e.location:target);
Timer(DeleteDevice, 3, e.wep:=weap);
:end
END

Rule event DeleteDevice
:action
DeleteDevice(e.wep);
:end
END
END
END

FYI: I've named in this code the start effect as "beam_start" and the main one as "beam_travel"

Offline Arparso

  • Administrator
  • Lieutenant
  • *****
  • Posts: 558
  • Karma: 14
  • I can see you...
    • View Profile
    • http://arparso.de/nexus
(No subject)
« Reply #22 on: January 21, 2010, 08:06:12 »
Cool idea, works like a charm. I can imagine quite a few problems with that, however.

1. You'd essentially block one of the already few weapon slots Nexus gives us, since one slot has to be available for the hidden beam weapon all the time... even more, if you've got multiple beams on the ship.

2. There's the chance of the hidden beam not firing at all, because the target could have gotten out of reach during the starting weapon's charge. The beam charge takes up to 2.9 seconds right now, which is more than enough time to maneuver out of range / out of the firing arc... would look odd having the charge EFX and sound, but no actual beam.

3. You'd have to create the ship mesh with that in mind, which would greatly restrict possible weapon loadouts. You could only install charging beam weapons, where the actual model allows that (and you can't really "enable" more than two or three slots to use that kind of weapon because of 1.)

4. Just my personal taste, but I see mission-level scripts as kind of a last resort for such elementary mechanics like functioning weapons. Sure, in some cases you can't avoid it, because you really need/want a certain effect, that can't be done otherwise. Still, I'd like the mission scripts to be relatively clean and focus on actual mission behaviour... that would make it easier for other mission scripters as well, since they don't need to include any of my scripts in their missions to not break the game.

The real deal breaker for me is the first argument, I fear. I can't see how to get around that right now. :(

Thanks for the effort though. It's appreciated :)

Offline Arparso

  • Administrator
  • Lieutenant
  • *****
  • Posts: 558
  • Karma: 14
  • I can see you...
    • View Profile
    • http://arparso.de/nexus
(No subject)
« Reply #23 on: January 21, 2010, 14:14:08 »
Another short video, this time the GTC Aeolus with beam cannons, turrets and flak guns and a glorious Nexus-style explosion:


Offline Mularac

  • Lieutenant
  • ***
  • Posts: 531
  • Karma: 11
    • View Profile
(No subject)
« Reply #24 on: January 21, 2010, 14:30:49 »
yeah... 1) would be the real problem... 2) could be worked out, though. Just add a number in the fourth entry of the BASEHITCHANCE table, making it "artillery". But yeah, perhaps we can find a way to work it arround. It would be worthy it... A working charging effect for Nexus.