Jump to content

Redoing the staging queue? (Gauging interest)


Diazo

Recommended Posts

Alright, in my continued quest to mod the actions and action groups system to death, the next thing that has caught my eye is the staging system.

This would be a "total replacement" rework in the same way that my Action Groups Extended mod is a total replacement of the action group management system. As such, it would take over the spacebar.

The two major advantages this would have are:

-Stage by action, not by part: So the first stage on the pad you assign the "activate engine" command to your first stage engines. Then your second stage separation you assign the "deactivate engine" command to your first stage engines so that when you drop your first stage, if there is any fuel left the engines turn off. This also means you can assign any action on a part to a stage, no more being limited to what the default staging action is.

-Named stages: Designed your ship so that you want to trigger the parachutes to land at 5km? Now you can name that stage action group "Parachutes 5km" so that at the end of your flight you remember that.

There are three drawbacks however that the limitations of KSP would impose:

-No auto-staging: When you add parts in the editor that currently add themselves to the staging queue (such as an engine), it would not automatically add itself to this staging mod. There will be an "import staging" button, but this would erase the current staging queue and import the KSP default queue, so any other changes made would be lost.

-No drag-dropping of icons: Due to the limitations of the GUI that I have, I can not offer drag-dropping of actions to modify your staging queue. There is no workaround for this and it is probably the biggest drawback. It does allow for the named stages advantage listed above at least.

-Would require my AGX mod: There is simply too much overlap and functionality in AGX that I would need to do this mod and I'm not going to copy pages and pages of code over. I don't think this would be a big deal, it means installed 2 mods instead of 1 to use the mod, but I can't see players balking at that if they are willing to mod in the first place.

Now, is there any interest in this? To me I can see the mod being useful, but does anyone else see any advantage in this?

Or suggestions that they think would improve it? I've been thinking pretty narrowly in this as a staging queue replacement but more possible features is always a good thing.

D.

Link to comment
Share on other sites

Sounds like this could be useful. Just a few off the cuff thoughts.

Would be nice to be able to have staging actions that would not be triggered by the space bar - say you had a staging event that didn't wasn't suppose to normally occur (thinking of someones escape tower example) - you could trigger it some other way and not worry about accidentally staging it with the space bar.

Would it be possible to toggle between normal stock staging and you alternate staging?

Option to save staging on the pad - don't know how many times I've had to go back to the VAB so I could save a re-staged rocket.

I like the stage naming idea.

Edited by wasml
Link to comment
Share on other sites

Not sure if possible, but it might be nicer from the user's perspective to just override the part's OnActivate() and point it at a different function. Then you don't have to build an entirely new staging system, just redefine what staging means to each part.

Link to comment
Share on other sites

@wasml: On staging actions not triggered by the spacebar, that's just an action group isn't it? By default the Abort action group is bound to backspace for things like an escape tower.

It would probably not be possible to switch between KSP staging and this mod. The reason is that what happens to actions added under this mod that are not in the KSP staging when you trigger the KSP staging? Do they not fire and get deleted, do not fire them but leave them in their own stage, or fire them anyway in the KSP stage? That's before I get into the headache that is interfacing with the stock staging system, it's one of the messier parts of KSP and I'm not even sure I could offer switching with the limitations in code I have to work with.

Unfortunately, it is not possible to save data in flight (on the pad) to the editor. This is a hard limitation of the way KSP saves data in two different formats in the editor and in flight.

@hab136: Ummm, can I override a part's OnActivate()? When I add a partModule, that partModules OnActivate() is a different method so I'm not sure how I would do that. And this is before we get into the fact that doing it this way would mean that you are still limited to a single action per part in the staging queue. One of the biggest advantages this mod would offer is the ability to have multiple actions on a part in different stages in the staging queue.

D.

Link to comment
Share on other sites

Staging actions not triggered by the spacebar: I was thinking more of staging actions that are normally triggered with with the space bar being removed and put on an action group - but this is probably a rare case.

The no auto staging may be an advantage - would force me to pay better attention to the staging. The no drag and drop does sound like a big draw back - but depending on the replacement this could be anywhere from a no-go to an improvement. It doesn't strike me as a must have mod but could be useful. Do appreciate the work you put into these mods - Thanks.

Link to comment
Share on other sites

Would it be possible to have it tie into agx such that you put all your stage events into actions groups. Then, you set your staging as a list of action groups. So I could define my first stage as action group 1, my second stage as action group 2, and my third stage as action group 8. I set the staging to go 1-2-8 and each time I hit space, the next action group is activated.

Link to comment
Share on other sites

@wasml: Heh, apparently I got ahead of myself and left out a few details. The trick Squad did with the staging system is that in the staging queue, that Engine icon is simply the "Activate Engine" action (that is visible in the actions list for the engine). This means that once the staging queue is imported over into this mod, you can simply remove that action from the staging queue entirely and then add it onto a normal action group instead.

How I'm envisioning things working is something like this:

-Build your vessel, KSP staging builds itself automatically as it does.

-Player can tweak the staging if desired

-Opens this mod and imports the staging. (Note this would delete any staging data already present in this mod.)

-When this happens, the staging icons turn back into the actions they actually are. Activate Engine for engines, Decouple for decouplers, Arm Chute for parachutes, etc.

-The player can now add/remove actions as desired. Remove an action removes it from the queue entirely, actions normally not addable to the staging queue can be added, a part can have more then one action in the queue, even the same action can be present in the queue twice (or more) in different stages.

The big limitation is the importing of actions. If you are tweaking a vessel, you have to be careful with importing because every time you import from KSP, your current queue is wiped and any changes you have made are lost. This comes back to the limitations I'm working under in what Squad has exposed in the code for the staging queue. It is also the reason the import is one way, I will not be able to offer the option to export the queue from this mod back to the default KSP queue.

@Fred4106: I did consider something like that, especially as AGX is going to be required for this mod anyway, but it came down to scope. AGX is an Action Group Manager, not a staging queue mod. Therefore this mod which redoes the staging should be seperate. Another way to look at it is AGX is the base that I'm hoping other action group mods can plug into like modules, this staging manager being the first. That way the player can pick and choose what they want to add.

Depending on how exactly I implement this mod (and what the underlying code allows me to implement), I can see player preferring KSP's default staging queue but still wanting AGX and I don't want to force the player to install both or neither.

D.

Link to comment
Share on other sites

Sounds like a great idea. I'd love my solar panels to deploy as part of a staging group for when my 2nd stage is dropped.

Would it be possible to repack chutes and add it back into the staging queue? Or would it need pre-baked multiple "deploy chute" staging groups?

Link to comment
Share on other sites

@moronwrocket: I believe once a chute is repacked, the same action deploys the chute again, so you can probably add the Deploy Chutes action to the queue twice. As long as the repack happens in between the activating of the two Deploy actions, both actions should deploy the chute.

One thing to note also, as this is based on AGX, this mod will have full in-flight editing. So you can change things up if you get halfway through your mission and realize and action is assigned to the wrong stage.

D.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...