Since I have already mentioned the SCENARIO.BSF file in the last instalment about reinforcements, it’s probably best to explain more about this very useful tool.
You don’t need a SCENARIO.BSF file for your scenario to work, but if you do use one it allows you to do a lot of cool things.
First, let’s just recap on how you put the SCENARIO.BSF file into your scenario, this is taken straight from part 9 of my Scenario creation guides:
Go to the main Field of Glory 2 installation folder. It should be C/Program Files (x86)/Slitherine/Field of Glory II. In there you will find a file called SCENARIOTEMPLATE.BSF.
This is a generic template script that can be used in any user made scenarios. Copy the SCENARIOTEMPLATE.BSF and paste it into your scenario folder. For my scenario, that I am using as an example, it is My Documents/My Games/FieldOfGlory2/CAMPAIGNS/ KYNOSKEPHALAI_197BC/ SCENARIOS
Now, rename the SCENARIOTEMPLATE.BSF file to exactly match your scenario .BAM file. So in this example, I have renamed it to Kynoskephalai.BSF.
Here is a list of some things you can do with the SCENARIO.BSF file:
1) Scripted AI orders: you can write more complicated AI orders than the Editor can do.
2) Reduce visibility, for the whole or part of the scenario.
3) Change the victory conditions.
4) Implement a turn limit.
5) Reinforcements (see Scenario creation guide part 9)
6) Change the numerical strength of the units
7) Change the quality rating of the units.
8 ) Allocate extra points to spend on purchasing units according to difficulty rating.
9) Allow units to leave the battlefield when they reach a map edge.
10) Hide units from view on the first turn
11) Make units static for the whole or part of a scenario.
12) Make units start the scenario Disrupted or Fragmented.
13) Enable messages to appear during the scenario.
I have done all of the above in my scenarios for Field of Glory 2 and Pike and Shot, and I have no doubt that there are a great many other things that are possible. Please bear in mind that I have no training or previous work experience in scripting, so don’t let the apparent complexity put you off. All that I can do, I have either figured out for myself, or RBS has advised me. If there is something you can’t work out, just ask on this forum, I am sure someone will be able to help.
It would take far too long to explain how to do all the things in the list above, but I shall give you a few pointers, and explain some of the simpler stuff, and that should get you started.
It is highly recommended to use a Text Editor, such as Notepad++, to edit the .BSF file. Notepad++ can be downloaded for free.
In it’s basic unaltered form the SCENARIOTEMPLATE.BSF file only has two slight effects on your scenario:
a) It slightly varies the number of men in each unit.
b) It also activates the Reskin function, so that your units will automatically use the available range of textures in the games texture folders. It will override any texture allocations you have made in the editor. If you do not want this to happen, open the .BSF file and search for the two lines that start with ReSkinArmy, and put two back slash characters in front of the lines, so it looks like this:
// ReSkinArmy(0, 0);
// ReSkinArmy(1, 0);
The back slashes tell the game not to read these lines.
If you don’t mind this feature, just leave the ReSkinArmy lines as they are.
The generic SCENARIOTEMPLATE.BSF file contains 9 functions, you can add more if you need to. Here is an example of a function from my Elephant Victory scenario:
It is FUNCTION StartTurnPost(side), which is where you can put any scripted AI orders. This one contains orders for two of the Galatian army’s teams, that are slightly more complex than the orders that are possible using the Editor.
if (side == 1) refers to the AI side, side 1.
if (GetTurn() < 5) means that the following order is in effect before turn 5. Please note that each side has separate turn numbers, so that Side0’s turns are numbered 0,2,4,6,8 and so on. Side1’s turns are numbered 1,3,5,7 and so on.
MoveTeamCoord(1,1,-1,-1,8); is the order that is in effect before turn 5. The first number in the brackets is the side number, the second number is the team number, the third number is the x map coordinate of the objective square, the fourth number is the y map coordinate of the objective square, and the fifth number is the AI team orders (see Scenario guide part 4). Note that when the map coordinates are -1, this means that no objective has been given. So in this case the script means that the AI side’s team 1 has no objective square, and will only react when enemy come close.
else this means that after turn 5 the following order comes into effect.
MoveTeamCoord(1,1,-1,-1,18); this is exactly the same as the pre turn 5 orders, except that now AI order 18 comes into effect. 18 is seek and destroy, but move at the speed of the slowest unit in the team.
So, in all, this script means that the AI’s team 1 will start the scenario stationary, but will react to appropriately to defend itself if enemy comes near. After turn 5, team 1 then goes on to attack the nearest enemy. If we had input non negative map coordinates, the team should head in that direction to reach the objective square.
The second set of scripted instructions gives the same order to team 4.
The second function we will look at is FUNCTION PreBattleSetup().
The two most usual things to do with this function are:
a) Change the Strength Multiplier. This multiplies the strength of all the units in the scenario by the value that you input. It is very useful if you are designing very large or very small battles. With a standard scale of one figure equals 60 men, and a recommended limit of 64 units per side, the game is really only suitable to model battles of about 10,000 to 30,000 men. To model anything bigger or smaller than that you can change the strength multiplier to change the size of the units.
b) Set a scenario deadline. User designed scenarios will just carry on until one side loses, but you can specify a deadline. This is useful in a number of circumstances. I usually use it when one side has a big advantage in numbers, but I want to force them to attack and win within a certain time limit.
These are very straightforward to do. For the Strength Multiplier just change the number in the brackets in this line:
SetUniversalVar("StrengthMultiplier", 100);
100 means 100% of standard strength. So if you change this to 200, all units will be 200% of their normal strength, so a legionary cohort will be 960 men instead of 480 for example.
To get a scenario deadline, remove the back slashes from this line:
// SetUniversalVar("ScenarioDeadline", 32);
and change the number to the turn limit that you want. Remember that each game turn is actually two turns, a side 0 turn and a side 1 turn. So the 32 that is input in this case would actually give a turn limit of 16 game turns. You can change it to whatever you want.
The best thing to do is open up a few scenario .bsf files (either vanilla or user made) and try to work out what the scripts do. You might have played a scenario and noticed an unusual feature, such as the limited visibility at the start of my Castulo scenario. If you take a look at the .bsf file you might find out how it was done.
Good luck!
Scenario creation guide part 10 (The .BSF file)
Scenario creation guide part 10 (The .BSF file)
Field of Glory II Scenario Designer - Age of Belisarius, Rise of Persia, Wolves at the Gate and Swifter than Eagles.
Field of Glory II Medieval Scenario Designer.
FOGII TT Mod Creator
Warhammer 40,000: Sanctus Reach Tournament Scenario Designer.
Field of Glory II Medieval Scenario Designer.
FOGII TT Mod Creator
Warhammer 40,000: Sanctus Reach Tournament Scenario Designer.
Return to “Field of Glory II: Scenario Design”
Jump to
- Announcements & General Discussion
- ↳ News & Announcements
- ↳ General Discussion
- ↳ Game Ideas
- ↳ Archive
- ↳ Slitherine/Matrix Press Event 2012 - The Home of Wargamers
- ↳ Blogs
- ↳ Deadliest Warrior on Spike TV
- ↳ Military Art
- ↳ Shenandoah General Discussion Forum
- ↳ Shenandoah Studio Website
- ↳ Gettysburg: The Tide Turns
- ↳ Gettysburg: The Tide Turns - Technical Support
- ↳ Gettysburg: The Tide Turns - After Action Reports (AAR)
- ↳ Battle of the Bulge
- ↳ Battle of the Bulge: Tech Support
- ↳ Drive On Moscow
- ↳ Drive on Moscow iPad
- ↳ Desert Fox: The Battle of El Alamein
- Regional
- ↳ Español
- Coming Soon
- ↳ Field of Glory: Kingdoms
- ↳ ICBM: Escalation
- ↳ ICBM: Escalation Tech Support
- ↳ Ancient Arenas: Chariots
- ↳ Scramble: Battle of Britain
- ↳ Broken Arrow
- Latest Releases
- ↳ Headquarters World War II
- ↳ Panzer Corps 2
- ↳ Panzer Corps 2: Tech Support
- ↳ Panzer Corps 2 Scenario Design
- ↳ Panzer Corps 2: Multiplayer & Tournaments
- ↳ Panzer Corps 2 AARs
- ↳ Terminator: Dark Fate – Defiance
- ↳ Stargate: Timekeepers
- ↳ Stargate: Timekeepers - Tech Support
- ↳ Starship Troopers - Terran Command
- ↳ Master of Magic
- ↳ Field of Glory II
- ↳ Field of Glory II: Tech Support
- ↳ Field of Glory II: Scenario Design
- ↳ Field of Glory II: Modding
- ↳ Field of Glory II: After Action Reports
- ↳ Field of Glory II: Tournaments & Leagues
- ↳ Field of Glory II Digital League
- ↳ Knock-out Tournament
- ↳ Field of Glory II: The Divisional Championships
- ↳ FOG II World Team Championship
- ↳ Archive
- ↳ Field of Glory II: Frequently Asked Questions
- ↳ The FOGII Beta Archives
- ↳ Field of Glory II 1.5.15 Public Beta
- ↳ Field of Glory II 1.5.20 Public Beta
- ↳ Field of Glory II 1.5.22 Public Beta
- ↳ Field of Glory II - 1.5.24 Open Beta
- ↳ Field of Glory II - 1.5.26 Open Beta
- ↳ Field of Glory II - 1.5.27 Open Beta
- ↳ Field of Glory II - 1.5.29 Open Beta
- ↳ Field of Glory II - 1.5.31 Open Beta
- ↳ Field of Glory II - Open Beta 1.5.33
- ↳ Field of Glory II - Open Beta 1.5.37
- ↳ Field of Glory II Open Beta v.1.5.39
- ↳ Warhammer 40,000: Battlesector
- ↳ Planetary Supremacy
- ↳ Warhammer 40,000: Gladius - Relics of War
- ↳ Warhammer 40,000: Gladius - Relics of War: Tech Support
- ↳ Warhammer 40,000: Gladius - Relics of War: Modding
- ↳ Warhammer 40,000: Gladius - Relics of War: Suggestions
- ↳ Master of Magic Classic
- ↳ Master of Magic: Tech Support
- ↳ Caster of Magic
- ↳ Field of Glory II: Medieval
- ↳ Field of Glory II: Medieval Tech Support
- ↳ Field of Glory II: Medieval - Scenario Design
- ↳ Field of Glory II: Medieval - Modding
- ↳ Field of Glory II: Medieval - After Action Reports
- ↳ Field of Glory II: Medieval - Tournaments & Leagues
- ↳ Field of Glory II: Medieval - Frequently Asked Questions
- ↳ Field of Glory II: Medieval Beta Archives
- ↳ Field of Glory II: Medieval - Open Beta v.1.5.7
- ↳ Field of Glory II: Medieval - Open Beta
- ↳ Order of Battle Series
- ↳ Order of Battle : World War II - Tech Support
- ↳ Order of Battle Bug Submissions
- ↳ Order of Battle : World War II - AAR
- ↳ Order of Battle : World War II - Scenario Design
- ↳ Order of Battle : World War II - Multiplayer
- ↳ Multiplayer Beta
- ↳ Fantasy General II - Invasion
- ↳ Fantasy General II - Invasion: Tech Support
- ↳ Content Editor
- ↳ Fantasy General II - Beta Archive
- ↳ ICBM
- ↳ ICBM:Tech Support
- ↳ ICBM:Features you would like to see
- ↳ Stirring Abyss
- ↳ Battlestar Galactica Deadlock
- ↳ Battlestar Galactica Deadlock: Tech Support
- ↳ Shadow Empire
- ↳ Field of Glory: Empires
- ↳ Dev Diaries
- ↳ Field of Glory: Empires - Tech Support
- ↳ MOD
- ↳ AAR
- ↳ Field of Glory: Empires Beta Archive
- ↳ FOG Empires Open Beta v.1.3.5
- ↳ Diplomacy Open Beta
- ↳ Command: Modern Operations
- ↳ Astra Exodus
- ↳ Tech Support
- ↳ Afghanistan '11
- ↳ Afghanistan '11: Tech Support
- ↳ Strategic Command WWI
- ↳ Armored Brigade
- ↳ WarPlan
- ↳ Close Combat: The Bloody First
- ↳ Empires Apart
- ↳ Empires Apart PBEM
- ↳ Strategic Command WWII: World at War
- ↳ Aggressors: Ancient Rome
- ↳ Aggressors: Tech Support
- ↳ Aggressors Modding
- ↳ Aggressors AARs
- ↳ Warhammer 40,000: Sanctus Reach
- ↳ Sanctus Reach After Action Reports (AAR)
- ↳ Sanctus Reach Mods and Scenario Design
- ↳ Sanctus Reach Opponents Wanted
- ↳ Sanctus Reach Tech Support
- ↳ March to Glory
- ↳ Tech Support: March to Glory
- ↳ The Operational Art of War IV
- ↳ Check Your 6!
- ↳ Check Your 6!: Tech Support
- ↳ Polaris Sector
- ↳ Tech Support
- ↳ Modders Corner
- ↳ Mare Nostrvm
- ↳ Gettysburg: The Tide Turns
- ↳ Warhammer® 40,000® Armageddon™
- ↳ Warhammer AAR
- ↳ Tech Support
- ↳ Mods and Scenario Design
- ↳ Warhammer Open Beta
- ↳ Carrier Deck
- ↳ Carrier Deck: Tech Support
- ↳ Panzer Corps
- ↳ Panzer Corps Open Beta
- ↳ Panzer Corps Mac Open Beta
- ↳ Panzer Corps : Tech Support
- ↳ Panzer Corps : AAR's
- ↳ Panzer Corps : Scenario Design
- ↳ Panzer Corps 2
- ↳ Close Combat Series
- ↳ Close Combat : Tech Support
- ↳ Close Combat - Gateway to Caen
- ↳ Close Combat - Gateway to Caen : Tech Support
- ↳ Close Combat - Gateway to Caen - Match Making Forum
- ↳ Close Combat - Panthers in the Fog
- ↳ Close Combat - Match Making Forum
- ↳ Close Combat - Panthers in the Fog: Tech Support
- Classic Games A-Z
- ↳ Airstrike Eagles of WWII
- ↳ Airstrike : Tech Support
- ↳ Alea Jacta Est Series
- ↳ Alea Jacta Est Series : Tech Support
- ↳ Battle Academy
- ↳ Battle Academy : Open Beta
- ↳ Battle Academy : Tech Support
- ↳ Battle Academy : Modders Corner
- ↳ Battle of the Scheldt Beta
- ↳ Battle Academy : Scenario Design
- ↳ Battle Academy : Tournaments & Leagues
- ↳ Battle Academy 2 – Eastern Front
- ↳ Tech Support
- ↳ Battle Academy 2: Modders Corner
- ↳ Battle Academy 2: Scenario Design
- ↳ Battle Academy 2: Tournaments & Leagues
- ↳ Battle Academy 2: AAR
- ↳ Battle of the Bulge
- ↳ Buzz Aldrin's Space Program Manager
- ↳ Buzz Aldrin's Space Program Manager : Tech Support
- ↳ Buzz Aldrin's Space Program Manager : Early Access Beta Forum
- ↳ Campaign Series: Middle East 1948 - 1985
- ↳ Chariots of War
- ↳ Civil War II
- ↳ Civil War II : Tech Support
- ↳ Civil War II : AAR's
- ↳ Command - Modern Air/Naval Operations
- ↳ Commander - Napoleon at War
- ↳ Commander - Napoleon at War : Tech Support
- ↳ Commander - The Great War
- ↳ Commander - The Great War: Tech Support
- ↳ Commander The Great War AAR's
- ↳ Commander the Great War : Mods & Scenario Design
- ↳ Commander the Great War : Opponent Finder
- ↳ Conflict of Heroes
- ↳ Conflict of Heroes : Tech Support
- ↳ Conflict of Heroes : AAR's
- ↳ Match making forum
- ↳ Conquest!
- ↳ Conquest! : Tech Support
- ↳ Decisive Campaigns Series
- ↳ Distant Worlds Series
- ↳ Drive on Moscow
- ↳ Drums of War
- ↳ Drums of War : Tech Support
- ↳ Egypt - Engineering an Empire
- ↳ Egypt - Engineering an Empire : Tech Support
- ↳ España: 1936
- ↳ Fantasy Kommander – Eukarion Wars
- ↳ Fantasy Kommander – Eukarion Wars : Tech Support
- ↳ Field of Glory Digital
- ↳ Field of Glory : Tech Support
- ↳ Field of Glory : Scenario Design
- ↳ Field of Glory : Leagues & Tournaments & Seeking Opponents
- ↳ The FOG Digital League
- ↳ The Slitherine Trophy
- ↳ Field of Glory: League of Extraordinary Gentleman
- ↳ Field of Glory : AAR's
- ↳ FoG PC Beta
- ↳ Old Beta Test
- ↳ Bug Reports
- ↳ Field of Glory Campaigns
- ↳ Flashpoint campaigns: Red Storm
- ↳ Frontline Series
- ↳ Frontline Road to Moscow
- ↳ Frontline: Road to Moscow Tech Support
- ↳ Frontline: Road to Moscow Beta
- ↳ PC Beta
- ↳ Android Beta
- ↳ iOS Beta
- ↳ Frontline: The Longest Day
- ↳ Tech Support
- ↳ Gary Grigsby's War in the East
- ↳ Gary Grigsby's War in the East : Tech Support
- ↳ Gary Grigsby’s War in the West
- ↳ Germany at War: Barbarossa 1941
- ↳ Germany at War: Barbarossa 1941 : Tech Support
- ↳ Germany at War: Barbarossa 1941 : AAR's
- ↳ Hannibal: Rome and Carthage
- ↳ Hannibal: Rome and Carthage - Tech Support
- ↳ Hell
- ↳ Tech Support
- ↳ Heroes of Normandie
- ↳ Tech Support
- ↳ Mods and Scenario Design
- ↳ HISTORY™ Great Battles Medieval
- ↳ HISTORY™ Great Battles Medieval : Tech Support
- ↳ HISTORY™ Great Battles Medieval : Modding
- ↳ HISTORY®: Legends of War
- ↳ Tech Support
- ↳ Last Days of Old Earth
- ↳ Tech Support
- ↳ Legion & Legion Gold
- ↳ Legion and Legion Gold: Tech Support
- ↳ Legion Arena & CoM
- ↳ Legions of Steel
- ↳ Tech Support
- ↳ Lock 'n Load: Heroes of Stalingrad
- ↳ Lock 'n Load: Heroes of Stalingrad - Tech Support
- ↳ Magnifico - Da Vinci’s Art of War
- ↳ Tech Support
- ↳ MILITARY HISTORY™ Commander - Europe at War : General Discussion
- ↳ Commander - Europe at War : Tech Support
- ↳ Commander - Europe at War : Modders Corner
- ↳ Commander Europe at War : AAR's
- ↳ Commander Europe at War : Opponent Finder
- ↳ Commander Europe at War : GS Open Beta
- ↳ Napoleon's Campaigns
- ↳ Pandora - First Contact
- ↳ Pandora : Public Beta
- ↳ Pandora : Tech Support
- ↳ Pandora : Modders Corner
- ↳ Pike & Shot
- ↳ Tech Support
- ↳ Scenario Design
- ↳ After Action Reports
- ↳ Modders Corner
- ↳ Opponents Wanted
- ↳ Pike & Shot : Tournaments & Leagues
- ↳ Piercing Fortress Europa
- ↳ Pride of Nations
- ↳ QVADRIGA
- ↳ QVADRIGA : Tech Support
- ↳ Ravenmark: Scourge of Estellion
- ↳ Tech Support
- ↳ Revolution Under Siege Gold
- ↳ Rise of Prussia Gold
- ↳ Sengoku Jidai: Shadow of the Shogun
- ↳ Tech Support
- ↳ Scenario Design
- ↳ Modders Corner
- ↳ After Action Reports
- ↳ Opponents Wanted
- ↳ Sengoku Jidai: Tournaments & Leagues
- ↳ Scourge of War Gettysburg
- ↳ Scourge of War Series : Tech Support
- ↳ Scourge of War: Waterloo
- ↳ Sovereignty
- ↳ Sovereignty: Tech Support
- ↳ Sovereignty: AAR
- ↳ Sovereignty: Modders Corner
- ↳ Spartan & Gates of Troy
- ↳ Star Hammer
- ↳ Star Hammer: Tech Support
- ↳ Star Hammer: Scenario Design
- ↳ Strategic Command: WWII War in Europe
- ↳ Strategic War in Europe
- ↳ Tech Support
- ↳ Team Assault
- ↳ Match making forum
- ↳ Team Assault : Tech Support
- ↳ THE HISTORY CHANNEL™ Great Battles of Rome
- ↳ THE HISTORY CHANNEL Great Battles of Rome : Tech Support
- ↳ Thirty Years' War
- ↳ Tigers on the Hunt
- ↳ Time of Fury
- ↳ Time of Fury AAR's
- ↳ Time of Fury : Tech Support
- ↳ Time of Fury : Scenario Design & Modding
- ↳ Time of Fury : Open Beta
- ↳ To End All Wars
- ↳ Tech Support
- ↳ Unity of Command
- ↳ Victory and Glory
- ↳ Vietnam '65
- ↳ Vietnam '65 - Tech Support
- ↳ Wars of Napoleon
- Online Ordering & Support
- ↳ Online Ordering & Support
- ↳ Site Feedback
- ↳ Invitation system support
- Tabletop Wargaming
- ↳ Field of Glory : Ancient & Medieval Era 3000 BC-1500 AD : General Discussion
- ↳ Rules Questions
- ↳ Scenarios, AAR's, Lists, Modelling and more
- ↳ Historical Scenarios
- ↳ Field of Glory AAR's
- ↳ Army Design
- ↳ Modelling
- ↳ Player Designed Lists
- ↳ Tournaments & Opponents
- ↳ Tournaments
- ↳ Opponent Finder
- ↳ Foreign Language Forums
- ↳ French Speaking Forum
- ↳ Spanish Speaking Forum
- ↳ Italian Speaking Forum
- ↳ German Speaking Forum
- ↳ Tech Support
- ↳ Field of Glory 3.0 Beta
- ↳ Marketplace
- ↳ Field of Glory : Napoleonic Era 1792-1815 : General Discussion
- ↳ Rules Questions
- ↳ Campaigns
- ↳ Scenarios, AAR's, Lists, Modelling and more
- ↳ Historical Scenarios, Maps, and Orders of Battle (OOB)
- ↳ FoGN After Action Reports (AAR)
- ↳ Army Design
- ↳ Player Designed Lists and Adaptions
- ↳ Modelling/Gallery/Uniforms Questions
- ↳ Tournaments, Demos & Opponents
- ↳ FoGN Community: Opponent Finder, Clubs, Blogs, etc.
- ↳ Foreign Language Forums
- ↳ French Speaking Forum
- ↳ Spanish Speaking Forum
- ↳ Italian Speaking Forum
- ↳ German Speaking Forum
- ↳ Marketplace
- ↳ Field of Glory : Renaissance Wars : General Discussion
- ↳ Historical Scenarios
- ↳ Rules Questions
- ↳ After Action Reports (AAR's)
- ↳ Tournaments
- ↳ Army Design
- ↳ Player Designed Lists
- ↳ Modelling
- ↳ Campaigns
- ↳ Opponent Finder
- ↳ FOGR Update
- ↳ Marketplace
- ↳ Field of Glory : Swords & Sorcery : General Discussion
- ↳ Marketplace
- ↳ Flashpoint campaigns: Red Storm : Tech Support
- ↳ HISTORY™ Ice Road Truckers
- ↳ HISTORY™ Great Empires: Rome
- ↳ HORRIBLE HISTORIES™ Ruthless Romans
- ↳ The Tudors
- ↳ Command - Modern Air/Naval Operations : AAR's
- ↳ Command - Modern Air/Naval Operations : Tech Support
- ↳ Tech Support
- ↳ España: 1936 : Tech Support
- ↳ Piercing Fortress Europa: Tech Support
- ↳ Tech Support
- ↳ FoGR Lists
- Archive
- ↳ Gary Grisby’s World at War iPad