Welcome,
Guest
|
|
ImpCre - Imperium world builder
DESCRIPTION: (Where the term "world" is used, it refers to the whole Imperium "universe", meaning all planets, stars, black holes, etc. A reference to a specific item will be stated like "Planet xxx".) ImpCre is the utility used to build up worlds for Imperium. ImpCre creates a world by checking various environment variables (usually set through a shell script) to determine what kind of world to create. Then it uses heuristics to determine whether the world it has generated is "fair", and meets your requirements. It should therefore (hopefully ?) not be necessary to visually look at the world it has generated, although you may do so if you wish. NOTES: Note that a 128x128 world, using the defaults, will generate over 2.8 megabytes of data, on the average, and that a 256x256 world will generate over 12 megabytes of data, on the average. However, due to the way that ImpCre generates the planet data, it will seldom be required to actually read all this data, and so game access is still quite fast. Basically, ImpCre builds the planets (and stars, but I will just call them planets here) working from the top-left corner, moving downwards as you would read an english page, generating any planets needed by the sector as it goes. Therefore it will seldom be required to read more than a few objects which occur next to each other in the database, and due to the ImpServ caches, file seeking should be minimized. For example: Sector 1,3 might contain planets 25-31 Sector 1,4 might contain planets 32-35 In order to maintain this data layout and optimization, the deity should refrain from adding any planets or stars to a sector as much as possible, or add them only in relatively unused sectors where there won't be much need to access them. For example, if the deity adds even one planet to a sector, you could end up with something like the following: Sector 1,3 contains planets 25-31 *AND* 62341 which will now require a jump much farther into the planet file each time the sector is updated. How long the jump takes will depend on how fast your hard drive and controller are; how fragmented your planet file is, how many users are also playing; etc. It will normally only take less than a second, but this can add up if you have many such gaps. Creating a world You should first start out by copying one of the existing example shell scripts in the "ImpCre" directory to a name that represents the type of configuration you intend it to have, such as "dense1.sh" or "megastars.sh". Then edit the file and change the various settings to whatever you like. - The many settings you may change are described below. - Once you have gotten all the options the way you want them, you simply execute the shell script in the directory you want the "base" (telegrams, mainly) to be located in, and ImpCre will try it's best to create the world you requested. If it is unable to create what it considers a "fair" world, it will let you know, and you will have to try changing the values in the shell script and running it again. If ImpCre fails once with a certain group of settings don't give up. It may be possible to create the world if you try it again with ImpCre using a different random number seed. If you create a world in a directory that was a previously used to hold an Imperium world you should be sure to delete all the news ("news.*" files) and propaganda ("prop.*" files). If ImpCre is able to create a suitable world, it will be displayed to stdout, and you will be asked if you wish to create the world files. If you like the world you can answer "yes" and ImpCre will write the world for you. Make sure you have enough disk space! Tunable World Parameters There are many settings that you may change while deciding what you want your new world to be like. Additionally, there are MANY more that may be changed from within Imperium itself after the world has been created. At one time I was considering allowing you to specify them all at world build time, but just a quick estimate told me it would require over 20 80x25 screens just to present them all. If you really think you would like this ability, let me know. The settings that you may change from within Imperium are listed and described in the "Factors" doc file, should you wish to change them. Following is a description of what each of the items you may enter do. Horizontal size of the world This is the number of "galactic" sectors WIDE the world is. Remember that each galactic sector is broken down into 10 "subsectors" horizontally. Minimum of 10, max of 255. Vertical size of the world This is the number of "galactic" sectors TALL the world is. Remember that each galactic sector is broken down into 10 "subsectors" vertically. Minimum of 10, max of 255. These two settings will affect other parts of the world generation, such as the maximum number of players, etc. Also, the two sizes do NOT have to be equal. MaxTries This will be determined automagically based on the world size, but if you need to override it due to your settings affecting star, planet, or "other" density, you may. Basically this is the number of times that ImpCre should loop while trying to construct the initial layout of the world. If a world can't be created after this many placement attempts, ImpCre will try to start over from scratch. If you want to see what number is currently being used, specify the "-v" flag on the ImpCre command-line. Number of players This is the number of players that you want to allow before "reusing" idle accounts. This can be increased later, if you run out of virgin player slots, but don't want to remove idle players. Primarily this is just here to give you an idea of about how many players can use the game without having to bump into each other all the time. If you find that some players aren't very active, you can increase the limit later. Percent of "other" sectors This the percentage of the total number of galactic sectors that should be black holes or super novas. This includes all 100 "subsectors", so each "other" sector that exists in the world will reduce your usable subsectors by 100, and will increase the odds that ImpCre will not be able to place things fairly. Percent of "other" sectors that should be black holes This will determine how many of the "other" sectors that get created will be black holes versus super novas. Supernovas instantly destroy any ship that passes through them. Black holes can do various random things like destroying a ship, causing a ship to appear in another part of the world, changing the owner of the ship, contaminating the ship with the plague, etc. Percent of sectors with at least 1 star This is the percentage of sectors that will have at least one star in them. A sector with no stars will never have any planets in the sector. Percent of sectors with more than 1 star This is the percentage of sectors (with the maximum being the above percentage) that have more than one star in them. Sectors with more than one star will tend to have mineral-rich but atmosphere-poor planets. Percent of sectors with at least 1 planet This is the percentage of sectors that have at least one planet in them. Percent of sectors with more than 4 planets in them This is the percentage of sectors with more than 4 planets in them, with the maximum being the above percentage. Minimum distance for home planets This is the number of sectors away that a home planet must be from any other home planet. You must keep this in mind for smaller sized worlds it may be impossible to place a home planet for each of the races if this value is too large. Minimum number of nearby planets This is the number of unclaimed planets that must be near a home planet for ImpCre to consider that location "fair" to the home planet. Maximum distance for those planets This is how far away the planets may be from the home planet. Maximum spread of planets This is the maximum difference between the home planet with the most nearby planets and the home planet with the least number of nearby planets. This helps to assure that all planets are placed fairly. Maximum connect time per day This is the number of minutes each player may use the game, from midnight to midnight. Default starting money The amount of money that each of the players will have at the start of the game. You may also specify the names of each of the races, along with the name of their home planet. These do nothing except identify the race, and add some flavor, so feel free to change the names to something else (red team, etc). Lastly, you may enter the winner of the last game. If this is the first game, or you didn't have a conclusive ending to the last game, you can just leave it blank, or you can make up some non-existant name. This field should probably be the name(s) of the winning race(s), but could also be the name(s) of the winning player(s), if there were just a few that were powerful. |
Please Log in or Create an account to join the conversation. |