![]() |

![]() |
Creating a plausible future history is such a daunting task that most SF authors don't even bother to try. The future history page suggests many rules-of-thumb and shortcuts, but it is still a lot of work. Wouldn't it be nice if one could automate the process? This is an area which has not been explored in any detail, but is not totally without any trailblazers. Who knows? You might be the one to make a real contribution in this field. A computer spread-sheet that calculates graphs plotting historical trends would be a major help. But the ultimate tool would be some sort of computer program that is an SF Future History Generator. I gave a very simplistic example of modeling future history on this page. |
|
There is a more complicated but more entertaining way to create a future history: Simulation. This is not strictly automation, but it is easier to just making everything up. There was a (sadly defunct) game company called Game Designer's Workshop. For their hard-SF role playing game 2300 AD, they needed a future history. So they simulated it with a game, the so-called "Great Game." A team of expert players was each assigned one nation and the game was played until the time reached 2300 AD. The events that occurred were recorded, and became the future history. An overview of the rules can be found here. Please note that there is not enough detail in the overview to actually play the game, one will have to flesh out the rules yourself. The same simulation technique is being used to create the future history behind the game Attack Vector: Tactical. |
![]() |

More recently, a gentleman named Steve Walmsley has created a computer based game called Aurora. On the surface it is just another game where players vie to create the largest interstellar empire. But the game's purpose is to provide an environment in which the players can build detailed interstellar empires and write associated fiction.
If you are interested, go to the Aurora forum, register, and you will be allowed into the download forum.
The best guide to calculating history that I've managed to find is John Barnes' How to Build a Future" "(which was first published in Analog Magazine March 1990, but can be found in Writer's Chapbook #18 and in Apostrophes and Apocalypses Tor Books 1998). Dr. Barnes stated in the essay that his imagination is not up to creating an entire future history from scratch, so he uses spreadsheets to plot trends for inspiration. He goes into great detail about the theory behind the forecasts, but leaves the gathering of hard data to feed into the forecasts as an exercise for the reader. After all, Dr. Barnes does not want to make it easy for any other authors to compete with him.
Dr. Barnes shows that while building solar systems or planets requires equations, building a society requires a "model", aka a "system state vector." This takes the form of a set of numbers (i.e., population, growth rate, GNP, economic growth, per capita income) that describes the system at one point in time, and a "transformation rule" that calculates the new set of numbers for the next point in time (i.e., divide GNP by population to get per capita income). By applying the transformation rule over and over you can push the model as far into the future as you desire.
If you've ever worked with computer spreadsheets, you will see right away that they are just perfect for calculating system state vectors. Each row is a system state vector for a particular year (or whatever time period you are using), each column is one of the numbers describing the state, and the equations inside cells are the transformation rules. Note that in some cases the effect of a variable will be delayed, that is, instead of using the value of a variable in the current row a transformation rule may use a value from the previous row, or one two rows back.
So all you have to do is set up the values for the initial state of the society, add the transformation rule equations to each cell, then generate new rows until you reach the desired year.

The second major technique Dr. Barnes discusses is cycles, both economic and military.
The major economic cycles are the 54 year (45-60 year) Kondratieff wave, the 18.3 year (15-25 year) Kuznets infrastructural investment cycle, the 8.3 year (7-11 year) Juglar fixed investment and the 3.5 year (3-5 year) Kitchin inventory cycle. These are variations in the rate of economic growth, NOT the actual size of the economy itself. Some cycles have more of an influence than others: Kitchin has a strength of 1, Juglar has a strength of 1.8, Kuznets has a strength of 3.24, and Kondratieff has a strength of 5.83 (i.e., each cycle is 1.8 times as strong as the previous cycle).
The quick-and-dirty way to use these is to make a sine wave with period equal to the length of the cycle. You start them all at the last time they were all at their lowest (the "trough") in the same year, which was in 1795. Alternatively, all the cycles except the Kondratieff will do a re-set during a depression, so you can start the Kuznets, Juglar, and Kitchin cycles at their lowest at any three random years during the 1930s. The trough occurs one-quarter cycle before the start of the new cycle (i.e., the zero point) so add one-quarter of the cycle length to the year to obtain the zero year for that cycle. For example, this means the Kondratieff wave will have a zero year of 1795 + (54/4) = 1809.
To calculate the cycle value for each cycle:
CycleValue = (sin((CurrentYear - ZeroYear) / (Period / (2 * π)))) * strength
where:The total cycle value is the sum of the CycleValues for all four cycles. The growth factor is:
GrowthFactor = averageGrowth + (K * totalCycleValue)
where:So the Gross World Product for this year is:
GWP_ThisYear = GWP_LastYear * (1 + GrowthFactor)
Dr. Barnes mentions that when it comes to military battles, there appear to be cycles of 142, 57, 22, and 11 years, but he does not go into quite as much detail about how to apply this.
For more details, refer to the essay.
![]() |
I have an unhelpful note I wrote in the early 1980's that shows a tiny bit of a macroeconomic model created by Dr. Barnes using an ancient icon-based software package called STELLA (Systems Thinking Experiential Learning Laboratory) for the early Apple Macintosh. (STELLA is from Isee Systems, formerly High Performance Systems. It is quite expensive.) The note is unhelpful since I appear to have neglected to write down the magazine it was published in. The diagram shows a "Macroeconomic model long-wave generator, used as a driver for other models", and includes cryptic icons with names like Merchant Balances, Seller Deposits, Production, Consumption, Inventory, Depreciation, and other things. If anybody knows where this magazine article came from, please send me an email. (William Seney suggests that it was an issue of MacWorld, and that does ring a bell. Now to find what issue it was.) |
|
The way I'd create a history generator is to develop a computer program that was some species of 4X computer game. These games have the primary goals of eXplore, eXpand, eXploit and eXterminate. The best known example is Sid Meier's Civilization. So you would start with a star map of your SF universe, set up mathematical models for population growth, types of government and mechanisms for governmental change, technological advancement, interstellar transit times, colonization techniques, interstellar war and conquest, revolutionary colonies splitting from the parent empire, and interrelations between these factors. Begin with an initial population on planet Earth with however many nations you care to track, start the program, then relax with your favorite beverage as you watch it crank out your future history. Obviously much easier said than done. |
![]() |
Before you can start making mathematical models, you have to settle on metrics to quantify the various factors. Here are some examples:
For nations, the state of the citizen's well-being can be measured by the Human Development Index. This factors in life expectancy, literacy, education, and standard of living into one number. Among other things it can indicate whether a country is a developed, developing, or underdeveloped country
The economic Misery index is found by adding the unemployment rate to the inflation rate. This tends to predict the relative crime rate of one year in the future.
The Gini coefficient is a measure of inequality of a distribution of income. If the difference in income between the rich and the poor becomes too absurdly large, the society becomes increasingly unstable. Historians often point to a large Gini coefficient and the disappearance of the middle class as two of the warning signs of the downfall of the Roman empire.
The above three metrics were suggested by Stephen Rider.
Jerry Pournelle's Political Axis and the Inglehart-Welzel Cultural Map of the World have possibilities. Each nation would have a ranting in the two values used in each graph, and as the values changed so would the nation's classification. For instance, on the Pournelle chart, if the government of Zeta Reticuli II had a Rationalism rating of 4' and a Statism rating of 3.5, it would be in the Socialist classification and would make decisions using whatever you programmed for that classification. If for whatever reason its Rationalism rating dropped to 3.5', it would change to Welfare Liberal classification with corresponding changes in its decision making process.
You might want to experiment with Oswald Spengler's cultural life-cycle. And Psychohistory
There are some equations for modeling interstellar colonization here.
There are tons of equations for modeling interstellar trade in the classic book GURPS Traveller: Far Trader.
A book over-flowing with useful equations for modeling geopolitical situations is Chris Crawford's BALANCE OF POWER International Politics as the Ultimate Global Game (Microsoft Press 1986, ISBN 0-914845-97-7, do NOT make the mistake of ordering the game manual as it has no equations). In the book, Mr. Crawford discusses the mechanisms inside his eponymous award-winning computer game. The book is out of print but copies can be found at Bookfinder.com.
Stephen Rider is mulling over the factors involved with such a program:
After looking at a few generation systems/empire modeling games, I know that I need to at least look at the following: I know it's a lot of points that more research is needed on all of them, but please let me know if any of them are truly whacked.
1) the movement of populations between systems. emigration and immigration normally are determined randomly, but if I have the computational power to actually figure out how people will move, then we should do that as...
2) political allegiance is something that needs to be at least looked at, at the moment I'm thinking of a system that'd start with the major planet (say Earth) and then create a hierarchy of settled planets, much like a tree structure, but if population flows got mixed in, it could create strange balances.
3) economic loyalty - this 'theoretically' would allow worlds that were growing fast economically to become the center of their own mini empire economically, if too many worlds became economic power houses, then it wouldn't work. If you saw a map of trade density, it would look like mountain peaks with the peaks being the major economic players that swept allow smaller worlds. When the simulation end period came along, this could be one of the major ways that the factions were determined.
4) Political priorities - life path problems. Kinda getting back to the idea that each colony will need to come up with their own character, colonies would start with an archetype (not sure how to do this, but it'd be a function of looking at the initial reason for building the colony, money input and world climate/world traits) and then within that framework have random events that could happen based on planet and who colonized it. This would generate a set of planetary traits, such as idealism, pragmatism, greed, environmentalism et al that would effect the options available to the government when problems turned up. For example, a Three Generations Rule problem might be very easy for a highly pragmatic colony to deal with, while one that was high in idealism might run into problems. Yes, in a sense this is trying to ascribe in a half dozen variables a political/social culture...maybe impossible.
5) Political groups - no planet will have just one political faction, this should also help complicate problem solving because not everyone will see a problem as a problem per see.
6) economic investments - infrastructure has to grow and the simplest way to determine how to choose what to invest in is by being able to calculate the cash flows. Assuming that a nominal risk free interest rate can be set, it does become possible to discount cash flows and determine if building that super big star port is really a good idea at the time, or if it's not such a hot idea, which brings us to...
[assuming that investment outside of the planet's solar system is also being looked at the process each turn would be to calculate all the investment opportunities for each planet, combine them, rank them by ROI and then allocate resources to the best one and work your way down the list until you ran out of investment money]
7) what is the rest of the economy doing? you're not going to be investing 100% of a worlds income, so what will the rest of it be doing? More research needed
8) random fluctuations and results are going to be common, a new star port terminal or whatever may have an expected to reduce the planetary movement cost by $50 or so such, but it will be more variable than that, sometimes engineers get things wrong and sometimes they get things really right. This is another dynamic designed to prevent the cookie cutter feel of planets from such things as Masters of Orion II where past a certain point you just knew you wanted to build everything.
9) Transfer costs, this is an assessment of how hard it is to get into the solar system from a planet/economic point (asteroids will have basically zero while heavy gravity worlds will have very high costs), this also applies between systems. This put together with manufacturing costs will set the minim price for off world goods, and yes if I could figure out how to run a supply and demand economy, that's the first thing I'll try to set up.
10) tech level - this will be a sliding scale that will set the availability and constructability of planetary assets and define part of the manufacturing costs of a given sector. Looking at how 2300's Great Game II set it up, it'll be a function of literacy, college education and urbanization, it doesn't have to be a nice number (meaning 13.451 is a valid tech level). It's all evolutionary technology so there won't be any major break troughs, just making it better.
11) Human Development Index/Misery Index will also be part of what makes a planet, if for no other reason than to generate a push for immigration/emigration. I almost get the feeling that you could model population movement between to planets by looking at the indexes and trying to balance them out as a physics problem with gases under pressure.
![]() |
Here are some of the equations from Chris Crawford's BALANCE OF POWER International Politics as the Ultimate Global Game (Microsoft Press 1986, ISBN 0-914845-97-7). You should read the book for the theory behind the equations. The game pits the USA player vs the Soviet player in a geopolitical fight for world domination. Please note that the equations were for a game, not a simulation. Also note that due to game development constraints, many factors were left out of the game. These include the influence of trade (trade restrictions, trade barriers, trade boycotts, trade embargoes), multipolarity (in the game there is a bipolar situation between the US and the Soviet Union, and all other nations are allied with one or the other. Things get more complicated if there are more than two superpowers), warfare between two minor powers (in the game all wars have at least one and sometimes two superpowers involved), arms control, and human rights. Due to technical details of computer programming, the equations use values of 0 to 255 instead of 0 to 100, and values of -127 to +127 instead of values of -100 to +100. For arcane reasons any programmer can explain to you, this gives better accuracy in the calculations. |
TotalWeapons = Weapons + MilitaryAid
GovernmentPower = ( (2 * Soldiers * TotalWeapons) / (Soldiers + TotalWeapons) ) + InterventionPower
where:Note the balance between soldiers and weapons. If, for instance, you have vastly more soldiers than weapons, adding more soldiers does little to increase government power. Adding more weapons has a much stronger effect.
InsurgentSuccess = sqrt(6400 * LastYearInsurgencyPower) / LastYearGovernmentPower
Fighters = ((256 - Maturity) * Population * Success) / 20480
where:| Nation | Maturity |
| USA | 240 |
| Mexico | 130 |
| Panama | 34 |
| France | 226 |
| Italy | 218 |
| Egypt | 74 |
| Mali | 24 |
| Zaire | 32 |
| Japan | 220 |
| China | 100 |
| Saudi Arabia | 40 |
| Philippines | 80 |
InsurgencyWeapons = 2 * WeaponsShipmentsFromSuperpowers
IF (InsurgencyWeapons < (Fighters/8)+1) THEN InsurgencyWeapons = (Fighters/8)+1
InsurgencyPower = ((2 * Fighters * InsurgencyWeapons) / (Fighters + InsurgencyWeapons)) + InterventionPower
where:GOVERNMENTS AND INSURGENTS INFLICT CASUALTIES ON EACH OTHER FOR ONE YEAR
GovernmentPower = GovernmentPower - (InsurgencyPower/4)
InsurgencyPower = InsurgencyPower - (GovernmentPower/4)
The above is an exceedingly simplistic method of combat resolution, feel free to substitute something more complicated.
InsurgencyRatio = GovernmentPower / InsurgencyPower
| InsurgencyRatio | State |
| > 512 | Peace |
| 512 to 33 | Terrorism |
| 32 to 2 | guerrilla war |
| 2 to 1 | civil war |
| < 1 | Government falls, Insurgents take over |
In the game, the human player determines how much their superpower gives (if anything) for MilitaryAid, WeaponsShipmentsFromSuperpowers, and/or InterventionPower for each nation's government or insurgency. For our history generator the program will have to somehow make the decisions, influenced by the current ideology of the superpower in question.
IF THE INSURGENTS WIN
The insurgents become the new government. If they had help from a superpower (i.e., any MilitaryAid, WeaponsShipmentsFromSuperpowers, and/or InterventionPower) the new government (former insurgents) will modify their left-wing/right-wing stance to be more like the helper superpower.
GovernmentWing = (GovermentWing + HelperSuperpowerGovernmentWing) / 2
Popularity = 10 + ((128 - abs(GovernmentWing)) / 2)
where:The new government's diplomatic relation with the two superpowers are calculated. The following equations are calculated for both superpowers in turn.
PoliticalCompatibility = abs(GovernmentWing - SuperpowerWing) - abs(FormerGovernmentWing - SuperpowerWing)
GoodAid = WeaponShipmentToFormerInsurgents + (2 * InterventionForFormerInsurgents)
BadAid = WeaponShipmentToFormerGovernment + (2 * InterventionForFormerGovernment)
DiplomaticAffinity = (PoliticalCompatibility / 2) + (8 * (GoodAid - BadAid))
PoliticalCompatibility = used in the DiplomaticAffinity equationAs previously mentioned, the above equations are calculated for both superpowers. Naturally if a superpower gave lots of help to the deposed former government, the former insurgents/new government will hate that superpower (i.e., have a low DiplomaticAffinity). In the game, changes in DiplomaticAffinity add to or subtract from each superpower's Prestige Points, which help determine which superpower "wins" the game. This is probably worthless in our history generator. There are some elements of insurgencies that the above equations fail to take into account, for details read the book.
A Coup d'etat, unlike an insurgency, only changes the executive. The rest of the government remains intact. Coups also tend to be much less violent than a revolution. In some cases a coup might be an integral part of a government system, for example an election. Since economics plays such a large role in a coup, the economic equation from BALANCE OF POWER will also be presented here.
ConsumerPressure = (20 - GovernmentPopularity) * 10
IF ConsumerPressure < 1 THEN ConsumerPressure = 1
InvestmentPressure = (80 - InvestmentFraction) * 2
IF InvestmentPressure < 1 THEN InvestmentPressure = 1
InsurgencyStrengthRatio = InsurgencyPower / GovernmentPower
MilitaryPressure = sqrt(InsurgencyStrengthRatio) + USA_FinlandizationProb + SovietFindlandizationProb
IF MilitaryPressure < 1 THEN MilitaryPressure = 1
where:TotalPressure = ConsumerPressure + InvestmentPressure + MilitaryPressure
FractionalPot = 0
IF ConsumerFraction < 16 THEN ConsumerFraction = ConsumerFraction - 8 AND FractionalPot = FractionalPot + 8
IF InvestmentFraction < 16 THEN InvestmentFraction = InvestmentFraction - 8 AND FractionalPot = FractionalPot + 8
IF MilitaryFraction < 16 THEN MilitaryFraction = MilitaryFraction - 8 AND FractionalPot = FractionalPot + 8
Again FractionalPot, ConsumerFraction, InvestmentFraction, and MilitaryFraction are all on a 0 to 256 scale, so 16 = 6.25% and 8 = 3.125%InvestmentFraction = InvestmentFraction + ((InvestmentPressure + FractionalPot) / TotalPressure)
MilitaryFraction = MilitaryFraction + ((MilitaryPressure + FractionalPot) / TotalPressure)
ConsumerFraction = 255 - (MilitaryFraction + InvestmentFraction)
OldConsumerSpendingPerCapita = (255 * ConsumerSpending) / Population
The 255 scales it to the 0-255 range of the various fractions.VirtualGNP = GNP + EconomicAidFromSuperpowers
GNP = GNP + ((VirtualGNP * 2 * (InvestmentFraction - 30)) / 1000)
This assumes that if you spend less than about 30 (12%) on investments, your GNP will suffer negative growth.NewConsumerSpendingPerCapita = (ConsumerFraction * VirtualGNP) / Population
Improvement = (100 * (NewConsumerSpendingPerCapita - OldConsumerSpendingPerCapita)) / OldConsumerSpendingPerCapita
GovernmentPopularity = GovernmentPopularity + Improvement + (abs(GovernmentWing) / 64) - 3
GovernmentPopularity term on the right represents the loyalty of the masses.IF GovernmentPopularity < (USA_Destabilzation + SovietDestabilization) THEN Trigger a Coup
USA_Destabilzation, SovietDestabilization = level of superpower attempts to trigger a coup, ranges from 0 to 5IF A COUP IS TRIGGERED
GovernmentWing = GovernmentWing * -1
Right Wing becomes Left Wing, and vice versaGovernmentPopularity = a randomly selected positive number
People have an optimistic expectation of the new governmentSoldiers = Soldiers * (a randomly selected percentage)
TotalWeapons = TotalWeapons * (a randomly selected percentage)
Soldiers do not fight as well when they do not know who they are fighting for.