Author Topic: Saga-Modding  (Read 10066 times)

0 Members and 1 Guest are viewing this topic.

Offline Talon 1024

  • 29
  • How do you turn this on?
    • Mods, Games, and Stuff
This is my attempt at a Kilrathi mainhall...  I did it a long time ago for WCHF, but I'm planning on reworking it to fit the Kilrathi architecture as described in Victory Streak.
« Last Edit: April 16, 2012, 02:56:19 pm by Talon 1024 »
To understand religion, you need to understand morality first. | WCSaga website | WCSaga Forum | 158th website | 158th forum | Project Leader: WC: Hostile Frontier | WCHF Thread at CIC | Wing Blender | Twist of Fate | Multipart turrets on angled surfaces, tutorial included. | My Google Drive stuff | To convert speeds from WC to WCS, multiply both the cruise speed and the Afterburner speed by 0.15625 (5/32)

FS2 Mods I'm waiting on: Inferno 10th Anniversary
Current Project: Contestant Android app, Learn4Life iOS app, Blender Commander (importer).
The FreeSpace Font Foundry is back in action!

 

Offline Aginor

  • Spelljammer
  • 210
It looks a bit empty, but I like the floor and the red lights as well as the tubes on the ceiling.
Is this supposed to be on a base or on a space ship? I think it looks more like a base, especially the walls.
Thanks for posting this!

On other news: I finally found the time to FRED a bit and completed the autopilot tutorial. That thing sure is complex, but now I think I understand most of it. I'll FRED some additinal simple missions and then move on to create the first missions for my campaign.
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."

 

Offline Aginor

  • Spelljammer
  • 210
Just a little update:
Yesterday I managed to create my first two small missions based on the autopilot template without using Tolwyn's walkthrough. So I'm making a bit of progress in learning FRED, so I can do some missions soon.

Story is still a very rough draft but I think about it all the time, focusing on the parts that are told in the missions of course.

And here's another question about the interface:
Where in the configuration files can I find the font color for the menus?
I want to experiment with that because I think the blue color doesn't fit too well into the orange/red/brownish color scheme of the Kilrathi. I need to experiment and find something that is easily readable and still fits.
But I only found font files referenced in the font table. Where is the color? Is it in the font files? If yes: How can I edit them?
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."

 

Offline The E

  • He's Ebeneezer Goode
  • Global Moderator
  • 213
  • Nothing personal, just tech support.
    • Skype
    • Steam
    • Twitter
The font colour in menus is hardcoded (at least it is that way in FSO; if the Saga team has changed this, please disregard this message).
**** every cause that ends in murder and children crying. ― Iain Banks
Join the fun at the HLP IRC channel. Get the latest spam and gossip as long as it's fresh!

 

Offline Aginor

  • Spelljammer
  • 210
Damn.
Thanks for the info, E.

I mean, IMO the blue font doesn't look too bad in my menu screens, but it doesn't look too good either so if it had been easy to change it I would have done it.
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."

 

Offline Aginor

  • Spelljammer
  • 210
Ok, here's another question:
In one of my missions the following is planned to happen:

The player reaches a nav point, sees some guys do something and they notice he is there a few seconds later. A fight starts and everyone is shooting around etc.
No problem yet.
After some of them are shot down the enemy realizes they will lose, so they decide to run for it. They are supposed to hit their afterburners and fly in a certain direction (into an asteroid field) where they will hide (actually they will vanish, I just have to make sure the player is not there when they do it.) Others will stay behind and fight.

So I have to clear their AI goals, add a waypoints_once goal to fly towards the new location, and then I have to tell them to fly maximum afterburner speed but I don't know a SEXP for that purpose. How can I do that?

The rest should be easy: If they arrive at the planned departure location and the player is more than 4000m away they vanish. If the player is there they will fight (add_goal to fight Alpha again) but the mission objective fails (he is ordered to let them get away when the fight begins)
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
You can't force them to use their afterburners, to my knowledge. You'll have to disable dynamic goals and give them an attack order on a distant ship hostile to them. That or modify a table file.

 

Offline Aginor

  • Spelljammer
  • 210
