• Anafroj@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    That’s impressive. And also, I don’t think I would have the patience to do a quarter of the preps the author did. :D

    In navigating the city, I want my players to feel as if nothing is being invented on the spot – the setting should feel as if it exists independently of them, and they are exploring its secrets

    I found a middle ground to allow that without getting into that level of preps - although, it requires some programming skills. I use the same technique that the No Man’s Sky videogame used to build a universe with a quintillion systems : geographically seeded procedural generation.

    The thing with the random number generators we use on computers to replace dice roll is that they basically are prestidigitation : they make you think they give you a random result, but it never is, because randomness does not exist in computing. Instead, they are elaborate mathematical functions to which you give a seed number and who give in return a series of generated numbers which you can’t predict. The interesting part in that being : if you give the same seed number, you’ll get the same series of result numbers. When simulating dice, you don’t want that, so you’ll use something like the current date and time as a seed.

    But that also mean we can use that to deterministically setup a whole universe before the campaign starts : we can use the coordinates of a hex as seed. I use that in my hexcrawl in the Traveller rpg, where each hex is a planetary system. Traveller already provides a mean to randomize what there is in a system, based on your usual tables and modifiers. I wrote code to implement this generation, and I seed my RNG with the coordinates of the hexes. And just like that, I have a universe of billons of randomly generated places that all exist from the very start of my game. I can explore them on my map, see what there is in a given region, imagine relations between them and their neighbors, it’s there from the start and I know it won’t change : provided the coordinates and the generation function do not change, the exact same content will always appear in the exact same place.

    In most languages, the random function allows to provide a seed. It’s not the case in javascript that I used to make my app, I can provide the functions I used, if anyone is interested (but really, they’re just pasted from StackOverflow).

    • fredzBXGame@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      You should write a full blog on it

      I wonder about incorporating AI to just generate the town and role play the NPC’s

      • Anafroj@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Indeed, that sounds like something worth sharing. Although, writing a blog post would be a bit weird for me, as I don’t have a blog and it would be a single article. I think I’m going to do what I do best : publish an open-source project based on that idea. That way, it will serve as an example about how to implement this technique, and those who can’t do it themselves at least will have a generalist version that may work for them. I can’t publish my Traveller app as is because it’s full of copyrighted content, but I’ll extract something from it that will allow users to fill their own tables for generated content.