[TOOL] POI Randomizer

Discussion in 'Planets & Playfields' started by Christianholmes, Jul 24, 2017.

  1. Christianholmes

    Christianholmes Captain

    Joined:
    Jul 27, 2016
    Messages:
    81
    Likes Received:
    92
    UPDATED 8/23/207 - Added support for SpawnPOINearDistance/SpawnPOIAvoidDistance

    I know it's probably in the works, but for now every game/server we start up has the same POIs as usual. Fairly big ones that make exploring for anything other than plants kind of redundant. So you download some new ones and add them to some of your playfields.

    However, after a bunch of time editing/troubleshooting .yamls you realize Nothing is going to be a surprise for you. Sure you can add a little secret stash here and there, but you're going to know what planet it's on. What about really, really cool locations? Say a Trader that deals in Epic Weapons? If you know what planet he's on, it won't be much fun to explore everything else.

    Think what it would be like to download Universal Voodoo with it's 200 planets, and know somewhere out there is that trader. And on all the planets you can find small stashes that really requiring some exploring since they don't show up on your map until you're right on top of them.

    Well, I finally decided it was going to happen and I made it. With just a few clicks you can populate your universe with any POIs you create, or download.

    Screenshots:
    http://imgur.com/a/qF3Pb

    Download:

    Program, Example scenerio, and custom POIs all found here


    https://www.dropbox.com/sh/g9gywifnq9eag5o/AAAT7Uo6WnbnQmn0o-n9LkbCa?dl=0


    *BONUS: A program I made to bulk editor trader prices. It will load all your traders and changing the price/stock of "Pistol" will change that item for all traders. You can also Cap and scale all prices (I find the prices to be way too high, especially with durability turned on). Just copy the .exe to the directory of the TraderNPCConfig.ecf file you want to modify and run it.

    Screenshot:
    https://www.dropbox.com/s/h66hf8b2feuizl6/BulkTraderEdit.png?dl=0

    Download here as well:

    https://www.dropbox.com/sh/g9gywifnq9eag5o/AAAT7Uo6WnbnQmn0o-n9LkbCa?dl=0

    You can create you own templates in the program. You just need to know the groupnames of the blueprints, and have the .epb files in the \prefab directory. You also need all the playfield.yamls copied into the scenerio.

    If you don't know how to use it, please respond so I (or anyone who knows the file structure) can answer publicly.

    IT WILL:
    1) Copy a scenario to a new directory so you don't have to change the original. I have included the default scenario for you to copy and play with before you try it on your own server. It has all the playfields an necessary prefabs. Add about 18 "Relic" POIS to all your desert/temperate planets and go exploring!
    2) Add POIs to your playfield.yamls. It can either overwrite or add a specific group to your playfield.
    3) It can remove a POI for all, or a selected group of playfields
    4) It can randomly add a POI to some or all of your playfields. You can set the min/max to 1 for the POI, and set the min/max to 1 for the filter, and select add to all- you will get one copy of the POI randomly on any planet of your server. Super fun for ultra rare POIs like the included Epic Weapon Trader.

    IT WON'T:
    1)Add Ore resources. I just didn't add that yet
    2)Pull default playfields or names from the sector file. It simply looks at the playfield directory and filters out anything that is not a planet.
    3) Work with anything other than planets.
    4) It won't copy .epbs into your prefab directory for the scenerio. You need to do that.
    5) It won't read the sectory .yaml so the planet "names" are whatever the playfield directories are called.

    TIPS:
    1) Ask here, it may look intimidating but fear not. It's quite simple, and easier than editing .yamls

    I was able to add hundreds of my little random stashes and other POIs to Universal Voodoo in a few clicks which makes exploring on foot much more exciting.


    DISCLAIMER: Although I have tried to debug them before putting them up, I can't guarantee they are bug free. actually I guarantee there will be bugs. Just leave a detailed reply and I'll check it out. I did not include installers for these so make they won't work for some of you. I believe you need .net 4.


    ****AND BACKUP YOUR SCENARIO AND TRADER CONFIG BEFORE EDITING THEM!
     
    #1
    Last edited: Aug 23, 2017
    binhthuy71, Ubai, Kassonnade and 7 others like this.
  2. Captain Jack II

    Captain Jack II Rear Admiral

    Joined:
    Nov 1, 2016
    Messages:
    783
    Likes Received:
    1,268
    My universe doesn't require a server. Maybe change thread title to something more descriptive: [SERVER ADMIN TOOL]
     
    #2
  3. Xango2000

    Xango2000 Captain

    Joined:
    Jun 15, 2016
    Messages:
    385
    Likes Received:
    202
    Another programmer created a website that generates a random universe. Do that then use this random POI program.
    You will never be able to remember where everything is.

    Makes my silly little universe scrambler seem obsolete... All it does is randomize the coordinates of the orbits in the sectors.yaml
     
    #3
    binhthuy71 and Christianholmes like this.
  4. Christianholmes

    Christianholmes Captain

    Joined:
    Jul 27, 2016
    Messages:
    81
    Likes Received:
    92
    I works for single player scenarios as well, including the default playfields.
     
    #4
    binhthuy71 and Captain Jack II like this.
  5. Kaeser

    Kaeser Rear Admiral

    Joined:
    Aug 17, 2015
    Messages:
    1,739
    Likes Received:
    2,458
    I'll have to test this out....

    Great work mate....
     
    #5
    binhthuy71, markelov.v and martian101 like this.
  6. 1979danb

    1979danb Commander

    Joined:
    Jun 14, 2016
    Messages:
    23
    Likes Received:
    12
    I have been trying to use your tool on the "default multiplayer" scenario but i keep getting an error when loading..... System.ArgumentException: Requested value 'DesertNew' was not found.
    I thought it might be because its customised but i have tried removing and reinstalling the server and i get the same error on standard default multiplayer, but other scenarios load fine?
     
    #6
  7. Christianholmes

    Christianholmes Captain

    Joined:
    Jul 27, 2016
    Messages:
    81
    Likes Received:
    92
    #7
    stedo likes this.
  8. 1979danb

    1979danb Commander

    Joined:
    Jun 14, 2016
    Messages:
    23
    Likes Received:
    12
    it works now thanks dude!
     
    #8
    stedo and Christianholmes like this.
  9. Christianholmes

    Christianholmes Captain

    Joined:
    Jul 27, 2016
    Messages:
    81
    Likes Received:
    92
    Great! Let me know what you think. I have run into one little problem myself on a singleplayer game I started on Co-op, Went to build a ship and ran into a "This version only supports 64 bases". So I had to destroy a few POIs.
     
    #9
  10. 1979danb

    1979danb Commander

    Joined:
    Jun 14, 2016
    Messages:
    23
    Likes Received:
    12
    its a great tool and will help to freshen things up a bit. I have not had any other problems i'm just puzzled why their is no poi section in blueprints on the forum or workshop? i cant seem to find any poi blueprints to download!
     
    #10
  11. Christianholmes

    Christianholmes Captain

    Joined:
    Jul 27, 2016
    Messages:
    81
    Likes Received:
    92
    You can make ANY POI spawnable!

    Just modify it in creative mode. Add alien core if you want it to be hostile. Add some creature spawners, plasma turrets, etc (Think Epsilon bases). Or make it not hostile- don't add guns, but add traders, NPC spawners, etc (think civlian settlements). If you add an admin core it will be non destructible. In either case, for any cargo box, fridge, food processor, etc set the lock code to 0000 (four zeros) and it will be accessible in game. Note that alien/admin POIs don't need fuel or oxygen but will need tanks and generators. Two last things- if you put an admin core and slightly damage a block and select "save damage states" a player will be able to destroy that block, so you can sort of make puzzles where people can't cheat to get through. Also, you need to get or set the group name. Ht F2 and double click the blueprint. The group name is what you use in my program (and the yaml). After you are done creating/modding put it in the prefab folder. And in my program, select "Map Marker Neutral" so the map icon will show up white, not red (like civilian settlements/villages).

    *Note it will say not spawnable in survival mode when look at it in F2- it will be red. that just means from the blueprint factory. It will still spawn from the .yaml.

    To play around with this, copy one of the epsilon enemy POIs to your blueprint directory and open it in creative.

    And yes, I agree with you the workshop should ABSOLUTELY have an option to upload prefabs.
     
    #11
  12. 1979danb

    1979danb Commander

    Joined:
    Jun 14, 2016
    Messages:
    23
    Likes Received:
    12
    i have made poi's before but the problem is if i build them i know where everything is lol!
    we definitely need a poi section!
     
    #12
  13. Ubai

    Ubai Ensign

    Joined:
    Aug 23, 2017
    Messages:
    2
    Likes Received:
    0
    I am new to all this, how would I use this utility along with the random universe web site to make a playable scenario?

    Thanks,
    Matt
     
    #13
  14. Christianholmes

    Christianholmes Captain

    Joined:
    Jul 27, 2016
    Messages:
    81
    Likes Received:
    92
    Well, first you should get comfortable with the files. You will have a tough time if you don't know the files/structures. There is a lot of documentation so I won't repeat it, but I'll tell you how these tools work:

    First off, you can't really generate a full "random universe". That would require creating random planets (playfield.yamls) and the sector file. There is just no tool to do that. What you CAN do, is download a scenerio with a large number of planets- like Universal Voodoo- from the workshop and create your own scenerio (Literally copy all the contents of Universal Voodoo into a new directory under \scenerios).

    Then you can either use the playfield generator to drag planets around. I've heard there is a tool to just randomize coordinates but I don't know anything about it.

    My tool, the ROI Randomizer, will just change/add/remove POIs (Points of interest) to your planet(s). These are any unnatural structures- enemy bases, crashed ships, trade hubs, etc. But it does not check what POIs you have. So if you want to steal some POIs from another game, copy them to your \prefab directory and make a little .txt file under my programs \POIs directory so the program will see it and have the default settings. You can do this in the program as well as long as you know the POIs groupname (You could have several POIs in the group Wrecks for example, and it will randomly place one of those).

    What my program does, and why I made it- is so I can place POIs randomly around the universe so when I play *I won't know where they are*. That makes it more fun for me. For example, I build a little tent with an alien trader that sells epic weapons- which you normally have to find raiding enemy POIs. But I told the program to only place 1 of them in the universe. So there is only 1 of them on any of the 200 planets, and I have no idea where he is. Makes exploring more fun!
     
    #14
    martian101 and rainyday like this.
  15. Ubai

    Ubai Ensign

    Joined:
    Aug 23, 2017
    Messages:
    2
    Likes Received:
    0
    Thank you, that clears things up quite abit! Do you have to place each POI individually, or can you just plant X number of random POIs across the universe?
     
    #15
  16. Christianholmes

    Christianholmes Captain

    Joined:
    Jul 27, 2016
    Messages:
    81
    Likes Received:
    92
    Ok, so in the Empyrion playfield.yaml for each planet, is where the actual POI is generated from. You can place a specified amount, or range and it will randomly place, say, 2, or 3-7 on *this planet*. My program modifies this entry. However, my program can modify it for All, selected, or a range of all or selected *planets*. So not only can you change the amount of POIs on each planet, you can choose which planets to change basically the same way.

    So, for example, I have created a few POIs that are "caches". ie, a deserted old campsite, or a statue sticking out of the ground, etc. They all have containers buried under them that can be looted. I like placing 15-20 on temperate, desert, and ice planets, and then setting the detection distance 15 meters, so you really have explore to find them.

    But it would be a lot of work to do that by hand on 200 planets, so in my program, select all the planets you want to add them do and click "change/add" and voila. Also, if you do it by hand you know exactly what is on every planet, which takes the fun out of exploring.

    Just like in the .yaml, you have an ability to choose a range. But unlike the yamls, it does not change the number of the POIs on the planet, it can randomly choose a range of planets to add this POI to. I have created a exotic weapon trader (You have to do this is tradernpcconfig.ecf), and then a POI where that uses him. I only want this is one place in the universe. So .yaml setting will be "1-1" for min/max. That means exactly one would be placed on any planet with that entry. And then, I select all the temperate/snow/desert planets in my program and also set the range to 1-1 and click change add. This will randomly select 1 of the planets I highlighted and place 1 of the POI. So this means there will be only one in the universe, and I have no idea. This is to keep things exciting and makes it easy to populate bunch of planets quickly.

    Hope that clears it up.

    You can download the custom POIs from above in my dropbox along with the program. Just copy them into your \prefabs folder. In the archive for TraderItem Config.zip is a modified TraderNPCConfig.ecf which you need so the exotic weapon trader POI will work correctly.

    https://www.dropbox.com/sh/g9gywifnq9eag5o/AAAT7Uo6WnbnQmn0o-n9LkbCa?dl=0

    I should note as well, my program uses .txt files in a \POIs folder to add the POIs to any .yaml file. It does not know what POIs you have in your \prefab folder. These files are literally just snippets pulled from a .yaml. But for each POI you create and want to use, you need a .txt file. You can create a new one in the program and give it some default settings, then save it. I have included ones for some of the default POIs.
     
    #16
    Last edited: Aug 26, 2017
    rucky likes this.
  17. Shy_Clown

    Shy_Clown Ensign

    Joined:
    Jun 26, 2018
    Messages:
    14
    Likes Received:
    1
    Our country blocked the dropbox.com website
    Can anyone provide another download link?
    This program is very helpful to me. I need your help
     
    #17
  18. Christianholmes

    Christianholmes Captain

    Joined:
    Jul 27, 2016
    Messages:
    81
    Likes Received:
    92
    Hi, I haven't updated it since last year, with all the .yaml changes it would need significant testing. I'll try to get some time in the next few weeks.
     
    #18
  19. binhthuy71

    binhthuy71 Rear Admiral

    Joined:
    Oct 17, 2016
    Messages:
    1,072
    Likes Received:
    2,788
    This is great! How the heck did I miss it all this time?
    Thank you @Christianholmes !
     
    #19

Share This Page