Hmm.... I could set a friendly (so it is hostile for the enemy) unit that is invisible to the player's sensors (but not for them, is that possible?) behind the asteroid field and let them attack it, so they would try to reach it with afterburners....

Good idea, I'll try that tonight.
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."

 

Offline Aginor

  • Spelljammer
  • 210
Ok, here's another question, this time concerning ani files:
I' working on some HUDs now but my problem is that when I create an ani file (even if I export an existing one and re-create the ani with AniBuilder) it seems to become completely transparent.
What am I doing wrong?



EDIT: If you want to help me designing the HUDs, please look at this thread at the CIC, I posted the existing confed HUDs there. I'll need Kilrathi-looking ones for the following ships. I'm happy about any sketches, regardless of how they look like. I'm not very creative unfortunately.
- Darket
- Dralthi
- Vaktoth
- Gothri
- Paktahn
- Khahaf
- Ekapshi
- Sorthak
- Bloodfang

http://www.wcnews.com/chatzone/threads/kilrathi-hud-concepts.26091/


Also I'm a bit ashamed that I post almost the same things in three different forums (here, CIC and Wingcenter) but there aren't many wingnuts out there so I have to spread my Threads a bit in order to get any attention and hopefully help.
« Last Edit: April 21, 2012, 06:16:10 am by Aginor »
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."

 

Offline Aginor

  • Spelljammer
  • 210
Meanwhile I'm back to FRED.
My mission now works completely as intended except the afterburner thing mentioned above.

