Thesis Log: Productivity soars
I actually spent most of today at Chalmers, which while tiring probably helped my productivity.
I have been looking at various games that employ quests in general, trying to discern what components those quests are usually made up of, and how they are completed. Lists have been made of objectives that can be called “generic”, that is, occur often and are potential candidates for automatic generation, and “unique” objectives, that are of a more hand-crafted nature, often involving scripted sequences, that are less likely to be generatable with any degree of quality. They are specialized and often have some particular kind of point to them.
This article/review has proven to be very interesting, and I should be sure to refer to it later. It has many things about narratives for games, especially, and while it's about writing for games, it's definitely close enough to be highly relevant.
It all comes down to creating things for the player to DO, not just read about in dialogues and backstory. Creating challenges.
Assuming we are going to let the player create his own character at the beginning of the game, with some variety of race/class choices, etc., it might make sense to deliberately try to bias the generated narrative in favor of that particular class. For instance, a player who chooses to play as a wizard might encounter more challenges that require the use of magic, and receive more magical items and spells as rewards. A player who creates a burly berserker-type character would face more monsters to slay and generally receive powerful melee weapons rather than magical knickknacks. We shouldn't tip the scales too much though, or the bias will appear too deliberate and the game too one-sided. Variation is just as necessary, and ultimately, perhaps it would be best to make the player feel as if the game is completely random but just “happens” to favor his particular selection at this point.
Further effort has been devoted to trying to get a grip on Pyro, the game engine I intend to use for the demo application. Being written entirely in Python and containing few surprises, so far progress has been good as far as this is concerned. I've attempted to modify small aspects of the game engine to further understand its architecture. So far, no substantial changes have been made, thus nothing worth mentioning.
I've come think a fair deal more about generating a setting to go with the story. I'm convinced that the setting is an integral part of the narrative, and thus is relevant to the problem at hand. I have a few ideas on how to proceed. It seems right now that not only would I need to create a narrative grammar describing how events in the story proceed, but also some manner of describing characters, places etc. in the world. As this is not the primary focus of this project, it's expected that the results will be fairly superficial, but I am nevertheless sure that some measure of research into this is appropriate. The setting is what drives the story onward, after all. Consistent and interesting characters and locations is a necessity for creating a narrative that the player is going to care about.
Currently, I'm thinking about the following breakdown of important traits for NPCs, whether they are hostile monsters to be slain or friendly helpers for the player, or something in between:
- Species
- Simply what biological species the character is: human, elf, goblin, etc. Will decide the character's intrinsic attributes, in gameplay terms things like strength, intellect, and so on.
- Class
- What training the character has: warrior, wizard, thief, etc. Will decide the character's skill and abilities in and out of combat, as well as adjustments to attributes.
- Faction affiliation
- What faction among the various that exist in the land this creature belongs to. Could conceivably be “null” or “N/A” for renegade NPCs not associated with any particular faction.
- Faction role
- What role this NPC occupies within his faction, such as “leader”, “guardsman”, “military”, “caretaker”, etc. I have to put a lot more thought into these roles; essentially, they'll demarcate the various parts of the faction's organization. I believe this trait is more important than one might think at first glance, since it provides a lot of justification for just why a particular NPC behaves in a particular way. It transforms the NPC from “random warm body” into something that actually has function in the world.
The following minor traits are somewhat interesting, but not as relevant as the above. Some are only relevant to NPCs the player is supposed to interact with in some way other than merely slaying them.
- Personality
- Aggressive, kindly, stoic, wimpy, helpful. The general attitude and mood of the character.
- Culture
- What culture the NPC was brought up in. The effects this trait would have can probably be more easily approximated through the other traits, and with the looming complexity of implementing this trait, it's unlikely it will be. Still, it's here because it's theoretically relevant.
Comments
Would quests done in a group would have unique rewards for each character? (Just a random thought.)
Also, there's probably some kind of list or study available on archetypal personalities, which might be interesting for both quest givers and player characters.
This project is not intended to deal with multiplayer situations.