Building new quests

Started by Wilmore, June 26, 2018, 09:59:58 PM

Wilmore

There is one thing that I find wanting in this game. There are too few quests, especially in multiplayer (which really is the fun part of the game). So I started looking into making my own, as part of my mod. I have now been studying some of the existing quests, like the "dailies" from the station commanders. However, I found the process very intricate and counter-intuitive.

Can somebody please help me with a step-by-step tutorial on how to make quests?

And possibly repeatable quests too? If I could add a quest package as a mod, the game would live much longer in our group of players, at least.
It doesn't matter what we think of God, but what He thinks of us.       - Pascal

Lurler

Actually making quests are extremely easy. Essentially it is just one script file with everything associated with the quest.
You make that script, pack it into a mod and boom. It appears in the game.
There are a few small nuaces of course, for example if you want to use quest variables that are saved in the game, but it is not much more difficult than just adding one more file with their specification.
The easiest way is to look at existing quests as you did and try to start with something small. For example add a new topic to an existing NPC and have them say some phrases.
Once that's working you can expand into proper quests.

You can find modding information here:
http://wiki.atomictorch.com/Main_Page

There are quite a few useful articles such as:
http://wiki.atomictorch.com/VoidExpanse/modding
http://wiki.atomictorch.com/VoidExpanse/scripting_api
http://wiki.atomictorch.com/VoidExpanse/installing_mods

Wilmore

Thank you, I have already gone through all available descriptions in the WIKI and I have spent quite some time looking at existing quests (like the anyjob.js and the Order quest line). I have to say that it seems that I have all the game at my disposal in the script files, but it is not really intuitive how to go about making a new quest (what steps that must be taken and so on) because of the lack of object orientation in the code. (I have a programming background, with Java and C++.)

Would it be possible to create some sort of a step-by-step manual on how to make a quest? (How to connect it to an NPC in a station, involve one or more specific or randomly generated NPC ship, or other objectives, the text lines and so on.)

I ended up in a situation where the game now thinks I accepted a quest, but it's nowhere to be found in the quest log and I had errors on the $00XX variables (what do they really mean, is it simply on-the-fly-created variables inside the function calls?)
It doesn't matter what we think of God, but what He thinks of us.       - Pascal

Lurler

I wish I could help you, but unfortunately there doesn't seem to be any tutorials specifically for creating quests.

I think your realistic options is to either just use existing quests as a reference and see how certain things are implemented in each one or get in touch with some of the people who made mods previously.
For example:
http://forums.atomictorch.com/index.php?action=profile;u=141
http://forums.atomictorch.com/index.php?action=profile;u=666

Also, have you looked in this section of the forums? There could be something of use there.
http://forums.atomictorch.com/index.php?board=5.0

I'm sorry that I'm not much help...

Wilmore

Thank you for wanting to help. Is there anyobdy out there who may help me explaining where I can find the code that is included by:

--
using(generator);
using(npc);
using(ship);
using(relations);
using(player);
using(game);
--
It doesn't matter what we think of God, but what He thinks of us.       - Pascal

Lurler

Quote from: Wilmore on June 28, 2018, 02:23:44 PM
Thank you for wanting to help. Is there anyobdy out there who may help me explaining where I can find the code that is included by:

--
using(generator);
using(npc);
using(ship);
using(relations);
using(player);
using(game);
--
These are namespaces offered by the game API. You can find the specific functions in each API on the wiki. But it has not been updated in quite a while, so it is probably better to see in the game what functions are available and their correct signatures :)

Wilmore

I'd like for a tutorial, telling me things like

- You need to do this to add character to a station, that can give you a quest
- You need to this to add dialogue to the quest
- You need these strings; quest title, quest description, etc.
- You need these files (partly covered in the WIKI, and probably the most easy to work out from looking at the code and files)
- You need to this to add rewards/items/objectives to a quest
- You need to this to add an objective ship with so and so AI to the quest

Some answers like that could really make this game going again. I love the game, and if we could get the community more active in adding story content, it would only benefit the game :-)

/me cheering you guys on!
It doesn't matter what we think of God, but what He thinks of us.       - Pascal

Wilmore

#7
Another question: What is the meaning of $p0003 and similar, that is used as parameters in function calls? Is it variables created on the fly? How do I select the correct name on my "next" one?
It doesn't matter what we think of God, but what He thinks of us.       - Pascal

Wilmore

#8
What steps do I need to make to make a new character show up at a station, to have him give me a quest?
It doesn't matter what we think of God, but what He thinks of us.       - Pascal

Lurler

Quote from: Wilmore on June 29, 2018, 10:07:02 PM
Another question: What is the meaning of $p0003 and similar, that is used as parameters in function calls? Is it variables created on the fly? How do I select the correct name on my "next" one?
These are localization placeholders.
You don't need to use that if you are making the mod only in english, you can just write simple text like "qwe qwe text text" rather than using localization variables.

Quote from: Wilmore on July 01, 2018, 12:36:05 AM
What steps do I need to make to make a new character show up at a station, to have him give me a quest?
The easiest way is to look how characters are spawned in Pariahs Bane expansion (it is a separate function there). You need to create a character and then add that characters to a specific station.

Hypnopazūzu

Quote from: Wilmore on July 01, 2018, 12:36:05 AM
What steps do I need to make to make a new character show up at a station, to have him give me a quest?

Ninecorn made a video tutorial on adding an NPC to a station that you might find helpful (if you haven't figured this out yet), though he doesn't really go into quest creation much: https://www.youtube.com/watch?v=c-qHWtr8Om0

Hope it might be of some use anyhow.. I'm brand new here so if posting links like this is a problem please forgive and delete.