• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.
  • We, the systems administration staff, apologize for this unexpected outage of the boards. We have resolved the root cause of the problem and there should be no further disruptions.

StarBase v 0.24 - The World Group Editor

simonh

SOC-12
The World Group Editor is a pretty significant new tool. It's available via the context menu whenever you select one or more worlds, one or more subsectors, or one or more sectors. The changes you configure in the editor will be applied to every world in the selection area.

The available modifications are:

Set Value
Every world will have the attribute adjusted to the specified attribute code. So for example you can set every world to have the same government type.

Adjust Value
The world attribute is adjusted up or down the attribute code scale by the specified offset. E.g. you could increment or decrement the population, tech level, etc of a region.

Set Maximum
Any worlds with the specified attribute at a higher value will have it reduced to the given maximum value. This can be used to cap population levels, technology ratings and so on e.g. for a frontier or under-developed region.

Set Minimum
Any worlds with the specified attribute at a lower value will have it raised to the given minimum value. This is great for highly developed or advanced regions, to set a minimum technology rating for example.

Diaog Image:
World_Group_Editor.png


It's advised to back up your project before making sweeping adjustments - with great power comes great responsibility!

Note: Any information calculated from the original world attribute values, such as trade codes in the System Data attribute for the OGL rules, will not be recalculated as this only occurs at world creation time. I'm considering ways to better handle such data.

Download Links:

StarBase 0.24 for Windows

StarBase 0.24 Manual

StarBase on Github

This release also fixes a problem with world data manually added to the worlds.csv file. It is now possible to define network links to worlds added this way.

Best regards,

Simon Hibbs
 
It works great Simon. Fantastic. I had to "reverse" my thinking on Starports but once I figured that out I was able to make some sweeping changes in my IMTU sector that I had thought would require a manual "system by system" manual check.
 
It works great Simon. Fantastic. I had to "reverse" my thinking on Starports but once I figured that out I was able to make some sweeping changes in my IMTU sector that I had thought would require a manual "system by system" manual check.

I should have posted something about the starport codes issue, but I forgot.

The problem is that for all,other attributes of a world, they get 'bigger', or 'better' with increasing numerical or alphabetic value, so TL A is higher than TL 9, TL B is better than TL A and so on.

With start ports this is reversed. Star port B is smaller and has fewer facilities than a Starport with code A.

In the world group editor, you can apply a modifier to increase or decrease an attribute. Applying a +2 increase to a Starport with code C gives a Starport with code E, not one with code A. At least that's if you use the original OGL rules files.

This is not ideal, so i have implemented a fix in the OGL rules file that comes with the app. Note that projects using the old rules files have this counterintuitive order problem, but newly created projects will get the new rules file with a more intuitive starport code order. The way I approached this was just to reverse the order for Starport codes when they are treated as a series.

The change to the rules file doesn't change how they are stores, but just changes the order the codes are listed in when your presented its a pick list to select a Starport code. If you want to use the 'fixed' Starport code order for an existing project you'll need to replace the rules subdirectory in the project with the one from the new version of StarBase. None of your actual world data should be affected, it's really just a cosmetic change in the GUI.

Simon Hibbs
 
Hopefully this is just a first cut of the world group editor. I'd like to expend it with options to change world allegiances as well. You can already make sweeping changes to the allegiances of all selected worlds in the allegiance editor, but it would make sense to have that potion in the world group editor as well.

As always, any suggestions or requests are welcome.

Simon Hibbs
 
How do I get this working on a Mac? Can I just run it with Python or are there Windows specific libraries you are using?

In theory the software framework I'm using can be got to work on a Mac, but in practice the last time I tried I ended up running out of time before I had to shelve that effort.

Part of the problem is that the Mac's desktop metaphor, with a single menu bar, requires a bit of re-jigging of the application code. More seriously though, there aren't pre-built Mac binaries of the C++ GUI framework I'm using. You have to install the source and build it yourself, and not being a C/C++ guy this is where I fell over. It is doable, people do it, I've just had other priorities like having a useable and reasonably well featured application so it's actually something worth porting.

Personally I run it either in a Windows or Linux VM, but Wine should work too. Running the Windows executable under Wine or a VM is probably the easiest option, but running the source on Linux is doable provided you're up to tracking down and installing the dependencies.

A lot of the work I do on StarBase I can fit into an hour here, or an hour there as I get the chance. However a concerted porting effort is one of those things where I'd want a good day or two at it. Opportunities like that, for a married man with two kids and a demanding day job don't come along all that often.

And then there are those three Kerbals I left in an eccentric orbit round the Mun I need to rescue one of these days.

Simon Hibbs
 

Simon, the link says it is to download StarBase_Introduction_0.24.doc, but what I ended up having in my DL folder was StarBase_Introduction_0.24.wiz. Not sure what this filetype is supposed to open with.

