The FOG2 Campaign Thread

Post Reply
76mm
Lieutenant Colonel - Panther D
Lieutenant Colonel - Panther D
Posts: 1276
Joined: Tue Feb 09, 2010 12:08 pm

The FOG2 Campaign Thread

Post by 76mm »

I have to admit that the main reason I'm so interested in this game is as a campaign overlay for FOG2...it has a lot of great features but will need to be tweaked significantly for it to work for FOG campaigns in my view. I thought I would start this thread to lay out some of my thoughts on this topic and hopefully get some feedback and ideas from others with the same interest. Maybe we could even coordinate and divide up the various work streams that might be required. If you have any interest at all in a FOG campaign, please contribute your thoughts here!

MACRO THOUGHTS
  • Map--personally I would rather have a very large (100x100?) fictional map than the POMM ("Plain Old Mediterranean Map"). Ideally the map would be randomly generated so that each game would be very different, but not sure if that would produce a sufficiently interesting world (see below).
  • Sides--I was thinking 6-8 sides, just because it might be hard to find more players than that, but with a 100x100 map you could probably have up to 20 sides if you wanted.
  • Variety--I think it would be important that the map included a lot of varied terrain/civilizations--sure, areas similar to Greece/Rome, but also large wooded regions for barbarians, large grasslands for horse-based, armies, etc. Not sure if a randomly-generated map would get this quite right.
  • Buildings--I think that most of the buildings, etc. could be left as is, probably with some exceptions.
  • Length--Personally, I would like for this kind of campaign to be epically long, like from 500 BC to 500 AD (or similar) to allow for the rise and fall of entire civilizations over time. Such a campaign would probably last years IRL...
  • Armies--I think that this is the biggest change that would be required--the method of building, upgrading, and deploying armies would need to change significantly, so I'll address these in the next post.
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: The FOG2 Campaign Thread

Post by Cablenexus »

Cool project! I like to share what I learned so far:

map: 80 x 80 is tested by many testers over many years. There is a performance reason for players with low/mid and high end systems why this max map size is choosen. (it can be done eventually)

sides/variety: This is easy to change per terrain type, per indiviudal tree eventually, random terrain patterns, animals, mountain and hill height etc etc in the generator settings.

buildings: Look into the "units" scripts and unitmodels in the mod.ag file
<unitModels>
<unitModels>
<UnitModelMemento id=

length: can be set in editor and also in ag files

<StateMemento serverState="true" actualPlayerId="7" currentNewUnitId="981" currentNewAmbientUnitId="8632" name="Battle over Rhenus" gameState="1" currentTurnNumber="1" currentReportId="1" gameSpeed="1" stateFlags="4065" playerStateFlags="3">
<gameTime initialTurnIndex="1" initialYear="-60" stepsPerTurn="1">
<turnNames>
<string>Turns.Spring</string>
<string>Turns.Summer</string>
<string>Turns.Autumn</string>
<string>Turns.Winter</string>
</turnNames>

armies: 3 units per tile is not a hardcoded limit. This can be set ingame editor eventually or in ag file. For scripting see Pavel respons in your other topic.

If there are any questions please ask in the forum and Good Luck!
76mm
Lieutenant Colonel - Panther D
Lieutenant Colonel - Panther D
Posts: 1276
Joined: Tue Feb 09, 2010 12:08 pm

Re: The FOG2 Campaign Thread

Post by 76mm »

Thanks for your feedback! One more question: I guess--at least via the editor--it should be possible to have the AI replace a player in an ongoing game if a player drops out over time?
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: The FOG2 Campaign Thread

Post by Cablenexus »

76mm wrote: Tue Sep 11, 2018 2:19 pm Thanks for your feedback! One more question: I guess--at least via the editor--it should be possible to have the AI replace a player in an ongoing game if a player drops out over time?
For this are the playerType="1" playerJoinType="2" per individual tribe (playermemento) flags

