Sign in to follow this  
Serpens

[RELEASE] Quest Mod

Recommended Posts

Serpens    567

My QuestMod is ready for first BETA release!

You can download them here:
http://forums.kleientertainment.com/files/file/1702-dst-questsapi-beta/
http://forums.kleientertainment.com/files/file/1703-dst-questsserp-beta/
http://forums.kleientertainment.com/files/file/1704-dst-questshunt-beta/
(Better use GitHub to download, since it is latest version there)

work in progress Github:
https://github.com/Serpens66/QuestMod-Dont-Starve-Together

For descriptions see download links or this spoiler:

Spoiler

How the mod works/what it does:
The API Mod:
Every QuestMod needs the API mod to work.
I developed the API mod, to allow every modder to create custom quests/rewards/shopitems (so I don't have all the work creating quests :D).
The best way to start if you want to create content, is to look at my questsmods and how I did it. There is also explanation in the modmains.

Basic mechanics:
Go near to the pigking and he will tell you what task he has for you. Go up and down to hear more about the quest.
There are 5 difficulties (1 to 5, esay to hard). The text of diff 1 quest is dark green. 2 is green. 3 is organge. 4 is red and 5 is dark red.
Do what the pigking wants and visit him again to get your reward.

Skipping:
If you don't want to do the quest or it is impossible, you can do the emotion "annoyed" three times near the pigking. This will skipp the quest.

Next Quest (default 1 day):
In modsettings you can choose, how much time should pass, before the pigking is offering you another quest after solving/skipping previous quest (half time when skipping quest).

Loop Quests (default enabled):
The questlist of pigking contains a finite number of quests. After every quest was active, the pigking will offer no more quests. But if you enabled the modsetting "LoopQuests", the questlist is again filled with all quests and you can do them again for reward.

Number of Quests:
For some quests, like "Emote" and "Hunt", you can choose in modsettings of questmod how often you want those quests be added to the questlist.
All other quests are only added once. So choose the number of emote/hunt quests according to how often you want to get those quests relative to other specific quests.

Shop Mode (default enabled):
In the modsettings you can choose if you want to enable "Shopmode". If enabled, you will get coins as reward for doing quests.
The shopkeeper always spawns near the portal and you can buy some basic items from him. In modsettings you can enable chance to find coins when looting something.
If you disable Shopmode, you will get random items instead directly from the pigking as reward.

Blueprint Mode (default disabled):
You can enable it in modsettings. This is a mode where you can't build any researchlab. Instead you have to find blueprints to be able to craft stuff. You will get blueprints and few coins as quest reward, but can also enable in modsettings a chance to find blueprints when slowpicking/working. Every found blueprint is also added to the shopkeeper, so every player can buy any found blueprint for 1 coin at the shopkeeper.
I think this mode as potential, but at the moment I don't think it will be very famous. Maybe you have ideas to improve this mode?

Adding/Removing Quest/Questmods after game start:
It is no problem to add/disable a questmod to an already running game. The questlist of the pigking is updated accordingly.

Serps Quests Mod:
This mod adds several quests I already developed.
Hunt Quests Mod:
This mod adds hunting quests for nearly every mob that exists on the surface. Eg. "Kill 5 hounds". The difficutly from those quests gets higher the longer the average player survived and the quests fit to currecnt season (eg. walrus only in winter).

 

But now I need YOUR help:
1) Test every setting and constellation to find bugs and report them with logfile.
2) Let me know your ideas how to better balance task/reward. Maybe write a formula for reward. Quest difficutly ranges from 1 to 5 and the reward should be accordingly. Make it a small reward which can be multiplied by 1, 2 or 3 depending on modsetting "how high should be rewards?".
3) Are the colours for talking okay and readable? dark green, green, orange, red, dark red.
4) Take a look in mymodstrings.lua of the mods and think about better fitting sentences the pigking can say to describe the quest. All strings in sum must give enough information to the player to know exactly what to do.
5) You can also create a file with your custom translation of those sentences (maybe wait until we have good sentences in english).
6) If you are a modder and know a good way how to also add cave (forest-cave communication), you can help me make the mods also work in cave. (For now the mod is only active in surface, of course also if cave is enabled. But if you have "hunt spiders" quest, spiders killed in cave won't count).
7) What other ideas of small quests do you have?
8) If you want to add your custom quests or rewards or shopitems ask your questions about the API mod if something is unclear and report if you need sth or some help with. I'm not sure if adding mod items to the shop is already working. Could have problems with picture? Test it and report please.
9) What other suggestions?

