3 ms·
I see this as a more filled-out map. Making a map is fun, but it's not a story, it's a setting. Making a setting can itself be fun and I genuinely enjoy making
by ianbicking 4y ago
I see this as a more filled-out map. Making a map is fun, but it's not a story, it's a setting. Making a setting can itself be fun and I genuinely enjoy making imaginary maps. I sketch out some lines, and then almost by accident there are bays and mountain ranges and outer reaches and so on. Soon it's populated by different species and has history... and the lines I started out with aren't the source of all of that, but they got the process going.
In a more story-oriented approach you find the story and the main characters and then if you are smart you'll build the world around them. But secretly! If you make it obvious then it will feel manufactured, that fate is guiding the protagonist, not the protagonist's free will. Which is true: the author is fate and the protagonist has no free will.
Another option is to find the story amid the world. In an open world game you hope the player finds their own stories.
From a more technical point of view, I don't think you want the normal building/character generation to the main antagonists, the villain, or the hero. GPT can't hold itself back, and now every other building will have some character like this. Like if there's a big prison break from Arkham and the villains don't even work together (rendering many characters as one) but instead Gotham is filled with an apocalyptic danger on every street corner. If this tool was to have villain creation it should probably be a top-level thing: you make N villains and place them, they don't emerge organically in the fabric of the city.
All that said, perhaps a quick fix would be to change the current prompt from:
{
name: "FirstName LastName",
type: $building.jobTypes|first|repr, // Or $building.jobTypes|rest|repr
description: "[a description of the person, their profession or role, their personality, their history]",
arrives: "8am",
leaves: "6pm",
}
To something like:
{
name: "FirstName LastName",
...
goal: "[a driving desire]",
flaw: "[a character flaw or weakness]",
}
This is another place where defining the schema as part of the city design could be helpful, as it might let you highlight what interests you about the people in your world.