The method General Battuta mentioned doesn't seem to work. The ship still doesn't use its afterburners. :(

But you also said something about tables. How does that work?
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."

 

Offline Deathsnake

  • 28
  • Again there
    • German Wing Commander Site
Ok, here's another question:
In one of my missions the following is planned to happen:

The player reaches a nav point, sees some guys do something and they notice he is there a few seconds later. A fight starts and everyone is shooting around etc.
No problem yet.
After some of them are shot down the enemy realizes they will lose, so they decide to run for it. They are supposed to hit their afterburners and fly in a certain direction (into an asteroid field) where they will hide (actually they will vanish, I just have to make sure the player is not there when they do it.) Others will stay behind and fight.

So I have to clear their AI goals, add a waypoints_once goal to fly towards the new location, and then I have to tell them to fly maximum afterburner speed but I don't know a SEXP for that purpose. How can I do that?

The rest should be easy: If they arrive at the planned departure location and the player is more than 4000m away they vanish. If the player is there they will fight (add_goal to fight Alpha again) but the mission objective fails (he is ordered to let them get away when the fight begins)

You make a navpoint for those fighters far away
and in the Events:

Running
- when Fighterwing X-ray
   -destroyed 50 %
- add goal
 fighterwing X-ray
 ai chace
 - Waypoint retreat

That should work.
Star Citizen Garage No. 250:

AEGIS DYNAMICS: Sabre, Redeemer, Hammerhead
ROBERTS SPACE INDUSTRIES Polaris
ANVIL AEROSPACE Carrack
Tumbril Nova Tank

 

Offline Aginor

  • Spelljammer
  • 210
Thanks! That's detailed enough, even for me :D

I did it almost exactly like that, but it didn't work.
I'll try again tomorrow, maybe I just made some small mistake.
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."

 

Offline Tolwyn

  • The Admiral
  • Administrator
  • 214
  • Ridiculously Old Fraud
    • Wing Commander Saga
depending on the situation, ai-stay-near might work for you too.
Wing Commander Saga: A Legend Is Reborn | WingCenter
 
Tolwyn’s reputation for risk taking with other people’s lives was considered  to understate the facts. The admiral’s willingness to sacrifice anyone or anything to achieve his objectives had long been lauded in the popular press. He was “the man who got things done”.- Colonel Blair

No errors, no random CTDs, just pure fun and proof of why getting hit with missiles is a bad thing.
-WC Saga's beta tester


Report Wing Commander Saga bugs with Mantis

 

Offline Aginor

  • Spelljammer
  • 210
I'll try that, thanks!
I just booted up my PC for further mission work. :D
But the weekends are just too short if you want to get something done. I wish I was unemployed.  ...ahhh...no, not really.
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."

 

Offline Aginor

  • Spelljammer
  • 210
I'm back! And my questions are becoming increasingly difficult. But I'm sure you can handle that.

I am now able to let ships escape on command, but I noticed some weird effects I don't understand with that and I have a new problem.
Weird effects:
- When I add the goal to stay-near-ship with the ghost and then try to remove it, it doesn't happen. clear-goals works, removing a single goal doesn't. Are there any tips on how to use ai-remove-goal?
I solved the problem like this: I created an event "resume mission" as a copy of the "AI orders" event for this nav point and I call it every time the event that caused the retreat is true X seconds ago. Works so far, I use a variable (at least a ...sort of, see below) to build some sort of state machine so it doesn't fire all the time.

- how do I read variables? I found how to set them, but I can't find how to read them. That's the reason why I became... creative. I used the "is-cargo-known", "set-scanned" and "set-unscanned" SEXPs to use the scanned-flag of my ghost object as a boolean variable that I can set and read with events. Of course thats not good style so I'd like to know how I can use variables.

- every-time-argument seems to have a problem with AND, or the distance SEXP doesn't work as I think it does. My pictures show the example. The first one is working, the second one isn't.


So you might wonder what I'm actually trying to do. The answer is the following:
Saga does have pretty lethal capship explosions, and in some of my missions the player and his wingman are flying Darket light fighters. They will die every time they or somebody else in their vicinity blow a capship up.
Saga solved this problem by guarding almost all wingmen, so they couldn't die at all. In my campaign I don't want to to this since wingmen will be a bot more dispensable expendable than in the Saga main campaign. So they should be able die, but not because of capship explosions.
I thought about making them invincible for a few seconds every time a capship blows up, but I didn't like that much either.

So then I thought: Ok, why don't they just flee for a few seconds in some direction while the cap blows up, using their afterburners.
It took a while until I could script that but it worked and looks good. I told them to send a message every time they move away ("This ship will blow up, retreat and regroup!" and when they turn around and come back for their next attack ("resume mission").

And indeed everything works now, just by inserting two events with arguments for the capships for each wing that should flee from explosions. ....Except a few small things.
I want that they only flee if the capship is really near them. They are not supposed to flee if they are not close to the exploding capship. They do that now and I thought I could fix by just adding an AND. That seems to break the whole event though, and I'm not sure why.


[attachment deleted by a ninja]
« Last Edit: April 23, 2012, 08:36:38 am by Aginor »
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
- When I add the goal to stay-near-ship with the ghost and then try to remove it, it doesn't happen. clear-goals works, removing a single goal doesn't. Are there any tips on how to use ai-remove-goal?

I'm not certain how ai-remove-goal works to be honest. It's an SCP addition IIRC and so as a result if it's not been used it may still have bugs. Might be worth testing with a much more basic test mission to see how the SEXP works.

Quote
- how do I read variables? I found how to set them, but I can't find how to read them. That's the reason why I became... creative. I used the "is-cargo-known", "set-scanned" and "set-unscanned" SEXPs to use the scanned-flag of my ghost object as a boolean variable that I can set and read with events. Of course thats not good style so I'd like to know how I can use variables.

My FAQ has a detailed explanation on how to use variables but basically you just replace a number or string with a variable. So

is-cargo-known
-Red 1

becomes

is-cargo-known
-ShipI'mInterestedIn[Red 1]

Quote
- every-time-argument seems to have a problem with AND, or the distance SEXP doesn't work as I think it does. My pictures show the example. The first one is working, the second one isn't.


So you might wonder what I'm actually trying to do. The answer is the following:
Saga does have pretty lethal capship explosions, and in some of my missions the player and his wingman are flying Darket light fighters. They will die every time they or somebody else in their vicinity blow a capship up.
Saga solved this problem by guarding almost all wingmen, so they couldn't die at all. In my campaign I don't want to to this since wingmen will be a bot more dispensable expendable than in the Saga main campaign. So they should be able die, but not because of capship explosions.
I thought about making them invincible for a few seconds every time a capship blows up, but I didn't like that much either.

So then I thought: Ok, why don't they just flee for a few seconds in some direction while the cap blows up, using their afterburners.
It took a while until I could script that but it worked and looks good. I told them to send a message every time they move away ("This ship will blow up, retreat and regroup!" and when they turn around and come back for their next attack ("resume mission").

And indeed everything works now, just by inserting two events with arguments for the capships for each wing that should flee from explosions. ....Except a few small things.
I want that they only flee if the capship is really near them. They are not supposed to flee if they are not close to the exploding capship. They do that now and I thought I could fix by just adding an AND. That seems to break the whole event though, and I'm not sure why.


Ummmm. Why are you using every-time-argument in the first place? A when-argument with a trigger count of 2 is a better idea.

Your problem with using the distance SEXP is pretty simple though. Once the ship is destroyed you can't test if it is near anything since as far as the game is concerned, it's been destroyed.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline Aginor

  • Spelljammer
  • 210
..... ok,I feel reeally stupid now.
The thought that the ship wasn't there anymore didn't occur to me because I can still see it for some seconds and everything. But of course it is destroyed and thus not available anymore. I even used that event to trigger my actions...

Concerning the variables: Ok, then maybe I just did something wrong. When I tried what you just wrote about using variables I crashed FRED. I figured that something in your FAQ might be wrong in this version and that I have to use variables differently. So this is not the case. Which is good of course.

Concerning the remove-goals: I tried that, but I couldn't figure out what really will happen in which case, so I reverted to using clear-goals and adding the other ones after that.

EDIT: As for the every-time thing: I want that event to occur every time one of those capships blows up. I admit I haven't used the trigger count thing yet. But now that you mention it I agree that it might be better. Of course I have to adjust the trigger count for every ship added to the list but that shouldn't be much of a problem. I thought using every-time would be better because I don't have to set the number.
The goal is to have a small number of events (two or three would be cool) in the end that I can copy to any mission, change the capship list and/or the list of wings that should avoid capship explosions, and add a stealth ghost or something as a retreat point.



Thanks for your help!


In other news: My first mission is almost completed (needs a bit of polishing and of course voices) so I moved on to the second one last night.
And it seems I have to refine some parts of my basic structure, because at the moment the mission is either totally boring or ridiculously hard, depending on some small settings. Either way it is not satisfying. Today I will make some changes in the script and see what they will play like. :)
« Last Edit: April 24, 2012, 03:32:04 am by Aginor »
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
EDIT: As for the every-time thing: I want that event to occur every time one of those capships blows up. I admit I haven't used the trigger count thing yet. But now that you mention it I agree that it might be better. Of course I have to adjust the trigger count for every ship added to the list but that shouldn't be much of a problem. I thought using every-time would be better because I don't have to set the number.

Every-time is a very specialised operator which shouldn't be used as a cheap substitute for simply using a repeat count/trigger count. You definitely don't need to check for something like this every single frame (which every-time does). Checking once a second is definitely a much better idea and using repeats/triggers can allow you to define how often checks are made.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline Aginor

  • Spelljammer
  • 210
Being a software developer I couldn't agree more. That is just a waste of ressources!
I guess I did not read the "every frikkin' frame!"-part in the manual. I had the impression that it was the only way to have an event fired as often as needed instead of just once.
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."

 

Offline Aginor

  • Spelljammer
  • 210
Ok, I think I don't understand how "repeat count", "trigger count" and the associated time work together.
Is there some detailed manual with examples about those somewhere? I couldn't find it yet, but I'm tired so I might have missed it.

EDIT: To clarify: I want an event that becomes true based on various things like distance to an object and damage status of another one.
And then a timer starts, counts to 15 seconds, and the next event happens. When that event is finished it is possible that the first event is triggered again and so on. What is the usual way to do this?

EDIT2: And of course I already used variables to make sure the events don't fire again all the time so the counter doesn't reset all the time before it reaches 15 sec.
« Last Edit: April 24, 2012, 05:53:32 pm by Aginor »
Member of the Scooby Doo model Fanclub "verticies and splines are the medium and he is the artist."