If you are going to work on any of those points, better notify me in this thread first. That way me and other will know, that someone is already working on it and we won't get 10 reward formulas ;)

 

New quests that are already on my TODO:

Spoiler

- Bring me living moles/rabbits/birds/butterfly
- build statue
- protect specific pig for x days (with spawning enemies?)
- find and destroy skeletons (spawning somewhere around, maybe guarded)
- domesticate a beefalo x%
- heal ill pig

Edited by Serpens

Share this post


Link to post
Share on other sites
RadiantRoma    386

This is honestly one of the best mods I've seen! Even if it isn't complete, it is an incredible idea and I'm glad you made it an API so others can contribute to this new system! I will probably write some quests sometime in the near future! Keep up the amazing work! 

Some things,   I could rewrite the strings, make them sound more natural and stuff.

Edited by Cherryzion
removed the minimap thing

Share this post


Link to post
Share on other sites
RadiantRoma    386
29 minutes ago, SuperDavid said:

Will this be released on Steam?

" This mod will be added to steam as soon as it is out of Beta. " it says in the QuestsSerp description

Share this post


Link to post
Share on other sites
Serpens    567

Thank you Cherryzion for the feedback provided via PM.

We (Cherryzion and me) made alot of improvements. You can find latest version at Github:
https://github.com/Serpens66/QuestMod-Dont-Starve-Together

I would appreciate more feedback from more people :)
I'm not creative, so it is up to you to create exciting quests!
I will help you to realize them and make improvements to the API mod, if you need further tools.

Share this post


Link to post
Share on other sites
RadiantRoma    386

Check this out, guys! Serpens is a genius, these mods and API are a masterpiece! 

Spoiler

I am also working on my own quests mod, so stay tuned for that in the future!

 

Share this post


Link to post
Share on other sites
Lumina    2153

I don't know if it's already the case/possible but maybe you could have a way to make quest "competitive" ? Like, "be the first to kill a treeguard" "the player killing the most koalefant in the next 10 days will win" "The player doing the best recipe (total sanity/hunger/health recovery) in the next 5 day will win"

Could add some challenge to a server.

 

For the shopkeeper icon, usually for the stuff i want to have minimap icon, i have the same line in the prefab than you, and this line too, in modmain.lua :

 


		AddMinimapAtlas("minimap/myprefab.xml")

I don't know if it SHOULD be in the "minimap" folder, i guess another path is ok, but maybe adding a similar line could help ?

Share this post


Link to post
Share on other sites
Serpens    567
12 hours ago, Lumina said:

I don't know if it's already the case/possible but maybe you could have a way to make quest "competitive" ? Like, "be the first to kill a treeguard" "the player killing the most koalefant in the next 10 days will win" "The player doing the best recipe (total sanity/hunger/health recovery) in the next 5 day will win"

Could add some challenge to a server.

 

For the shopkeeper icon, usually for the stuff i want to have minimap icon, i have the same line in the prefab than you, and this line too, in modmain.lua :

 



		AddMinimapAtlas("minimap/myprefab.xml")

I don't know if it SHOULD be in the "minimap" folder, i guess another path is ok, but maybe adding a similar line could help ?

thank you. Cherryzion already made the mapicon work, don't know how, but it is working :D
And she is expert in adding new questgivers, she added the skin_collecter guy and tall maxwell, fantastic work :)

About your idea of competive quests:
The main problem I see is how to make sure, that only the winning player gets the reward? Yes, the questgiver could only spawn reward, if this player is near, but also other players could collect it or kill him on pvp...
Do you know a solution for that?

But yes, I can make quests optionally competive. So if the pigking wants you to build 2 pighouses, they must be build from the same player. And the person who claims the reward first, get it.

edit:
I could spawn the reward directly into inventory...

Edited by Serpens

Share this post


Link to post
Share on other sites
Serpens    567
3 minutes ago, jmaster said:

And when mods will be in steam for install to dedicated server?

As soon as I think that I can release the mod.
And this will be when I have more feedback and ideas ;)

If you have ideas for quests or some kind of a storyline, which would make quests more interesting, this would be great :)
Or help me balance the reward from quests or the costs from shop.

Share this post


Link to post
Share on other sites
Lumina    2153
3 minutes ago, jmaster said:

And when mods will be in steam for install to dedicated server?

When it will be stable and complete enough, if i understand it well.

 

Spawning the reward directly in inventory seems a good solution for me :)

 

Serpens : is it possible to check things like "recipe x was done" ? Because it could open for new possibilities, like "cook butterfly muffins", "cook turkey dinner", for some of the special recipes (not the most common ones).

Planting flowers around the pig king ?

Share this post


Link to post
Share on other sites
Serpens    567
59 minutes ago, Lumina said:

Serpens : is it possible to check things like "recipe x was done" ? Because it could open for new possibilities, like "cook butterfly muffins", "cook turkey dinner", for some of the special recipes (not the most common ones).

Planting flowers around the pig king ?

planting flowers is a good idea, thanks :)
Do you also have a good story or "reason" for this? I mean things the pigking could say?
I thought about a "storyline" like the pigking wants to expand his kingdom or whatever. And therefore you have to fullfill different tasks in order. First plant some flowers, then build some pighouses and then walls and so on.
With that story around those quests, they get more interesting I hope.

I'm sure there is an event that is fired, when something is cooked, so yes I can check what is cooked, thx

Share this post


Link to post
Share on other sites
RadiantRoma    386
9 hours ago, Serpens said:

planting flowers is a good idea, thanks :)
Do you also have a good story or "reason" for this? I mean things the pigking could say?
I thought about a "storyline" like the pigking wants to expand his kingdom or whatever. And therefore you have to fullfill different tasks in order. First plant some flowers, then build some pighouses and then walls and so on.
With that story around those quests, they get more interesting I hope.

I'm sure there is an event that is fired, when something is cooked, so yes I can check what is cooked, thx

Well, there can be maybe 3 Quests for the story, the King recruiting you, you do X for the King, you do a final quest.

In between these quests though, there are a number of smaller radiant quests. So for example:

Spoiler

You meet the pig king for the first time. He asks for you help to build up his village. You say yes. 

he gives you a radiant quest to build walls,

and then a radiant quest to build houses,

and then a radiant quest to feed pigmen meat.

After a few radiant quests, he says that there have been some evil pigs doing some evil things somewhere, and asks you to destroy their statue. You go and do that.

Then more radiant quests and more radiant quests and more...

Then after those, you get the final quest, which is something like "Defend the village from a Varg attack" or something equally difficult.

After you finish the final quest, he just gives you radiant quests forever.

This is how I imagine all Quest Givers to be, with a few Main-Quest-Line quests, and radiant quests in between.

Share this post


Link to post
Share on other sites
jmaster    13
On 15.04.2017 at 3:58 PM, Serpens said:

As soon as I think that I can release the mod.
And this will be when I have more feedback and ideas ;)

If you have ideas for quests or some kind of a storyline, which would make quests more interesting, this would be great :)
Or help me balance the reward from quests or the costs from shop.

I just have some 24/7 servers. Can use on of them for test your mode, if it possible (but how, if it is not in workshop?). For players test it. If all ok, I plan to add it to one of world of our main server. 

Share this post


Link to post
Share on other sites
Serpens    567
58 minutes ago, jmaster said:

I just have some 24/7 servers. Can use on of them for test your mode, if it possible (but how, if it is not in workshop?). For players test it. If all ok, I plan to add it to one of world of our main server. 

thank you.

At the moment it is still too much development to do, I think.
The version uploaded at Klei forum can indeed still crash.

So right now I would need more ideas/ help coding/ help artwork / help balancing.
As soon this is finished, the testing for crashes starts.
 

Edited by Serpens

Share this post


Link to post
Share on other sites
Serpens    567

Any creative user here, ready to think about quest stories?

Cherryzion had the idea of two questgivers who are rivals.
I thought it would be a nice story, if both of them have some property, like one has a wonderfull flower meadow and the other nice berry bushes, or something like that. And from both you get the quest to bother the other one, by eg. destroying/stealing his flower/bushes or whatever else.
The quests get more and more aggressive cause they want revenge and eg. could end in a fight.
First you can make all quests, so you can bother both questgivers. But in the final fight, you have to decide which questgiver you want to help.

So what quests could you imagine would fit to this scenario? And do you have ideas for the environment? Maybe some fences around bushes? A carpet home for one questgiver?
Would you even be able to make animations/graphics for this or other scenarios?

