10 ms·
World Building with GPT
- isaacfrond 4y agoHere is the result: https://llm.ianbicking.org/citymaker/?name=builtin_talamora https://llm.ianbicking.org/citymaker/?name=builtin_talamora
- EZ-Cheeze 4y agoGood comment, you're visualizing the functionality at a glance. Efficient information transmission yo!!
- jfk13 4y agoFrom a brief glance, it looks quite clichéd and repetitive. (But that's hardly surprising, given the absence of a creative mind behind it.)
- mcalus3 4y agoAh, yes, the ultimate world-building expierience: > Neighborhoods are called "neighborhood"
- Applejinx 4y agoYou see, this is why not to worldbuild. And I say that as a writer who's spent years doing just that. What a spectacularly long and thorough list of items none of which want anything. The closest it got was some sort of evil wizard boss who wanted power. At several places in the description it filled in a bit more about how he wanted power, and control, and was seemingly a bad guy… and wanted power! Why? World building with GPT is clearly A Thing. Looks to me like it's nearly as good as real-human world building. Maybe better. It's quicker, more granular, and has infinite patience for every little item in a massive city with billions of fully realized inhabitants, if 'realized' means 'what do they have in their pockets, what adjectives fit them, etc'. What do any of them want? How does their story play out? It doesn't. You built a world instead of a story. Congrats. It's a classic trap to fall into.
- deleted 4y ago[deleted]
- ianbicking 4y agoI 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.
- hutzlibu 4y ago"You built a world instead of a story." But inside of that consistent world, you now can have many stories. Pick out one of those detailed NPCs and explore their life and if you done the world right, then this can be an epic story.
- localplume 4y agoAwesome. It'd be pretty cool to generate maps with a certain style from descriptions of areas/towns/etc like this. A big problem would be the lack of consistency in the internal model though, which is a really persistent problem with chatGPT/others like it.
- EZ-Cheeze 4y agoImagine when ChatGPT lets us cross-reference all our chats so far. I have hundreds in my history and it would be amazing for it to recall them all when I am querying it accordingly. How are you all exporting your chats in the meantime?
- ihateyouall123 4y agoI'm not. Chats are temporary tools for communication. It sounds like you are using texts for your business. That sounds like a lot of work.
- kybernetikos 4y agoI'm not using this, but I did see it recently and it may be what you're looking for: https://sharegpt.com/ https://sharegpt.com/
- resiros 4y agoShameless plug here for those (like the author) who are using GPT in your projects and finding the costs to be too high. We're building an open source wrapper around ChatGPT that lets you use it programmatically as an API or from Python or in CLI. Best of all, it's completely free! So it is great for testing the waters on a hobby project. Check it out on GitHub: https://github.com/mmabrouk/chatgpt-wrapper https://github.com/mmabrouk/chatgpt-wrapper p.s. Just to answer all the comments below. OpenAI currently does not provide an API to ChatGPT. Our goal is not to abuse ChatGPT, but to provide tools for hobbiest to leverage it (by creating a power shell around it, making workflows around it, even using templates...) until an official API is available. As soon as an official API is available, we would integrate it in our CLI. In any case, chatGPT has hard query limits that would not allow you to use our project for any heavy lifting!
- seper8 4y ago... Isn't chatGPT already available as an API? Or is this just a wrapper to the chatGPT public and free frontend? If thats the case I don't think this is fair use.
- danielbln 4y agoThis is hooking into the ChatGPT UI API, which is something OpenAI does not like to see and could result in banning of the account. Of course, since it's using playwright to simulate a browser, it might be hard to detect, but still, I'd be cautious.
- kschiffer 4y agoI don't even get why people wouldn't use normal GPT API (OpenAI completions) instead. Isn't it exactly the same except that ChatGPT is primed to be more conversational (which in many cases as the one in the OP is just noise anyway)?
- ailef 4y agoThere are some differences. For example ChatGPT underwent an extra finetuning step using reinforcement learning and it supports 8k tokens instead of 4k.
- vintermann 4y agoThe hard part of world building is not contradicting yourself too much. Right now, "remember all the little details and their implications" seems like it would be challenging for language models.
- Taek 4y agoI've had success using a multistage inference approach. Establish a set of rules, then have the LLM ask itself whether its current suggested world building complies with all the rules. Then have it tweak its own story. Finally, after all that, present the output to the user. It means inference takes 4x as long because you are doing multiple rounds of inference before actually presenting output but the final output you get is way more stable/consistent/accurate
- williamcotton 4y agoThat seems to be similar to this approach, at least at a cursory level: Check Your Facts and Try Again: Improving Large Language Models with External Knowledge and Automated Feedback https://arxiv.org/abs/2302.12813 https://arxiv.org/abs/2302.12813 The “facts” being derived not from Wikipedia but rather the rules of the fictional world.
- sitkack 4y agoI have had it make new languages based off existing languages but change the weights on how thing are used and what semantics are allowed or fixed. Are you building in a recursive layer by asking it to take on a role while also targeting its output at a constructed user persona?
- Taek 4y agoI hadn't thought about targeting a constructed user persona, that's a neat idea. But otherwise yes, its a recursive model that runs inference a bunch of times to improve the quality of its output.
- CatWChainsaw 4y ago
- emptyfile 4y ago[dead]
- k_eshav 4y agoI would love to see this potential being used in games to procedurely generate unique experiences in for every player. I really can't wait for a proper AAA implementation.
- epups 4y agoYeah honestly this is what I'm really looking forward to. Daggerfall/Skyrim with auto-generated content that is in some way related to individual activities or personality traits of each NPC.
- kibwen 4y agoBut why would you want that, though? If you make everything procedural and unique, then players have absolutely no shared experiences to bond over. Think of a game like Elden Ring, and imagine how diminished it would be if you knew that nothing you encountered was ever encountered by anyone else, and would never be encountered by anyone else. Instead of a shared cultural experience, now you have an isolated one. That would be a strictly worse game.
- yyyppp 4y agoNot everything. Imagine a character that has a certain agenda/motivations/personality, but is able to 'naturally' react to the player's actions in a non-scripted way. NPCs is future AAA games are going to be insane.
- kerpotgh 4y agoIt could be procedurally generated the first time someone stumbles across it and then gets added to the corpus of the world that everyone shares.
- ianbicking 4y agoJust pregenerate a large corpus of characters that is shared with everyone. Especially if you want human intervention in the creation (which is the right choice for now). Then you have potentially hundreds of characters. And you can invest in things like secrets... who wants to add lots of secrets to their NPCs now, knowing that maybe no one would ever discover them? But if they are cheap, then sure. Now any player has a real opportunity to discover something truly new in the shared world.
- deleted 4y ago[deleted]
- williamcotton 4y agoBut when it gets on a roll producing normal/boring things, it will fill out the list with normal/boring things. With these kinds of repetitive tasks I find that the chatbot interface is not the best and that using an API is much better. The chatbot approach is constantly feeding the history of the “conversation” back to the LLM. However, if you are asking for a fresh completion every time but with a number of few-shot examples of the output you can get much more reliable outputs. This applies to the data formatting examples as well. If enough examples are provided in the prompt it tends to lock into the pattern very well.
- Veen 4y agoI don't use the API programmatically, but I often move from ChatGPT to the OpenAI Playground when I'm not getting the results I want. It's just as convenient as chat, but it lets you play around with the Temperature and other factors that influence the output.
- williamcotton 4y agoThat’s a great point and thanks for reminding me! I should use that more often as well as it the UI is pretty convenient for rapid iteration. As for why I’m specifically using the API is that I tend to eval(completion), sometimes on generated functions, but sometimes just to have a function like toNum() in scope to turn “1,356” into 1356! Which could be another method used for errant {size: “3x5”} instead of {w:3,h:5}… the hallucinations become somewhat predictable and hence parsable in ways that reduce errors drastically!
- seu 4y agoIn my writing, I find world-building to be a very enjoyable activity and would not delegate it to a bot just because of that. I would also like to say that employing ChatGPT or similar tools for this task would make all worlds feel the same, but the sad truth is that most amateur and hobbyist writers' world-building feel kind of the same anyway. :(
- Cthulhu_ 4y agoYeah that's not wrong, I mean in theory GPT can (and probably already does) write these padded-out articles, listicles and recipes for content farms, but it's probably indistinguishable from the hordes of low-cost paid-per-word content writers hired through Fiver and the likes. I feel bad for being dismissive of their work, but... a lot of it is just low quality and predictable filler.
- pixl97 4y agoIt would be interesting to see things like LLMs/voice models used in online games for NPCs. When interesting things are going on they have unique lines, but after the 100th time you've passed them and they ask you to come to cloud city you're ready to magic missile them in the face. You're not looking for anything inspiring, you're just trying to get away from the repetition.
- 411111111111111 4y agoI don't think we'll witness this in the foreseeable future. GPU is already capped in gaming and CPU isn't isle enough for these calculations. We'd likely need consoles to pave the way with AI cores on their SOCs, then we might get new pcie AI cards and that's probably the first time the feature could be leveraged properly. Doing everything in the cloud would be prohibitively expensive and likely too slow, as 15 second would be just too long for a player to stand around waiting for an answer.
- rtontic 4y agoI mean, reading this article, seems like the author still had to put in a lot of work to get something decent. Kinda makes GPT not look like an all powerful content generator: it steels need a human to use it correctly.
- Garlef 4y agoRegarding the cost: I think in a practical application (i.e. a game), it might be feasible to "lazy load" the world. If I remember correctly, watchdogs 2 does something like this. Need a new character? Just create it on the fly. You'd have make be sure to create all the necessary background structures as neighborhood, family ties, etc as well. Or at least mark make sure you don't introduce (glaring) inconsistencies.
- throwawayffffas 4y agoI have been thinking how I would go about creating a game world that feels populated and scales. My idea is very similar to this, having a world simulated mostly with statistics, i.e so and so town has population such and such and only generate the characters, environments the character directly interacts with.
- RugnirViking 4y agoThat's how dwarf fortress works. It has a system of "sites" which are locations with population statistics broken down into race and profession, which interact with each other via wars and trading caravans and the like. There are separately a smaller but still large population of historical figures whose lives are described in much more detail and who are picked to do things like lead armies & caravans, or who compete in races/competitons etc. Finally those people you actually interact with have their skills/personally inferred from their history (they were once a tavern keep? they must have good consoler skill etc. They probably aren't also an introvert)
- throwaway4aday 4y agoI got the feeling while reading the article that you could lean more heavily on procedural generation in order to reduce costs. Using GPT-3 for name generation is overkill. There are plenty of lists out there to use and if you want 100% unique names you can create a probabilistic name generator that uses letter or phoneme frequencies to spit out convincing sounding names. Generating the layout of buildings and their locations on a map or within a city is also a fairly well solved procedural generation problem with lots of different methods. I'm even tempted to say that things like the professions and relationships between characters would be better off being procedural and then let GPT fill in the dramatic details or fantastical job titles and descriptions. Basically, all the boring and well established stuff should be procedural and then use GPT to make it exciting by writing narratives and plots as well as adding the setting.
- poisonborz 4y ago> Every building is grand. Every character is loyal and helpful. Every character is competent, respected, and wise. > If you ask very explicitly for flaws you can get some. It’s very hard to get a truly despicable character. This reminds me of one interesting tidbit in recently canceled Dilbert author Scott Adams's racist rant of a podcast. Said something along the lines that it's absolutely irrelevant what kind of AI we can craft, nobody will want it. The state and industry wouldn't allow most of what such an AI would say or do. Extrapolating from this: crafting and training the AI is the "easy part", an even more complex task is to restrict the output in the end: make it dumb, simple, tailored and censored to the imagined end user, and profitable for the creator.
- deleted 4y ago[deleted]
- hackernewds 4y ago> is to restrict the output in the end: this is pretty profound. and seems necessary only since inherently humans can be hateful, vile and racist but we can't come to terms with it. in crafting an AI, that is less humanlike, we actually inject a lot of biases based on our own understanding of what an ideal human should be like - which for most humans is themselves
- taskforcegemini 4y ago> what an ideal human should be like - which for most humans is themselves as in "do as I say" or "do as I do"?
- throwaway4aday 4y ago>make it dumb, simple, tailored and censored to the imagined end user, > and profitable for the creator. Those two goals are mutually exclusive. The first one is what you need to fly under the nose of salacious media and paranoid investors. The second one involves delivering unique value to your customers who already have their fill of dumb, simple, and censored tools and toys.
- christkv 4y ago
- throwawayffffas 4y agoI skimmed the article and really enjoyed it. I admire the authors effort and will come back to read it in full soon. I have spent a lot less effort on a similar endeavor before deeming GPT inappropriate for this purpose, with similar takeaways as the ones noted in "What doesn't work" I think the reason behind these shortcomings is because of the nature of GPT. It's designed to predict the most likely words to come after the prompt and as such it's very prone to fall in cliches, stereotypes and tropes. I think the next iteration algorithm is going to feel less like generated content but will still maintain a hack writer feel. I would wager the author could get better results with a system where the substance of the content is generated through another process, possibly something like dwarf fortresses world and lore generation, and having a GPT layer that would put that content in more creative prose.
- impalallama 4y agoI have come to a similar conclusion. I still get better results generating d&d npcs with my usual random charts than using gpt. Although I have a suspicion it’s because openai has heavily clamped down on gpt responses so it will not give wild inappropriate responses that would be bad pr. For example it generated exactly 1 Npc that could be considered rude with a special note how it’s sorry about that but that it’s important some npcs are rude for a more dynamic world (which I find amusing)
- pixl97 4y agoThe business to user AI alignment issue is an interesting problem to watch folding out. As you state, if your creating a general help AI for things like searching you don't want a user asking "How do I solve all my problems?" and the AI responding "Tie a rope around a tree, the other end around your neck and jump". That's how you get the NYT headlines of 'AI kills users'. But that particular safety approach fails to create interesting 'human' stories. Sometimes the bad guy comes in and performs a genocide setting off the heros story arc. Sometimes the good guy is a terrorist (Luke Skywalker: No, I'm a freedom fighter). The problem I see here is the power to create interesting and believable fiction is the same power to talk people into suicide. It's the same power to talk a mob in to rioting. It's the same power that could drive a nation to war. As the power to run these models goes from something that requires a datacenter to run down to something that runs in the palm of your hand it's something that society and the world will have to deal with. Any of you that run sites that allow posting won't like the idea of a million virtual Nazi's that never sleep (or maybe you do like the idea of?). Authoritarians in power may love the idea of countless voices spreading their message. As they say, may we live in interesting times.
- r3trohack3r 4y agoI was playing around with content rewriting using the GPT models and ended up with this: https://persona.ink https://persona.ink Once you’ve got characters in your world, the GPT models are pretty good at taking any arbitrary statement and rewriting it as if that character had said it. You can add in extra guidance too like having that character summarize it. I don’t think it’s quite “one-shot” - it’s often an iterative process of copying out the bits you like and meshing them with your own writing. But I’ve found it’s pretty good to get the creative juices flowing.
- nerdchum 4y agoI would love to have conversations with NPCs be run by chat GPT. Train them on the lore of the world somehow and converse with the NPC.
- piyh 4y agoI wonder how many engineering hours will be spent on tuning the GTA style strip club NPCs to be the right level of interactive while staying within the ESRB rating.
- red-iron-pine 4y agoFor something like that you're not there to talk to the character. easier to pick a few lines of basic dialog "nice to see you daddy" or "looking for some fun" and then let the, uh, visuals do the talking. But talking to the mayor or the king or something, different story. imagine if playing Dragon Age or whatever you get to the king and ask rude questions and he politely tells you to piss off. or goes on random tangents about how lazy some of his courtiers are, etc.
- dncornholio 4y agoAm I the only one who finds these kinds of 'discoveries' about ChatGPT incredibly boring? Think what you could have made yourself in the time it took to create good 'prompts'. There's no skill involved here in my opinion.