Then I followed the link in your .sig and found StarBase_Introduction_0.24.pdf, which I had no problem opening and reading.

Does the PDF cover the same material as the doc/wiz file? If so you might want to link to it instead as being more universally readable.

One problem (for me at least): the Getting Started section goes straight to navigating into the StarBase directory and running the program. There is nothing about installation, nor did I see any installer included. Do I just copy the whole StarBase directory from the ZIP file in to my Program Files directory, and that's it?

Thanks!
 
As for requests for future features, as you asked at one time:

- Do you have any plans to include advanced system generation ala Book 6, Grand Survey, World Builder's Handbook, etc?

- If not, do you have any suggestions as to how to add such data manually into StarBase - how to record it for reference within the StarBase program?

- Is there an option to just generate raw systems without population or political data? The campaign I'm working on now will not have great numbers of randomly generated populated worlds, just some custom-made ones that I will do by hand. Although I see now that could be fixed w your new World Group Editor, I think - just select everything and zero out the Pop and Political numbers.

Thanks for sharing this app - looks like it will do everything I need, except the advanced system info.
 
Simon, the link says it is to download StarBase_Introduction_0.24.doc, but what I ended up having in my DL folder was StarBase_Introduction_0.24.wiz. Not sure what this filetype is supposed to open with.

I don't know what happened there. I just downloaded the file OK both using the original link and the copy of it you quoted and I got the correct word doc which opened fine. It's shared using Dropbox, and perhaps there was a problem with Dropbox and you only got a partial download? The pdf has the same content, but I'm sharing the .doc file in the spirit of open source content.

One problem (for me at least): the Getting Started section goes straight to navigating into the StarBase directory and running the program. There is nothing about installation, nor did I see any installer included. Do I just copy the whole StarBase directory from the ZIP file in to my Program Files directory, and that's it?

I'm afraid there's no installer as yet. You should be able to just copy the unzipped directory anywhere on your computer and run the app from the Starbase.exe file, or create a shortcut to it.

The app is still very much in Beta and users need to know a bit about directory structures, paths and such to be able to use it. I do my best, but I can't promise some of my upgrades and feature changes might break things from time to time. If that happens, I'll do my very best to fix the problems and get your projects working again, but this is actually why having people out there using the app is so valuable. I just don't have the time to test and quality check everything, so I'm relying on my users to help me out with finding and working out a good fix for any problems.

The way some things in the app work might well change, so it doesn't make much sense for me to wrap it all up in a complex installer now when I may well end up having to rewrite the installer as well as parts of the underlying app. However I am getting close to the point where I think an installer would be worth doing.

- Do you have any plans to include advanced system generation ala Book 6, Grand Survey, World Builder's Handbook, etc?

- If not, do you have any suggestions as to how to add such data manually into StarBase - how to record it for reference within the StarBase program?

There are two ways to extend the data generated and stored by Starbase. One is to define a new attribute, with a list of attribute values and default text for them. These new attributes would work just like the existing ones such as Size, Hydrographics, Government Type, etc. For example you might add a 'Temperature Zone' attribute with values such as Code '0' - 'Ice Planet', up to Code 'A' - 'Burning Deserts'. There is advice in the manual about how to do this, and the existing rules files have comments that should help you out. Also, I would be delighted to help you out in any way I can with any hacking you want to do on a rules set, such as helping out testing out your rules file or helping you with any programming you need done in the world generation code.

The other way is to generate the data as text and store it in an attribute that always has a single code value. I already do this in the OGL rules set for the system data. That's the best way to handle complex information that doesn't fit into the Code/Label/Description attribute format.

Any changes to make like this are best done in a blank test project by modifying the rules file under that project. If you have an existing project with say 7 attributes for each world and you want to extend that, this is a bit of a problem. If you just dropped in a new rules file that defined and generated another two atributes, your existing worlds won't have values for those attributes. You'd need to fix that in the data files manually. It's not all that hard, you can do it in Excel or something, and I can help you out with it.

Is there an option to just generate raw systems without population or political data?

Not at the moment, you're correct that the easiest way to do that for now is to just zero out those attributes using the group editor. You could edit the rules file, but then if you wanted to make any other changes you'd have to go back and edit the code again, which exposes you to problems with potential bugs and compatibility problems. It's much better to use the world group editor, if it can achieve the effect you want.

In the future, I'd like for a rules script to be able to expose a list of options to the GUI, which switch it into different modes. So you might have an 'Uninhabited' mode that tells the script to generate uninhabited planets, or modes for each of the alternate world generation options in Mongoose Traveller. You'd select the mode via a drop-down list in the GUI. I think this is likely to be the next major feature.

Simon Hibbs
 