Share this post


Link to post
Share on other sites
Lumina    2153

Just a small idea, i don't have really more to bring. Since the rivalry between pigs and merms is well know, with the head of each in the other camp, maybe you could use them for a rivalry mod. So i don't really imagine merm with flower or berries bush, it's the main problem. Maybe thorn bushes. The merm quest giver could be a merm elder using shipwrecked red merm build ?

 

So first step could be "destroy other stuff" (berries bushes, spiky bushes), step two could be "create a mini sign near the pig king with rot on it" (merm quest) "create a mini sign near the merm elder with manure on it" (pig quest) to annoy the other camp and mark their territory, I don't have a lot of ideas for others steps but final could be to kill merm/pig guard that will spawn around the quest giver you didn't choose.

Share this post


Link to post
Share on other sites
Bizzi    111

Idea:

Set the Quests to a Popup like that:

popupe8su6.png

local require				= GLOBAL.require
local PopupDialogScreen		= require "screens/popupdialog"

function CreatePopup(inst)	
	local function onOkay()
        GLOBAL.TheFrontEnd:PopScreen()
    end

    GLOBAL.TheFrontEnd:PushScreen(PopupDialogScreen("Popup Title", "Popup Body", {
		{
			-- Set Text
			text = "OK",
			
			-- Create Callback
			cb = onOkay
		}
	}))
end

AddPlayerPostInit(CreatePopup)

 

Share this post


Link to post
Share on other sites
Serpens    567

Thanks for taking the time to make working code for that :)

hmmm I personally like the talking of pigking and other questgivers. Also the colour of text changes depending on how hard the quest is.
Do you have an idea where we could use popups without replacing the actual talking style?

Otherwise we could implement PopUps optionally in modsettings.

Share this post


Link to post
Share on other sites

What about incorporating the teleportato into this? I love the adventure mode from DS and have been using a mod that adds the teleportato to give us some sort of win condition for each world I make, but that mod has its limitations, one being it doesn't play well with custom world gens like Desert Enhancement, and another being that it won't spawn in the caves, so I never end up forcing players into the caves (out of my group, I'm the only one that's ever been in there and have never been to the ruins). Which also brings up another question, if the custom world gen doesn't have the pig king, will this be able to add it?

Thanks for all your work on this. It sounds like it's pretty awesome! 

Share this post


Link to post
Share on other sites
Serpens    567
5 hours ago, robert5 said:

What about incorporating the teleportato into this? I love the adventure mode from DS and have been using a mod that adds the teleportato to give us some sort of win condition for each world I make, but that mod has its limitations, one being it doesn't play well with custom world gens like Desert Enhancement, and another being that it won't spawn in the caves, so I never end up forcing players into the caves (out of my group, I'm the only one that's ever been in there and have never been to the ruins). Which also brings up another question, if the custom world gen doesn't have the pig king, will this be able to add it?

Thanks for all your work on this. It sounds like it's pretty awesome! 

The Quest mod is actually a result of my plans to make an Adventure mod:
http://forums.kleientertainment.com/files/file/1684-dst-adventure-mod-unfinished/

But even this Questmod is such a big task, that I can't do it alone. That's why development of questmod is stuck, cause no one is interested in helping or even testing/balance ideas/story ideas.

Adventure mod is even bigger, and I don't have enough time and knowledge to finish that ever alone, that's why I uploaded my unfinished version, so in case someone would like to continue, he can do.

Questsmod:
There are not that many world gen mods out there.
Usually the game is forcing to spawn pigking, so a modder would need to explicit remove pigking.
And in this case I think there is a good reason for modder to not spawn pigking.
But I could add a check, if pigking is there. If he is not, I could spawn another questgiver instead.

About my teleportato mod:
Recently someone asked about teleportato in caves at steam. He wrote me at Klei forum and it seems he is going to work on it, to make teleportato parts also spawned in caves. If he succeeds I will incooperate his work in teleportato mod.
In this Enhanced Desert mod:
The teleportato mod has a function that check, if all parts are in the world. If not it should spawn them randomly in the world. So it should work with "desert only".  But this check is also the reason why parts are not spawning in caves yet. Cause I can't communicate between caves and overworld, to see if the parts are in one of these.

 

Edited by Serpens

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this