A Walkthrough on Scenario Generation

Darsnan

Emperor
Joined
Sep 12, 2007
Messages
1,313
Many years ago a player named Googlie did a very good walkthrough on how to generate a SMACX scenario. Since the site that walkthrough was at (CivgamingNetworks) disappeared into the mists of time I thought I'd honor my old friend Googlie and do a walkthrough on SMACX scenario generation here.

Postscript: the scenario was completed and released on the Winter Solstice of 2018, and can be found here:

https://forums.civfanatics.com/threads/winter-solstice-2018-the-tenth-manifold.639937/#post-15311681

My advice would be to play the scenario first, then review this thread to see what went into creating the scenario.

Step 1: The Backstory
So I've generated quite a few SMACX scenarios over the years, and one of the things I usually include is a backstory, and so I will include one here this walkthrough as well, and in this particular case I'm going to work with the Usurper Marr, specifically his picture. I was playing around with Gimp not too long ago and noticed a peculiarity regarding Marr's pic:
What The Diff.png


If you noticed his Datalink pic is different than his Diplomacy pic in that he's not been blinded in one eye in his Diplomacy pic. But what if I went the other way and blinded him in both eyes?
Headshot.png


And so now we have a different character, with a very different background: why is he blinded in both eyes, what's his story?

Next: The Writing of the Backstory
 
Last edited:
He was not a careful child. Too much time and attention paid to sharp sticks!

Now he's a Pinball Wizard and will be transcending by that method.
 
He was not a careful child. Too much time and attention paid to sharp sticks!

Of course! Its all so obvious now - that's where Marr's "Red Stick" base got its name from! Genius!

However that would destroy the storyline that I'd thought up. So no, this character's mutilation is ritualistic: instead of "Guardian" or "Conqueror" this is a "Protector". And what is he protecting? The Tenth Manifold! Back at the fall of the Progenitor race due to one of the Manifolds "malfunctioning" (for lack of a better term) the Progenitors at the site of the Tenth manifold realized something had catastrophically gone wrong, and so placed all of their people into suspended animation to await the return of the Progenitor race. All that is save for one individual, who's sole purpose was to watch over the rest of the People, and to ensure the safety of the Tenth Manifold. And so as to focus this individual's awareness through the Tenth Manifold and thereby use the Manifold's power to its utmost, he was purposely blinded. Eons pass as the Protector sits in slowed-time/stasis on the Manifold's throne, his awareness extending throughout this solar system, waiting for any sign of the return of the Progenitor race.....
 
Told you he's a Pinball Wizard. Blind guys are always just so much better at stuff. Like you know that recent Star Wars movie? Blind guy. Doesn't even have to be a Jedi, I rest my case!
 
So now that we have the character and semblance of his environment set for the backstory, its time to place that on the backburner and let that simmer while I work on other things (read: as ideas come to me to flesh out the character I'll jot them down so that by the time I'm done with the scenario I've got a robust character hopefully a player will identify with), namely the map and its environs. Fist off, I'm playing around with my "Low Grav" alphax.txt mod, so I'm going to use this as the base alphax.txt, meaning that Infantry move 2 tiles/turn, Speeders 3 tiles/turn, there are no aircraft or helicopters (due to the thin atmosphere), but missiles are available at Doc:Air.So given this, how big should the map be, and what kind of environment do I want to work in? In this case since my plan is to array 5 human Factions against our hero, then I'm going to want to make this a Huge map so as to give the person playing the scenario time to get their defenses set up to their satisfaction before the AIs start launching waves of attackers against the Protector. I also want to take into account how much does Planet (well, in this case Asteroid) come into play in this scenario? The Protector has one mission, and that is to protect the Tenth Manifold (which will then give the Protector's Faction a +1 Planet rating), so can I really put the "Native Life Forms" setting to "Abundant", or do I need to back off on this setting? And why would I want to go Abundant on the NL in the first place? Again going back to the approach that I'm going to array 5 AIs against the Protector, then I can set up large fungal patches in the way of the AIs' advances which will delay/attenuate the AIs beelining towards the Protector's domain. But how much do I want to do this? So, several initial thoughts here, and right now I'm going to go middle of the road in regards to the NL setting and set it to "Average". As far as the rest of the environment settings either they really aren't going to have an impact (such as cloud cover, which I'm going to set to ), or they'll be superseded by the personal sculpting I do the the map (a la Erosive Forces and Ocean Coverage).

D
 
Generating a Map, First Pass

1. To select the World Size, at the main screen Select "Start Game", and set up a game with the world parameters you'd like to use, specifically selecting the size of planet you wish to use, as well as the Factions you'd like to use in the scenario you want to build. Once in game play a couple of turns, then exit. This set the parameters for the Scenario Editor.

2. At the main screen select "Scenario", and then select "Create Scenario".

3. Note that if the "T" is missing perform the following:

- Select Menu>Scenario>Activate Scenario Editor.

- Repeat the above once more. The "T" should now be present along with all the icons for placing terrain features.

For reference here are pictures before and after performing the above:
Missing T.png

T now present.png


4. To set the "Climate" and "World Parameters" select Menu> Edit Map>Set Climate and World Parameters and set the parameters you would like the World Generator to use.

5. To generate a map using the parameters you just defined in step 4 select Menu>Edit Map> (Slow) Generate Random Map: the game will take several sweeps across the screen as it generates and tweaks the terrain according to the parameters you'd defined in step 4:
Newly generated world.png


6. The game sets the display to max zoom after the map is generated. To zoom in, repeatedly select "Z" (and to zoom back out select "X").

7. Select Edit Map>Save Map, and save as "playTest1". Note the subdirectory that the map is being saved in: it should be the "maps" subdirectory, but sometimes its not. For convenience sake locate the "maps" subdirectory and save your map to this subdirectory.

Next: sculpting the map.
 
Never realized you could watch the map generator "slowly process" the map, in visible steps. In my mod I just tweaked various settings in alphax.txt and iterated over and over again until I solved various problems. Then I shipped those preferred settings with the mod. Main problem to be solved was faction placement, to the extent that I could solve that. There's only so much one can do.
 
Never realized you could watch the map generator "slowly process" the map, in visible steps.

Yes, this is usually what I do when I"m playing around with #WORLDBUILDER parameters: juat keep generating maps till I'm sure that the tweak works for a majority of the randomly generated maps.

And since your playing around with Factions for your mod are you aware you can use the Scenario Generator to watch all Factions play? If not I can define that for you real quick - let me know.

D
 
I've never used the Scenario Generator to make some kind of Scenario that would have a choice of factions play. I have used the Scenario Editor from the game's main menu, to set all players to AI and then watched the proceedings. I have a weight that I put on my keyboard's ENTER key, made of pennies and duct tape! This process sometimes gets hung up and I have to switch to another faction to keep it going. It's also not multitasking friendly: my laptop is stuck doing this until it's done. Only in the past month or two did I get serious about AI vs. AI test cases. I used that to verify various phenomena about the game, rule changes I'd made, make sure somebody isn't gonna just get killed now. It helped my work, but man, I'm tired of that AI vs. AI methodology. It's quite uncivilized.
 
I've never used the Scenario Generator to make some kind of Scenario that would have a choice of factions play.
In the early days of Scient's bug fixing project I made a scenario focused on vetting some of his bugfixes in one of his releases, specifically to do with the Alien CPs using drop pods (his used to crash the game).

I have used the Scenario Editor from the game's main menu, to set all players to AI and then watched the proceedings.

Yes, that's what I was referring to. Sounds like your way ahead of me here! :goodjob:

I have a weight that I put on my keyboard's ENTER key, made of pennies and duct tape! This process sometimes gets hung up and I have to switch to another faction to keep it going. It's also not multitasking friendly: my laptop is stuck doing this until it's done. Only in the past month or two did I get serious about AI vs. AI test cases. I used that to verify various phenomena about the game, rule changes I'd made, make sure somebody isn't gonna just get killed now. It helped my work, but man, I'm tired of that AI vs. AI methodology. It's quite uncivilized.

IIRC this is very similar to how Firaxis originally playtested SMAC in that they'd put a weight on the Enter key and let the AIs battle it out overnight.
 
Removing Natural Landmarks

Since a randomly generated map isn't going to place the Natural Landmarks where I want them, then the first thing I do is remove the landmarks which aren't where I want them, as follows:


1. Place the cursor (i.e. the blinking square) at the Landmark you want to remove, then select Menu>Edit Map>Remove Natural Landmark, select the Landmark that you've placed the cursor at, and choose "OK". The map should update with the removal of the landmark. Repeat as necessary for any additional landmarks you wish to remove.

2. Once completed again save the map.
 
First Pass - Elevations

1. In the Map Editor ensure the "Elevations" option is selected:
Elevations.png


2. And then from the paintbrush options select the largest paintbrush option (I'm pretty sure the associated pop-up text is a bug):
Large paintbrush.png


3. For the first pass I'll usually get rid of continents and large islands that I don't want, so the way to do this is again place the cursor (i.e. the blinking square) over the area I want to get rid of, then press Cntl-right click. If the area is still present after doing this once, I just repeat again, and it most assuredly gone.

4. If you take too much (or want to add a great deal of landmass), then to add just simply place the cursor where you want to add the land and select Cntl-left click, and the land is added.

5. Once done removing land save the map.

6. Now using the Cntl-left click function I'll add the large landmasses where I want them on the map.

7. Once completed I again save the map.
 
IIRC this is very similar to how Firaxis originally playtested SMAC in that they'd put a weight on the Enter key and let the AIs battle it out overnight.

I guess they didn't think of their game as a multitaskable background process back then. Nor as something that could be over fairly soon. Not enough computing resources!
 
I guess they didn't think of their game as a multitaskable background process back then. Nor as something that could be over fairly soon. Not enough computing resources!
If you have any program to test and you can do so without human intervention than the logical thing is to let it run over night. You basically get two work days worth out of one. Why waste the nights when you don't have to?
 
Last edited:
You're pitching that it's better to read a log after the fact, than to actually see a problem occurring on the screen. I'm not buying it. Especially after a few dozen hours of AI vs. AI testing in recent months. Making logs, means you have to know what you're looking for in advance. Watching games, you notice whatever is wrong. But it does get exhausting.
 
For reasons of which I may not speak about I imagine that they had infinitely better logging available during the development stage than what they left in the game. They can easily record the game and play it back at faster speeds later or skip to parts where the logs show something is iffy.
 
Sculpting using Elevations

Select the smaller paintbrushes and either select Cntl-left click to add land or Cntl-right -click to take land away using the selected paintbrush. After I am done with each paintrbush I again save the map.

Why So Serious about Saving?

The reason that I save so much is that there's a bug in the game in that if you do too much with the Scenario Editor before saving the map or scenario the game will lock up and become unresponsive. So save early, and save often!

Quick Experimentation with Elevations

Select the smallest paintbrush and then move the cursor to an empty spot in the ocean away from other landmasses. The do a Cntl left-click to raise the land. Repeat again approximately 6 times and there should be a mountain on the order of 3500 meters, which is the highest elevation you can get. Now do the reverse by repeatedly doing a Cntl right-click until the is an ocean trough approximately 3000 meters deep, which I believe is the deepest the map generator allows.

Now to get back to where I was I just reload the map I had just previously saved.

Quick Observation on Cntl-Left Click and Cntl-Right Click

Select the "Unity Pods" icon:

Unity Pods.png

Move the cursor to a land location which doesn't have a Unity Pod on it and do a Cntl-Left Click. There is now one Unity Pod present:
One Click.png


Now Cntl-Left Click again, and now there are 9 Unity Pods:
Two Click.png


To simply make this go away perform a Cntl-Right Click twice.
 
Placing Natural Landmarks

Now that I'm done with the major sculpting of the map I'll place some major landmarks back in, however typically I'll do a little variation on the landmarks that can't be found in a regular game. For instance because the game allows for elevation changes in the map I can sink things like Mount Planet:
Sea Volcano.png

To accomplish this I place the cursor where I want to put Mount Planet, then select Menu>Edit Map>Place Natural Landmark, and choose "Mount Planet". Next select the "Elevations" icon and the one tile paintbrush. Then place the cursor near the top of Mount Planet and click Cntl-right click. Move the cursor one tile over and repeat, and keep moving the cursor one tile around the caldera and continually performing the Cntl-right click function until the volcano is submerged. To change the name simpley right-click, choose "Name landmark", and fill in the desired name.

I did a similar thing with the crater as well:
Sunken Crater.png


In this case I only sank part of the crater. And keeping with the theme of doing things that aren't found in typical games I've scattered a few monoliths around the ocean. :)

D
 
Initial base Improvement

Now that the first cut of the map is complete I'll start to add some terrain improvements for the Factions' initial bases. To make it easy on myself I always place a sensor on the locations for each initial base for each Faction:
Initial base improvements.png


I then create a road connecting all of a Faction's initial bases, and then add some improvements like forests, terrain bonuses, and other minor improvements. After a few playtests I'll gauge the relative strengths of how the AIs are performing, and then to increase an AI's capabilities I'll add improvements and units, or to attenuate an AI I'll take away improvements, units, and if necessary bases.

This Scenario is Brought to you by the Number 10, and the Letter X

Now that the first cut of the map is complete, here it is!
Sesame Street Stuff.png


Not much to look at. But that's OK, because in the upcoming playtesting iterations I'll continually make notes to myself where the map needs to be modified to make it more aesthetic/ interesting, and then go back and make the updates to the map before rebuilding the scenario and playtesting again.

Which AIs, and Why?

So now its time to decide on which AIs should be in this game. In this scenario I'm going to have 5 AIs all aligned against our hero, the Protector. As such do I want the indomitable Yang as one of the AIs? Usually I do include Yang because he is such a great antagonist which draws a lot of people to a scenario just because they hate him so much/ want to play against an enhanced Yang. However in this case I think that would be too much for a human player to handle, especially given the direction I'm going to take this scenario! :evil:

After giving it some thought and looking at the backstory I've been developing in parallel to the map generation I'm going to go with Zakharov as the main antagonist. He is obviously capable tech-wise, and because he gets a free Network Node with every base it means I can set his AI to produce military units without having to worry about him falling behind tech-wise. And of course he is the most unethical of us all, and so keeping with the theme of the number ten and its Roman numeral counterpart X, we're going to give Zakharov the free ability of Nerve Gas, and we will set the University AI to commit atrocities wantonly (more on setting up the AIs to behave in desired ways later). And just to put Zakharov at a safe distance from an adept human player I'm going to make Zakharov aquatic and put him out in the middle of the ocean, where he can plant lots of sea bases, research lots of techs, and continually build lots of evil nasty military units to throw at the mainland! Bwahahahaha!!! :ar15:

Now for the rest of the AIs: since I've already got a tech engine in Zakharov I don't need or want another. So I'm going to go with the run of the mill AIs here in Lal, Santiago, Domai, and Miriam: good luck to a human player trying to probe or militarily dominate in order to get a tech lead with this bunch!
 
Last edited:
Editing a Faction's text file

Before I start editing any files I create a new subdirectory called "Virgin Files" and make backups of all my text files there.

Next in the "Sid Meier's Alpha Centauri" subdirectory I locate the univ.txt file and open that in a text editor (I use Notepad myself), and then I add the information for adding the Nerve Gas ability (FREEABIL, 20) and the Aquatic ability (AQUATIC, 0) to the University, as follows:
University text edit.png
 
Back
Top Bottom