SFRPG

The forum for Science Fiction Role Playing Game inspiration and information! So Say We All!
It is currently Sun Apr 22, 2018 10:17 pm

All times are UTC




Post new topic  Reply to topic  [ 10 posts ] 
Author Message
 Post subject: Python 2300 World Gen
PostPosted: Sat Jul 04, 2015 1:08 pm 
Offline
User avatar

Joined: Mon Dec 02, 2013 1:43 pm
Posts: 300
Location: Queens, NY
Inspired by Omer's Traveller Python script, I developed something that produces 2300-esque star systems.

I factored in EDG's formulae for MMW based on distance, and a bunch of stuff from Gurps Trav: First In.

Plus I modified the biosphere rules from MgT Tools for Frontier Living to help determine the presence of life, which for 2300 purposes is often. A world in this program that has the right location and size will probably develop oxygen-producing life.

In fact, I stacked the deck a bit to try and mimic the frequency of habitable worlds in 2300, so worlds in the life zone of G stars, and to a lesser extent K stars, are usually the right size to support N/O2 atmospheres. The random method included with 2300 does not produce habitable worlds nearly as often.

So here's an example of a world in the life zone of Delta Pavonis:

Orbit: 1.21 AU -- 3rd planet out
Diameter: 11,303 km
density: 5.9
mass: 0.76
gravity: 0.95
Axial Tilt: 24 degrees
orbital eccentricity: 0.05
Orbital Period: 488 standard terran days
rotation: 11 hours
surface water: 11 percent
atm pressure: 0.57 (N/O2)
atm pollutants: none
weather: mild/moderate
avg surface temp: 2 degrees C
biosphere: complex life forms
resources: 13 (high)
habitability: 9
moons: 4 small moons

Bummer about the water, but otherwise not too bad.

Habitability (from tools for frontier living) is modified by atmosphere, water, gravity, local life, and temperature, and serves as a general idea of how the population will develop.

Resources (also from tools for frontier living) is based on size, modified by atmosphere and life forms. General idea of available ores, petrochemicals, etc. I use that mostly for uninhabitable worlds to see if anyone sets up an operation there.

Weather is something from GT, where low is calm and high is bad, but I haven't really tweaked the range to be useful in a 2300 or MgT system.


Top
   
PostPosted: Sat Jul 04, 2015 2:46 pm 
Offline

Joined: Sat Sep 01, 2012 2:44 pm
Posts: 186
Location: Colorado
Looks good Matt, will you expand it to do whole systems?

Care to share the code?


Top
   
PostPosted: Sat Jul 04, 2015 5:08 pm 
Offline
User avatar

Joined: Thu Jul 03, 2008 5:41 am
Posts: 2166
Location: Yavne, Israel
I would love to see the code!

_________________
We are but a tiny candle flickering against the darkness of our times.

Stellagama Publishing - Visit our Blog, Den of the Lizard King


Top
   
PostPosted: Sat Jul 04, 2015 5:47 pm 
Offline
User avatar

Joined: Mon Dec 02, 2013 1:43 pm
Posts: 300
Location: Queens, NY
It does do whole systems! I'll figure out how to package it and share via dropbox or something, but the gist is:

loads up a list of stars, e.g. EDG's compiled star lists

for each star, generates N worlds and a starting orbit, also determines star's luminosity based on tables in GT:FI

for each world, determines new orbit (prev orbit + roll), various characteristics, diameter, MMW at that distance, water, atm pressure, etc

then spits out a csv file

I'm pretty happy with the results most of the time. It can't anticipate where to put asteroids very well yet, so if there's a big Jupiter-size guy on there, you'd have to go in and manually decide if the previous orbit makes sense as a belt. And I think the temperature gets a little weird for greenhouse worlds like Venus. I assume that they'll have significant pressure increases like Venus does, and that jacks up the temperature a little too high.

I also don't have a well-thought-out category for "sub-giant" worlds in the life zone, where the MMW is low enough to include helium. That's typically worlds that Traveller would call size 9 or A. So should I include the option for an oxy/nitro atm on worlds that big? EDG, if you're listening in, what do you think?

It also works best for main sequence stars. Type IV stars are a bit tricky, as the life zone would have shifted. Since 2300 kind of ignored that about Mu Herculis and Delta Pavonis I mostly ignored that for this code. YMMV.