public enum PLAYER_JOIN_TYPE : byte
{
NONE = 0,
OPEN = 1,
AI = 2,
CLOSED = 4


One more addition, regardless the units per square you can also set the game scale. In km. squares (distant etc) but also for citizen and army sizes.
In my Holland mod for example in history tribes exist of a few thousand of people, not millions. Armies consist about 200 -700 man in my scenario, not thousands.

scenario.ag

<chart squareSize="14" citySizeCoefficient="1000" armySizeCoefficient="100" maximumUnitPerTile="3"
76mm
Lieutenant Colonel - Panther D
Lieutenant Colonel - Panther D
Posts: 1276
Joined: Tue Feb 09, 2010 12:08 pm

Re: The FOG2 Campaign Thread

Post by 76mm »

Cablenexus wrote: Tue Sep 11, 2018 2:48 pm One more addition, regardless the units per square you can also set the game scale. In km. squares (distant etc) but also for citizen and army sizes.
In my Holland mod for example in history tribes exist of a few thousand of people, not millions. Armies consist about 200 -700 man in my scenario, not thousands.

scenario.ag

<chart squareSize="14" citySizeCoefficient="1000" armySizeCoefficient="100" maximumUnitPerTile="3"
Very good to know, thanks!
76mm
Lieutenant Colonel - Panther D
Lieutenant Colonel - Panther D
Posts: 1276
Joined: Tue Feb 09, 2010 12:08 pm

Re: The FOG2 Campaign Thread

Post by 76mm »

ARMIES
I think the biggest challenge to making a Aggressors/FOG2 campaign work is how to deal with armies in the two games, because they are treated very differently. I think that the easiest way to proceed would be to:
  • Reduce the Tech Tree/Variety in Aggressors--Instead of each empire being able to create three types of foot and three types of cav, as in Aggressors, allow them to create only two types of unit: (1) a basic spearman/hoplite garrison unit; and (2) a real "army" unit based on whatever FOG2 army list has been assigned to the empire.
  • Produce Points--Another issue would be for the Aggressor empires to produce army "points" that would translate into a certain number of FOG2 army points (ie,when purchasing units on the army lists). So each "unit" produced in Aggressors would just be another 500 (or whatever) FOG2 points, so armies would be homogeneous.
  • Merging Units--While Aggressors can have up three units in the same hex, with each one attacking separately, in the campaign only one unit, the main army in the tile, should be able to attack. To achieve this, if one army unit enters a tile, it could be merged into another unit already in the tile to create one larger unit.
  • Tech Tree--Each empire should only be able to create units based on one FOG2 army list at a time (as well as the garrison spearmen/hoplites), rather than producing six different types of unit, as now. Research could move them into another, better, FOG2 army list.* Even countries which don't do any research will gradually progress through succeeding army lists through "tech assimilation" (ie, once one empire starts using tech, it gradually disseminates to other empires). although they will be a generation behind the "most advanced" nations.
*Care will need to be taken to select appropriate tech trees for each nation to give a natural flow and incentive for research, because often FOG2 army lists get worse rather than better as time goes on, or the army goes away completely at some point (ie, Carthaginian, etc.) and another similar army will need to be "grafted on" to the tech tree.
  • Production Costs--The cost of producing the units will need to be "calibrated" to the size and wealth of the empires, so that armies are neither too big nor too small.
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: The FOG2 Campaign Thread

Post by Cablenexus »

It looks like you have some very nice ideas of how to achieve this. I have to admit that my hours in FOG II are way less then my hours in Aggressors but I can see the concept of what you want.

- Did you think about the terrains? These play a huge role in itself for both games. How do you decide for example what terrain type in Aggressors represents the terrain in FOG. (for both parties). Maybe new or altered terrain types are needed? Or maybe make a calculation based on the tile the map item is at and some surrounding tiles?

- Did you think about generals? How will they be represented in army lists or in Aggressors? Are they a unit type on their own?

- As for the techs, unit abilities, available techs at start, reducing unit types etc is all easy to achieve in scenario.ag file. (Eventually everything I see so far is possible in scenario.ag without needing a mod.ag)
Eventually you can go as detailed as you want by only assigning techs that are bound to specific unit types and/or unit bahaviors (unit improvements). Also assigning the exact unit types per tribe should be possible to do even with the exact army names and sizes/scale.

- As for army points. I think this should be a combination of produce costs for tech/units, unit upgrades etc in Aggressors, translated somehow to the costs of army points in FOG. For example you might think of some calculation to translate Aggressors Gold, iron and citizen resources (all needed to produce units) to FOG army points.
Eventually you can add (in that case a mod is needed) a FOG army points resource that calculates this ingame.

-Keep in mind that the 3 tiles max is not hardcoded. You can eventually combine 15 armies if you want. But you can also choose to go another way. That one unit in Aggressors represent a complete armylist.

Feel free to share scenario.ag and mod.ag files (even in early state) zipped here on the forum, or provide us a shared dropbox link.
(It's much easier that way to give some helpful suggestions eventually).

Maybe start with a simple 2 player setup in Aggressors for testing purposes and experiment. (Also because this project seems very ambitious. I don't know your skills of course, but everything mentioned is really advanced stuff. Don't take it lightly or you will give up soon. I don't say it can't be done, but you will find out that scripting can be needed for example for the calibrated production costs you mentioned).

Ask some FOG players who also own Aggressors and vice versa to particpate, help testing/give feedback eventually. Make a suggestion thread in both FOG II and Aggressors Steam modding subforums and in FOG slitherine mod subforum (maybe you have done that already, please share).

Good luck again. If there are any questions feel free to report ;-)
76mm
Lieutenant Colonel - Panther D
Lieutenant Colonel - Panther D
Posts: 1276
Joined: Tue Feb 09, 2010 12:08 pm

Re: The FOG2 Campaign Thread

Post by 76mm »

Cablenexus wrote: Wed Sep 12, 2018 5:07 am - Did you think about the terrains? These play a huge role in itself for both games. How do you decide for example what terrain type in Aggressors represents the terrain in FOG. (for both parties). Maybe new or altered terrain types are needed? Or maybe make a calculation based on the tile the map item is at and some surrounding tiles?
I think terrain should be fairly straightforward--forest tile in Aggressors means a random forest map in FOG2, Hill tile in Aggressors means a random hilly map in FOG2, etc. But I might need to tweak this simple concept because even a forest map in FOG2 is pretty open and generally does not really present a major problem to a heavy foot army. Depending on how many battles there would actually be, it might also be possible to manually create the necessary FOG2 maps for particular battlefields, but that raises other issues. The bottom line is to figure out how to create maps that ensure that if a heavy foot army attacks into a forest or mountain hex, things might end badly for it.
Cablenexus wrote: Wed Sep 12, 2018 5:07 am - Did you think about generals? How will they be represented in army lists or in Aggressors? Are they a unit type on their own?
Have not considered this at all yet, thanks for raising it. My initial assumption is that each army will have an inherent commander, and players will get another subordinate general for every X number of army points. Since there are not really commander "ratings" in FOG2 or Aggressors, I'm not sure that it will be important to track individual generals, although it could add a cool role-playing element. Also need to consider whether there should be effects if the overall commander (ie, the player!) is killed in a FOG2 battle--that would be cool as well--players should be a bit fearful before committing their empires to war and their armies to battle! Hmmmm....
Cablenexus wrote: Wed Sep 12, 2018 5:07 am Eventually you can go as detailed as you want by only assigning techs that are bound to specific unit types and/or unit bahaviors (unit improvements). Also assigning the exact unit types per tribe should be possible to do even with the exact army names and sizes/scale.
Sorry, don't understand this--I could use the exact army list name in the ag file?
Cablenexus wrote: Wed Sep 12, 2018 5:07 am - As for army points. I think this should be a combination of produce costs for tech/units, unit upgrades etc in Aggressors, translated somehow to the costs of army points in FOG. For example you might think of some calculation to translate Aggressors Gold, iron and citizen resources (all needed to produce units) to FOG army points.
Yeah, this is pretty much what I had in mind. Also would need to consider which Aggressors upgrades to keep and which to discard. Then would have to figure out how to translate those upgrades into FOG terms. Another requirement would be to upgrade/downgrade the quality of FOG units to match the morale and experience of units in Aggressors (in other words, if an Aggressors "Roman" army in fact has poor morale and low experience, the "Roman" army selected in FOG would need to be downgraded to match (instead of having the usual bunch of superior legions available in a FOG2 Roman list).
Cablenexus wrote: Wed Sep 12, 2018 5:07 am -Keep in mind that the 3 tiles max is not hardcoded. You can eventually combine 15 armies if you want. But you can also choose to go another way. That one unit in Aggressors represent a complete armylist.
Understood, I just think--for now at least--that it would be easiest to allow one army per tile to fight. You can have a couple more in the tile (a separate garrison, maybe a separate detachment passing through the hex, etc. I haven't actually played Aggressors yet, but don't really care for the one-by-one combat mechanic.
Cablenexus wrote: Wed Sep 12, 2018 5:07 am Feel free to share scenario.ag and mod.ag files (even in early state) zipped here on the forum, or provide us a shared dropbox link.
(It's much easier that way to give some helpful suggestions eventually).
Thanks much. Haven't actually even bought the game yet because I'm currently travelling, but will do so once I get there!
Cablenexus wrote: Wed Sep 12, 2018 5:07 am Maybe start with a simple 2 player setup in Aggressors for testing purposes and experiment. (Also because this project seems very ambitious. I don't know your skills of course, but everything mentioned is really advanced stuff. Don't take it lightly or you will give up soon. I don't say it can't be done, but you will find out that scripting can be needed for example for the calibrated production costs you mentioned).
Of course. I've played around with Visual Basic and C# before, and while I have little programming experience, I'm confident that I can figure it out. For the first few months this thread will be mainly conceptual, to figure out what to implement--figuring out how to implement it will come a bit later.
Cablenexus wrote: Wed Sep 12, 2018 5:07 am Ask some FOG players who also own Aggressors and vice versa to particpate, help testing/give feedback eventually. Make a suggestion thread in both FOG II and Aggressors Steam modding subforums and in FOG slitherine mod subforum (maybe yuo have already, please share).
Will do, although I'd like to put more of my thoughts down here before putting something on the FOG forum.

One more question--as mentioned, I don't actually have the game yet, so can't check, but I've assumed that the scenario and save game files are in some kind of XML format--is that correct? If so, I guess I will also need to create some kind of front-end to read/edit the XML files to make things easier. I've already been looking into how to do this with C# for another project.

Thanks much for your thoughts so far!
76mm
Lieutenant Colonel - Panther D
Lieutenant Colonel - Panther D
Posts: 1276
Joined: Tue Feb 09, 2010 12:08 pm

Re: The FOG2 Campaign Thread

Post by 76mm »

Another thing I would like to implement--a potential random event representing the rise of a religious or ideological movement, or slave rebellion with the potential to sweep away existing empires (basically similar to the rise of Islam or a Spartacus-type event). Maybe within certain time windows give a random chance of a normal insurrection mutating into a "jihad"-type situation, with cities and armies potentially deserting to it and sweeping all before it--until it is stopped.

I'm sure this would all be complicated to program, but would be really cool!
Cablenexus
Sr. Colonel - Battleship
Sr. Colonel - Battleship
Posts: 1691
Joined: Mon Jan 04, 2016 7:09 pm

Re: The FOG2 Campaign Thread

Post by Cablenexus »

76mm wrote: Wed Sep 12, 2018 5:52 am Another thing I would like to implement--a potential random event representing the rise of a religious or ideological movement, or slave rebellion with the potential to sweep away existing empires (basically similar to the rise of Islam or a Spartacus-type event). Maybe within certain time windows give a random chance of a normal insurrection mutating into a "jihad"-type situation, with cities and armies potentially deserting to it and sweeping all before it--until it is stopped.

I'm sure this would all be complicated to program, but would be really cool!
There is no need to program any of these. It's all possible in the ag files itself. It for example possible to let (random) events happen on certain times, you can assign objectives with rewards and you can use the winning conditions.

All is possible in XML and script files can be opened and edit in even Notepad, Notepad ++
I prefer to use Visual Studio (2013,2015, 2017 doesn't really matter) since you can open and edit XML files and use the Aggressors SDK for scripting (SDK comes with the game).
76mm
Lieutenant Colonel - Panther D
Lieutenant Colonel - Panther D
Posts: 1276
Joined: Tue Feb 09, 2010 12:08 pm

Re: The FOG2 Campaign Thread

Post by 76mm »

Cablenexus wrote: Wed Sep 12, 2018 2:49 pm There is no need to program any of these. It's all possible in the ag files itself. It for example possible to let (random) events happen on certain times, you can assign objectives with rewards and you can use the winning conditions.
Yeah, but this is not just a random event, but a random event with a series of consequences (increased chance of cities and armies deserting, etc.)...but let me see how normal insurrections work first, maybe it will work as is...
Cablenexus wrote: Wed Sep 12, 2018 2:49 pm All is possible in XML and script files can be opened and edit in even Notepad, Notepad ++
I prefer to use Visual Studio (2013,2015, 2017 doesn't really matter) since you can open and edit XML files and use the Aggressors SDK for scripting (SDK comes with the game).
Yeah, I've got Notepad++ and Visual Studio but am hoping to create a more user-friendly front-end, I don't think it would be very complicated, but haven't actually done it yet. Have never worked with an SDK so will need to play around with that.

Thanks much for your tips!
Post Reply

Return to “Aggressors Modding”