missions are too hard

General discussion about anything related to Transcendence.
Post Reply
relanat
Militia Captain
Militia Captain
Posts: 732
Joined: Tue Nov 05, 2013 9:56 am

Fri Mar 29, 2019 2:09 am

There is a lot of information out there but it isn't really in a useable form for someone who wants to learn how to use the missions feature.

I think what is needed is for someone who can write mission code to select 3 or 4 existing SOTP missions and write a topic for each which explains what is happening. Same as Xephyr did in the Missions 101 topic. But with even more detail. And it needs to be explained in terms of what code to use to make what mission feature work. Not an explanation of each event, although that is useful too.

It will be difficult and very time-consuming but I don't really see any alternative. At this stage possibly a handful of people can write mission code. From what I can see no more ever will.

Don't get me wrong. It's a great idea. But at this stage I am considering using custom stations with sequenced dockscreens instead of mission types to get missions working in any mods I'm working on. Because even though I continually simplify the missions it is too hard working out how to use mission code.

Any thoughts?

User avatar
Xephyr
Militia Captain
Militia Captain
Posts: 848
Joined: Fri Dec 14, 2007 1:52 am
Location: Orion Arm, Milky Way
Contact:

Fri Mar 29, 2019 3:40 am

I'm all for this idea. What might help is some highly commented missions built as templates - something like 10 example missions that are each unique. That would provide enough of a basis for most people to get started.

Here's some examples, can we think of any more?

- go to location X and kill threat Y
- escort ship X to location Y
- Bring item X to location Y (delivery mission)
- recon points X, Y, and then Z
- scan station X for a preset time
- Defend station X from threat Y
- Protect ship (or station) X from threat Y for Z time (eg. Dwarg invastion in CC)
- Destroy X number of threat Y in this system (eg. destroy 100 pirate ships)
- Go to station X in system Y (story progression)
Project Renegade (Beta) : "The Poor Man's Corporate Command!"
Real programmers count from 0. And sometimes I do, too.

relanat
Militia Captain
Militia Captain
Posts: 732
Joined: Tue Nov 05, 2013 9:56 am

Mon Apr 08, 2019 5:38 am

There are two special mission types that I know of.
'deliveryMission' and 'onDockMission'.

The delivery missions don't always actually involve delivering anything.
If the differences for these and any other special sorts of missions could also be explained it would be helpful.

There are a few delivery missions and an SOTP example of an 'onDockMission' is &msEscapeFromDantalion; in Antarctica02.xml.

User avatar
Xephyr
Militia Captain
Militia Captain
Posts: 848
Joined: Fri Dec 14, 2007 1:52 am
Location: Orion Arm, Milky Way
Contact:

Mon Apr 08, 2019 7:06 am

relanat wrote:
Mon Apr 08, 2019 5:38 am
There are two special mission types that I know of.
'deliveryMission' and 'onDockMission'.

The delivery missions don't always actually involve delivering anything.
If the differences for these and any other special sorts of missions could also be explained it would be helpful.

There are a few delivery missions and an SOTP example of an 'onDockMission' is &msEscapeFromDantalion; in Antarctica02.xml.
The usages of these attributes are pretty well-commented in the code; https://github.com/kronosaur/Transcende ... ssions.xml

'onDockMission (line 1061) is a mission attribute used to present a mission upon docking with a station, for cases where you would otherwise have to go to another screen (ops center, executive officer, etc).

'deliveryMission (line 748) is a little trickier, but immensely useful. Using this you can have other objects carry the mission screens without writing any special code; check out the dwarg invasion mission in corporate command for a good use of this. All you need to do is define a destination object and have the event <OnDeliveryMissionCompleted> defined.

Also described is 'paneInitMission - I think this is for overriding dockscreens to inject your mission code, but I haven't used it.
Project Renegade (Beta) : "The Poor Man's Corporate Command!"
Real programmers count from 0. And sometimes I do, too.

Post Reply