Tutorial for a custom mapping program

This is a program that is provided by Timmytimmy123123123 in order to make mapping visualization easier and more realistic. This tutorial will cover what the application does and how to use it. Download link is Currently unavailable.

When you first boot up.
 This is the main screen. This screen contains all the countries that you've created in the Country Creator.



Don't think of the "Turns: " counter as a slide counter. The "Turns: " counter is supposed to represent a more realistic timescale.



After adding some countries.
After adding some countries to this application, it will look something like this.

No turns have passed yet, and you might notice that the Military, Wealth and Technology squares are all empty.

The reason for this is because the country will create a military after it has completed its first turn. This is because most countries don't see a military as a primary objective at first.



Now, about Wealth and Technology.

Wealth is gathered every turn after the population has reached a certain treshold. After that treshold has been passed, the countries will receive income in the form of tax. This tax is dependent on the current population and on the Internal Attitude.

Technology is gathered every few in the form of research points. Each country has a set amount of research points that they can generate per turn. This research point amount is dependent on the Internal Attitude and the Goals of the country, especially if the country has a Technology goal.

The Country Creator
 This is the Country Creator. As its name suggests, it's used to create countries from scratch.

 Country Name: The name of the country. You can't create mutliple countries with the same name.

Country Population: The population that the country will start with. This can't be less than 100.

<p data-parsoid="{"dsr":[2896,3017,0,0]}">Country Size: The size of the country. This can't be less than 100.

<p data-parsoid="{"dsr":[3019,3134,0,0]}">

<p data-parsoid="{"dsr":[3019,3134,0,0]}">

<p data-parsoid="{"dsr":[3517,3517,0,0]}">The Country Attitude, Foreign Attitude and Country Goals only provide some minor tweaks to the way the country works.

<p data-parsoid="{"dsr":[3517,3517,0,0]}">

The War Overview
<p data-parsoid="{"dsr":[3715,3792,0,0]}">This is where the War Overview comes in, which will look something like this. <p data-parsoid="{"dsr":[3914,4011,0,0]}"> Shown in this picture, Country 1(Attacker) and Country 2(Defender) are currently at war with each other.

<p data-parsoid="{"dsr":[3914,4011,0,0]}">

<p data-parsoid="{"dsr":[4015,4238,0,0]}">Adding a new war is very easy. Just select 2 countries to be the warleaders. After the 2 countries are selected, a new war will be created.

<p data-parsoid="{"dsr":[4242,4386,0,0]}">After the war has been created, it will show up in the Warlist comboBox. The Warlist comboBox currently shows "The Country 1-Country2 War.".

Calculations for Military Size
<p data-parsoid="{"dsr":[4502,4720,0,0]}">The calculations for the military casualties in wars.

<p data-parsoid="{"dsr":[4502,4720,0,0]}">

<p data-parsoid="{"dsr":[4724,4797,0,0]}">The code for the calculations in military loss in the wars is as follows.

//f(x) = 10 +(((30-10)/(5-0))x) //f(x) = 10 + 4x if (Countrylist[i].CurrentWarStatus == Country.WarStatus.Attacking) {    double StandardCalc = (Countrylist[i].SoldierCount - (AllWars[Countrylist[i].CurrentWar].DefendSoldiers / AllWars[Countrylist[i].CurrentWar].Attackers.Count)); double TechIncrease = (10 + (4 * (AllWars[Countrylist[i].CurrentWar].DefenseWarLeader.Technology - Countrylist[i].Technology))); try {    if (Countrylist[i].Technology < AllWars[Countrylist[i].CurrentWar].DefenseWarLeader.Technology && Countrylist[i].Technology * Math.Floor((100.0 - 10) / 4) > AllWars[i].DefenseWarLeader.Technology) {        Countrylist[i].SoldierCount = (StandardCalc / (100 / TechIncrease)); }        else if (Countrylist[i].Technology < AllWars[Countrylist[i].CurrentWar].DefenseWarLeader.Technology && Countrylist[i].Technology * Math.Floor((100.0 - 10) / 4) < AllWars[i].DefenseWarLeader.Technology) {            Countrylist[i].SoldierCount = StandardCalc; }        else {            Countrylist[i].SoldierCount = (StandardCalc / (100 / 10)); }    }     catch (DivideByZeroException) {        Countrylist[i].SoldierCount = (StandardCalc / (100 / 10)); } } else if (Countrylist[i].CurrentWarStatus == Country.WarStatus.Defending) {    double StandardCalc = (Countrylist[i].SoldierCount - (AllWars[Countrylist[i].CurrentWar].AttackSoldiers / AllWars[Countrylist[i].CurrentWar].Defenders.Count)); double TechIncrease = (10 + (4 * (AllWars[Countrylist[i].CurrentWar].AttackWarLeader.Technology - Countrylist[i].Technology))); try {        if (Countrylist[i].Technology < AllWars[Countrylist[i].CurrentWar].AttackWarLeader.Technology && Countrylist[i].Technology * Math.Floor((100.0 - 10) / 4) > AllWars[i].AttackWarLeader.Technology) {            Countrylist[i].SoldierCount = (StandardCalc) / (100 / TechIncrease); }        else if (Countrylist[i].Technology < AllWars[Countrylist[i].CurrentWar].AttackWarLeader.Technology && Countrylist[i].Technology * Math.Floor((100.0 - 10) / 4) < AllWars[i].AttackWarLeader.Technology) {            Countrylist[i].SoldierCount = StandardCalc; }        else {            Countrylist[i].SoldierCount = (StandardCalc / (100 / 10)); }    }     catch (DivideByZeroException) {        Countrylist[i].SoldierCount = (StandardCalc / (100 / 10)); } }

<p data-parsoid="{"dsr":[5314,5422,0,0]}">This roughly translates to NewMilitarySize = (OldMilitarySize - ((TotalMilitaryOpposition / TeamSize) / (10 + (4 * (EnemyWarleaderTechnology - CountryTechnology))). This is the simplified version of the calculation. Please refer to the code for the full picture, which includes the logic circumstances.

<p data-parsoid="{"dsr":[4502,4720,0,0]}"> Example:

<p data-parsoid="{"dsr":[5424,5603,0,0]}">This means if the country has a Military Size of 500.000, a technology of 3 and 3 allies in the war, and the opposition has a combined Military Size of 5.000.000 and the warleader has a technology of 6, the equations would be as follows.

<p data-parsoid="{"dsr":[5605,5686,0,0]}">NewMilitarySize = (OldMilitarySize - ((TotalMilitaryOpposition / TeamSize) / (10 + (4 * (EnemyWarleaderTechnology - CountryTechnology))))

<p data-parsoid="{"dsr":[5690,5716,0,0]}">OldMilitarySize = 500.000.

<p data-parsoid="{"dsr":[5718,5754,0,0]}">TotalMilitaryOpposition = 5.000.000.

<p data-parsoid="{"dsr":[5756,5774,0,0]}">TeamSize = (3 + 1)

<p data-parsoid="{"dsr":[5756,5774,0,0]}">EnemyTechnology = 6

<p data-parsoid="{"dsr":[5756,5774,0,0]}">CountryTechnology = 3

<p data-parsoid="{"dsr":[5756,5774,0,0]}">

<p data-parsoid="{"dsr":[5779,5860,0,0]}">NewMilitarySize = (OldMilitarySize - ((TotalMilitaryOpposition / TeamSize) / (10 + (4 * (EnemyWarleaderTechnology - CountryTechnology))).

<p data-parsoid="{"dsr":[5862,5914,0,0]}">NewMilitarySize = (500.000 - ((5.000.000 / 4) / (10 + (4 * (6 - 3))).

<p data-parsoid="{"dsr":[5916,6012,0,0]}">This would give the country a loss of 499.500 troops. So the new Military Size would be 500.

<p data-parsoid="{"dsr":[5916,6012,0,0]}">

Graphs
<p data-parsoid="{"dsr":[6040,6040,0,0]}">

<p data-parsoid="{"dsr":[6041,6230,0,0]}">If you want to see the change over time in Population, Military SIze, Country Size, Wealth and Technology, you can do that at the Graphs screen. The graph screen looks something like this. <p data-parsoid="{"dsr":[6340,6473,0,0]}">There's nothing to say about the graphs screen, since the only interaction you can do with it is changing the index of the comboBox.

<p data-parsoid="{"dsr":[6475,6475,0,0]}">

<p data-parsoid="{"dsr":[6696,6696,0,0]}">

Some final words about this application.

 * Please bear in mind that this application is still in the beta version. Any bugs and glitches will probably be fixed in the final version. However, finding bugs and glitches by myself is very hard. Especially since there so many combinations of different controls to interact with, and it's almost impossible to test them all by myself to spot the bugs. So, if you do encounter some bugs or glitches, please don't ignore them, and provide information how to the replicate the glitch/bug. This is much more appreciated than simply saying "It crashes!".
 * This application isn't ment to be a strict set of rules to follow. This application is just ment to be a guideline or a help for when you are stuck and don't know what to do. You are still free to make the mapping videos in any way that you see fit.