Top
   
PostPosted: Sat Jul 04, 2015 7:54 pm 
Offline
Administrator
User avatar

Joined: Thu Jul 03, 2008 1:22 am
Posts: 5304
Did you see the expanded stuff I did on my blog about 2300AD worldbuilding? Might give you some ideas (that was all done in Python too).

http://evildrganymede.net/2014/01/17/gd ... em-part-1/
http://evildrganymede.net/2014/02/01/gd ... em-part-2/
http://evildrganymede.net/2014/05/18/23 ... l-version/

_________________
SFRPG Owner/Admin
This post (or any other post I made here) may not be quoted or copied beyond the SF RPG boards without my explicit permission.
Check out the latest news from Spica Publishing!
evildrganymede.net - visit the The Worldbuilding Hub, and check out my Science Blog!


Top
   
PostPosted: Sun Jul 05, 2015 8:50 pm 
Offline
User avatar

Joined: Mon Dec 02, 2013 1:43 pm
Posts: 300
Location: Queens, NY
Yup, heavily influenced by that info. One of my other projects is compiling a star list that only includes the stars in your updated 2300 map, and then running the python script on it to create a whole new setting.


Top
   
PostPosted: Mon Jul 06, 2015 12:04 am 
Offline

Joined: Sat Sep 01, 2012 2:44 pm
Posts: 186
Location: Colorado
Matt, if you might speak with the dead for a moment, get all psychic with me if you will...

I'm about to do something very similar, starting with the original 2300 system generation and incorporating EDG's improvements and what I can piece together as "current best guess" in Excel, learning VBA as I go (and then probably rewriting the thing once I know VBA well).

Did you consider doing it in Excel?

I'm guessing I can learn Python as easily as I can VBA (I honestly don't know if either is easy per se), what advantages are there to the Python route?


Top
   
PostPosted: Mon Jul 06, 2015 2:11 am 
Offline
User avatar

Joined: Mon Dec 02, 2013 1:43 pm
Posts: 300
Location: Queens, NY
I learned Python, at least what little I learned, because Golan2072 created a python script to generate traveller sectors, and I wanted to open it up and mess around. Aside from some minor HTML/CSS it's literally the only "coding" I know how to do. The formulae in mine, and for most of his, too, aren't too different from what you'd use for excel. 90% of the script is "if" statements.

But the reason I do it in Python and not Excel is that it can generate thousands of worlds at a time.

I packaged up the code along with a star list based on EDG's revised 2300 star maps for anyone who wants to give it a spin (you'll need to download and install python of course). Some parts aren't fully cooked, but it will make some neat worlds. Let me know if you have any suggestions. FYI my XYZ axes in that star list are altered to match Traveller's POV, with coreward as +Y. Coreward is +X, which I believe is the default for EDG's downloadable excel files. I usually adjust my final results so that coreward is +Y, but I didn't in this case.

https://www.dropbox.com/sh/22f6scgj6838 ... -xzCa?dl=0


Last edited by Matt Wilson on Mon Jul 06, 2015 2:03 pm, edited 1 time in total.

Top
   
PostPosted: Mon Jul 06, 2015 1:34 pm 
Offline
User avatar

Joined: Mon Dec 02, 2013 1:43 pm
Posts: 300
Location: Queens, NY
Found a couple minor errors when I tried to run it at work this morning. You might need to open the CSV and then re-save it again if you're on a windows machine. Also the output data list has some artifacts from a different version when I was using it to create a trav sector. Swap out jumps, subsector, and hex with the axis data.


Top
   
PostPosted: Mon Jul 20, 2015 4:54 pm 
Offline
User avatar

Joined: Mon Dec 02, 2013 1:43 pm
Posts: 300
Location: Queens, NY
New ideas: culture tables. I set up different random lists for each quadrant, and for any system with at least pop 5 I have a secondary table, so you get a mix of two cultures (occasionally the same one twice). The lists are regional, so options are "North America" or "East Asia" for example. Then I can pick something from that region that sounds good.

Also simplified the bits I stole from "Tools for Frontier Living" because biomass is kind of a meaningless step. I just want to know a) to what extent life has developed (e.g. is there oxygen producing plant life), and b) how diverse are the species. I particularly like in TFFL that the steps go something like minimal/abundant/teeming/deathworld.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 10 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited