Terasology / GooeysQuests

Go on quests with Gooey, our official mascot!
Apache License 2.0
2 stars 18 forks source link

Questing Book | User Interface #5

Open TimVerhaegen opened 7 years ago

TimVerhaegen commented 7 years ago

Intro

As we all know, questing is fun. Especially in games. (Otherwise I'd be quite weird.) There however is no decent quest inside of the module! No variety in quests, nor is there a decent reward quite often.

What are the details on your new feature or extension?

The gameplay that should be changed is really not just for one module. Basically, I think that more quests should be added, to offer a more broad variety of gameplay, not just the simple fetching. This should be mainly a skeleton to work against. See the "personal thoughts" paragraph. The quests to be added can include fetching, killing, or even supporting something such as a build. Storylines should be made possible, as well. See the "example" paragraph. I do realise that there probably will be more than one module involved in to this, but that is simply a requirement! Every good module depends on others in some way. No exception here. Also, a quest tracking system, is needed, this could be a book dynamically updated with some nice design.

What gameplay changes does it include?

The first gameplay change obviously is having much more to do. It would mean more to do, in a sometimes quite empty world. It's always a plus for every game to have an advanced questing system I think, as it makes the game far more alive. So you'll have..:

What systems and components should be implemented or extended in order to get it working?

A new questing system. The quests should NOT be hardcoded, so probably some components added to the prefab files. Maybe for instance "Reward", "QuestGiver" or even "QuestObjective"? Probably the UI, or the book if people depending on which one will be added. You could add both really. Some sort of connection between Buildings, NPC's and quests? (Events?) The UI can include widgets such as scrolling widgets, themed in a certain style specified by the prefab components. To propose at least one single way of how I'd work, here is what I would do: I'd make add structures, by letting the quest module depend on structureTemplates, and then also add an NPC module. Ultimately this should lead to the following structure: Randomly and non randomly spawning structures in the world, with NPCs in, offering quests. The quests can be repeatable or even tied to a storyline. The quests are to be mentioned in the quest book and should also yield a reward.

How will the new feature improve the module?

It would add actual content to the game, this module is a good start, but is far from done. Right now the questing just doesn't feel like questing, it's more like a random task from Gooey. I realise that it takes a lot of time to produce these systems, but it'll be worth it in the end. Pinky Promise, son.

[Optional] Can the feature help other modules?

Yes, other modules should be able to integrate with this questing system.

Examples

Let's say you just started a game. The main issue then to me, is getting a place to live temporary of course. You could create a new quest which requires you to gather a certain amount of wood/stone and then submit it to the quest giver, perhaps giving more in return. This quest should be "coded" with an existing prefab file, using some other extra components such as QuestReward or QuestDialogText. This would be an opening quest which Gooey can give.

Second example, a more advanced one. There's a witch living inside of a tower, which is generated on coordinates 6000,surfaceHeight,6000. She's an old lady, and she needs some kind of ingredients for her latest brew to keep her alive. The quest sends you to another biome, a dangerous swamp somewhere 2000 blocks away, also generated on a predefined location. You have to gather 20 Funky Frogs to make sure she stays alive. You gather it and after doing so, you get one of those brews as she made more than enough for her alone. The brew would be a special one, giving strength, speed and more effects for one day.

Personal Thoughts

Meanwhile adding content might seem extremely fun, it's also dangerous. It means more work for the developers, whose work should go to the engine itself. A few pieces of content cannot hurt, and I think this module should be no exception. I'd say make the systems already but wait adding actual content such as quests/NPCs/dungeons/other structures.

An example of a prefab with some possible quest compnents added :) test.txt

Cervator commented 7 years ago

So after also discussing on IRC I think I get what you're wanting here, but you need to learn more about scope and restraining yourself in describing things :-)

Another thing is willingness to throw something out to start from scratch. That can be helpful in rewriting something while keeping it more focused. Lightly editing existing text when you're off target often doesn't help much. You're not losing anything by throwing out some text, after all the ideas still remain in your head (and you can still refer to original text while writing something new - just no copy pasting)

I'm going to read between the lines and recommend the scope on this issue be limited to the following:

A lot of the stuff in your initial write-up would go better in the Tasks module (and others), since it is a framework module for adding tasks (a quest system). GooeysQuests is a gameplay module that adds actual content, but it shouldn't be adding a lot of framework pieces, since then you'd get the gameplay from here any time you depend on GQ.

Still will approve the task since we have the ideas out in the open, but I hope you can still go over this, consider scope, and maybe try to write it differently, maybe split it apart into a few modules, or add it to one or more relevant forum threads :-)

TimVerhaegen commented 7 years ago

I edited the text, feel free to check it out. I saved the other one.

flo commented 7 years ago

As already mentuoned on IRC more content is planned but currently I am focusing on making it easier to create content.

Also i am not a big fan of quests like "Do X to get Y". It kindof ruins half of the surrise of what you will find and makes the player focus in the reward instead of encouraging discovery.

I rather have gooey give a quest that don't spoil everything but give a clue where something will or has happened. E.g. Gooey might tell you about earthquakes on a mountain and let you then figure out what it is about It might turn out to be a volcano erruption that leaves treasures.

The main purpose of the gooey character is to ask the player for confirmation before the world gets modified.