Quote:
Original post by Trapper Zoid
This village sim. is going to be the first step towards that game (which I hope to finish this decade, fingers crossed!)
From experience, I don't think that a simulation is the first step. It is a lot easier to introduce variability to an existing pathway through components than to create the components that will build the pathway.
Quote:
The ultimate goal of all this is my dream of creating a game where the computer crafts the storyline to fit the personality and actions of the player (or at the very least, generates a new story from scratch.
It is easy to get distracted if your goal is big. Instead of exploring each componets individually, I suggest you to completely create a rough version of the ultimate goal from day 1, and then refine the components in the control path.
Think about your goal, it looks like n-dimensional to you. Make a 1-D version of it that encapsulate the gist of the processes. What is the gist?
Climax creation.
Climax can be created by introducing a terrain between the initial state and the final state. For example, the story can be about an evil lord that had come to occupy the village, and the variations of the story resides on how the villagers fight back to expell the evil lord. The important idea here is that the goal is well-defined, and the objective of the game engine is to select/create events that will move the state toward a final state subjected to resource consumption. The distance/resource ratio is the measure of plot's intensity. A climax occurs when the ratio is large (the player had bet everything).
A true-resource is something that limit the number of operations as it reduces. Operations can be characterized by their cost, effect, and risk, where effect is the movement toward the goal state, and risk is proportional to effect/cost. In general, risky options are unavailable unless the resource/distance ratio drops below a threshold.
Your game engine will have an inventory of operations, either scripted or created. If each operation is created on the spot, then the real inventory size is zero. But the component that create/find the operation is really they addressing component for a hypothetical rom that holds all the operations. Your goal is to create the component that can search/create operations matching the current state and especially the distance/resource ratio.
This means that the primary focus is to create a bounded scenario where the distance and resource can be easily quantified, such that the engine can use them to generate appropriate operations.