Since this is generic, many SF RPG's use a simple system of (-/+) from the ecliptic. Essentially, if a hex map has 5Lightyear per hex then a system that indicates SYSTEM (-2) is 10 LY below the ecliptic.

I'm not a computer guy but I think this would be a simple option to put into place and it would greatly enhance the usefulness of the system for those settings that do not use a 2D method.
 
Simon, does StarBase do imports from any type of sector file, or does it only work on projects generated w StarBase? I don't see any means of importing.

I've looked through the Project folders and CSV formats, and it appears to me that rather than using SEC type files, there are different files and folders for each type of data. Is that correct?

Two more items for wishlist:

1) import/export utility to import from SEC files, and save StarBase data in SEC format; and

2) include PBG extended data (PopMultiplier, Belts, GasGiants).

Thanks!
 
Simon, I've made a query in Access to cut up the SEC file data and make the CSV files that show in the Project directory for StarBase.

Is it essential that I somehow also create all of the individual world subfolders and text files, or will StarBase do that for me?

How do you suggest that I proceed?
 
Simon, I've made a query in Access to cut up the SEC file data and make the CSV files that show in the Project directory for StarBase.

Is it essential that I somehow also create all of the individual world subfolders and text files, or will StarBase do that for me?

How do you suggest that I proceed?

The subdirectories for each world are to store custom text descriptions for the world attributes. E.g. If you customise the 'Atmosphere' description for a world, the app will create a text file called'Atmosphere.txt' in the world directory to contain that text. World generation scripts can also generate custom attribute descriptive text like that. The actual attribute values are all stored in the worlds.csv file and there's no link between them. Once you edit the attribute description it doesn't change if you alter the attribute value, since you edited it manually the app doesn't know what you did so its up to you to keep it in sync.

So to answer your question, you only need to create or edit those files if you want to manipulate the descriptive text. Otherwise the world attributes will inherit the default text (for their atttribute code) from your rules file.

Regarding SEC files, I've been meaning to do this for a while. I'll move it up the ToDo list.

On extended data. Some extended data is already included in the 'System' attribute, including gas giants. They don't get individual attributes in the UI, but they're there in the text description and will show up in the world report dialogue.

Simon Hibbs
 
Since this is generic, many SF RPG's use a simple system of (-/+) from the ecliptic. Essentially, if a hex map has 5Lightyear per hex then a system that indicates SYSTEM (-2) is 10 LY below the ecliptic.

I'm not a computer guy but I think this would be a simple option to put into place and it would greatly enhance the usefulness of the system for those settings that do not use a 2D method.

This would be fairly easy to implement. Rather than alter the coordinate system, the easiest way to do this would be to implement the vertical offset as an attribute. I'd need to indicate it on the map though. I already have code for indicating symbols on the map, so this is all very doable. I'll see what I can do.

Simon Hibbs
 
So to answer your question, you only need to create or edit those files if you want to manipulate the descriptive text. Otherwise the world attributes will inherit the default text (for their atttribute code) from your rules file.

So if I make a new project directory, and put the CSV files in it modeled on the format of the CSV files made in StarBase project directories, this should work to import the sector data?

Then if I save it as a new project, will that create all of the named world directories and text files, or do I need to make them by hand, or can I work without them?

====================================================

EDIT: OK, tried it out to see, so here are the apparent answers to my questions:

I copied everything from project Test2 into a new directory, Test3, except for all of those individual world directories.

Then I replaced the CSV files with the new ones that I had made from chopped up SEC data file.

Then I started up StarBase. All appears to be working. Selected a world and edited some random comment about the Hydographics.

Chose "Save World Data" from File menu.

Checked in Test3 directory, it now has a Worlds directory, and inside that is a single directory for the world that I edited, with a text file for Hydrographics showing the edited comments.

So it appears that this method of importing SEC sector data into StarBase is working! :D

(And I didn't even need to take the step of saving as a new project; it worked fine in Test3.)

Thanks for this great program!
 
Last edited:
Glad it worked ok. Yep, the directories for individual worlds only contain description text that isn't the default. The reason every world has one is that the System attribute doesn't really have default text, it has auto generated description text (number of gas giants, bases present, trade codes, etc) which is different for each world.

The down side for you is that now your new project doesn't have any of that unless you write a script to generate the system text from the SEC file. That's why I need to get cracking writing the import/export functions.

Simon Hibbs
 
This would be fairly easy to implement. Rather than alter the coordinate system, the easiest way to do this would be to implement the vertical offset as an attribute. I'd need to indicate it on the map though. I already have code for indicating symbols on the map, so this is all very doable. I'll see what I can do.

Simon Hibbs

Cool! That was exactly what I had in mind. Just an attribute that would appear on the map telling folks up/down. Thanks!

(Once implemented, you may want to drop a link in the alternityrpg.net forums. Folks there would like it!)
 
Back
Top