Tech Tree Java App - Updated 12/9/10

Research and Development in the SotS universe.
Post Reply
User avatar
Arkalius
Posts: 441
Joined: Tue Jun 20, 2006 6:06 am

Re: Tech Tree Java App - Updated 12/9/10

Post by Arkalius » Sun Dec 12, 2010 8:47 pm

OK, I just wish I knew how to acces the data from the game files the way you did. As it is, I don't know how it could be done, so no idea that it would be harder.


Getting the data is easy. The sots.gob and sots_local_en.gob files are just zip files. The MasterTechList.tech file contains all of the tech link probability information and the localization gob file has the strings.csv which has the names and descriptions of everything.

I was thinking of writing my own tree generation simulation using the data from the game and then running it a large number of times to get experimental data. I can't be sure it will run the same way the game does it because I don't know how the game does it. It's also not going to be easy... but at this point I want to try to so I can use it to verify any calculation methods I come up with.

Just saying that when calculating the probability of having projectors when coming from Meson beam and of having Meson beam without a direct link is more complex - it reduces probabilities along the way, doesn't factor the plain original probabilities for those techs.


I don't understand what you mean here.

Imagine there was a 100% leading from fusion cannon to fusion projector and you didn't get fusion projector. That would cut the cannon line leading to Antimatter projector, clearly reducing its probability. What might be less obvious is that, as it is, it still reduces that probability, to a lesser degree (and I would have to improvise a formula for that, don't know for sure what it is).


I understand what you're saying. If you don't have fusion projector, then the chances of getting AM projector are reduced by more than just the fact that one of its parents is missing. The fact that fusion projector is not there increases the chance that fusion cannon isn't there (as that is one of the possible reasons fusion projector is missing) and if that is the case, AM projectors are unattainable.

I'm thining of creating a proportional relation that increases or decreases the likelyhood of a tech not being there based on the probability of another tech coming out of it, that you don't get.


Well if you want to do that, that's fine, but it's not relevant to my application. I only intend to provide an overall percentage of a particular tech being available to each race per game. What you're doing is trying to modify these percentages based on having or not having certain techs. That's beyond the scope of what I'm trying to do.

For example, if Fusion cannon is overall 80% and Fusion Projector came from it at 50% (it's actually 45), not getting Fusion Projector would halve the chance you get Fusion Cannon, reducing its likelyhood to 40% (this is based on the idea that at 100%, it cuts the likelyhood alltogether).


Your math is wrong here. Indeed, if fusion projector was 100% coming from fusion cannon (and had no other unmet requirements), and you don't have fusion projector, then you know you don't have fusion cannon. But, the numbers you calculated are wrong. Let's go with the 50% value for the link in your scenario. There 3 possibilities:

[*]You have both fusion cannon (80%) and fusion projector (50%) -> 40% overall
[*]You have fusion cannon (80%) and not fusion projector (50%) -> Another 40% overall
[*]You have neither of these -> 20%

Those percentages add up to 100% as they should. Now, if it is given that you do not have fusion projector, then you're talking about 40+20 = 60% of the scenario. In 20% of the overall scenario, you also don't have fusion cannon, so if it is given that you don't have the projector, there is a 20%/60% = 33% chance that fusion cannon is also missing, meaning that, given a lack of the projector, you have a 67% of having fusion cannon, not 40% as you mentioned above.

Anyway, I took a shot at writing a new probability calculation method last night and it turned out to be way wrong. It's all rather frustrating trying to figure out the best way to do this. Trying to algorithmically understand dependencies with this complex tree is really difficult, especially considering I'm not even sure how to do it manually. I just wonder how wrong my current method actually is... the AI Virus situation was the only place I've seen so far that was obviously wrong by just looking at the numbers. I think I'll have to write this simulation system to give myself a baseline for comparison... of course I have to be sure the simulation is itself accurate too. So much complexity...
-Arkalius

Check out my SotS2 tech tree java app!
For the SotS prime player, grab the original tech tree java app.

User avatar
Mecron
Kerberos
Posts: 38312
Joined: Fri Aug 05, 2005 7:26 pm

Re: Tech Tree Java App - Updated 12/9/10

Post by Mecron » Mon Dec 13, 2010 2:48 am

Its like Stats 350 gone horribly wrong. :wink:

User avatar
Arkalius
Posts: 441
Joined: Tue Jun 20, 2006 6:06 am

Re: Tech Tree Java App - Updated 12/9/10

Post by Arkalius » Mon Dec 13, 2010 7:44 am

Mecron wrote:Its like Stats 350 gone horribly wrong. :wink:


It's all your fault Mecron! You just had to go and make your game with it's complicated random tech tree! I demand a free copy os SotS 2 as compensation for all the pain and suffering this has caused me! :thumbsup:
-Arkalius

Check out my SotS2 tech tree java app!
For the SotS prime player, grab the original tech tree java app.

BlueEagle
Posts: 36
Joined: Wed Dec 08, 2010 9:35 am

Re: Tech Tree Java App - Updated 12/9/10

Post by BlueEagle » Mon Dec 13, 2010 10:22 am

Arkalius wrote:
Just saying that when calculating the probability of having projectors when coming from Meson beam and of having Meson beam without a direct link is more complex - it reduces probabilities along the way, doesn't factor the plain original probabilities for those techs.


I don't understand what you mean here.


I was incorrect: you may or not have both links.

I understand what you're saying. If you don't have fusion projector, then the chances of getting AM projector are reduced by more than just the fact that one of its parents is missing. The fact that fusion projector is not there increases the chance that fusion cannon isn't there (as that is one of the possible reasons fusion projector is missing) and if that is the case, AM projectors are unattainable.


If not having Fusion projector reduces Fusion cannon probability, then that reduces Antimatter cannon probability which reduces Antimatter projector probability - and that is more than just cutting the link from Fusion projector to Antimatter projector.

The AM projector is not unattainable, just has its probability reduced from standard, on both parent links (one cut, one reduced), and only so for our calculation to see if we have a projector or not.

This is all for determining wether you have at least one projector, eliminating the three key projectors one by one (Plasma, Fusion and Antimatter). Eliminating the Plasma projector doesn't reduce anything other than cutting one of the Fusion projector's links (at the same time, it leaves you with a single link to consider, the one from Fusion cannon, wich provides a direct reduction to Fusion cannon if you don't have Fusion projector).

In 20% of the overall scenario, you also don't have fusion cannon, so if it is given that you don't have the projector, there is a 20%/60% = 33% chance that fusion cannon is also missing, meaning that, given a lack of the projector, you have a 67% of having fusion cannon, not 40% as you mentioned above.

I agree :D

EDIT : For most techs you are not wrong (where we got the same thing, unlikely we were both wrong). A few seem to have slightly drifted probabilities (others are, maybe, drifted for me), though dependant techs are an issue for me as well :roll: , manual calculations or not.

BlueEagle
Posts: 36
Joined: Wed Dec 08, 2010 9:35 am

Re: Tech Tree Java App - Updated 12/9/10

Post by BlueEagle » Wed Dec 15, 2010 8:50 am

I calculated the probability for Meson Projector this morning. Took me over an hour and a half :D

Human....16.4724
Hiver.......2.4908
Tarka.......4.3522
Liir........70.7862
Zuul.........0.0405
Morrigi....49.6784

Leading to it from Antimatter projector, with the condition of having Meson beam: 2.2848 0.5250 0.8960 36.2232 0.0048 18.9378

Leading to it from Meson beam, with the condition of having any projector: 14.5193 1.9762 3.4875 54.1937 0.0357 37.9222

Here are the Matlab calculations. A bit long to post, but the only way to prove anything. I must mention that I take the base Antimatter projector and Meson beam probabilities from my original image, and they are the same as Arkalius'.

PP1=60;
PP2=30;
PP3=50;
PP4=80;
PP5=20;
PP6=70;

FP1=36;
FP2=17.5;
FP3=32;
FP4=72;
FP5=10;
FP6=40;

FC1=100 - (20/(20+(80-36))*100);
FC2=100 - (30/(30+(70-17.5))*100);
FC3=100 - (20/(20+(80-32))*100);
FC4=100 - (10/(10+(90-72))*100);
FC5=100 - (50/(50+(50-10))*100);
FC6=100 - (20/(20+(80-40))*100);

AC21=FC1*70/100;
AC22=FC2*60/100;
AC23=FC3*60/100;
AC24=FC4*90/100;
AC25=FC5*40/100;
AC26=FC6*70/100;

AC11=30.2;
AC12=27.9;
AC13=58.5;
AC14=72.2;
AC15=7.4;
AC16=63.1;

AC1 = ((100-AC11)*AC21/100 + AC11 );
AC2 = ((100-AC12)*AC22/100 + AC12 );
AC3 = ((100-AC13)*AC23/100 + AC13 );
AC4 = ((100-AC14)*AC24/100 + AC14 );
AC5 = ((100-AC15)*AC25/100 + AC15 );
AC6 = ((100-AC16)*AC26/100 + AC16 );

AP1=AC1*25/100;
AP2=AC2*15/100;
AP3=AC3*20/100;
AP4=AC4*80/100;
AP5=AC5*10/100;
AP6=AC6*50/100;

aux= ((100-PP1)*FP1/100 + PP1 );
Prpr1= ((100-aux)*AP1/100 + aux );

aux= ((100-PP2)*FP2/100 + PP2 );
Prpr2= ((100-aux)*AP2/100 + aux );

aux= ((100-PP3)*FP3/100 + PP3 );
Prpr3= ((100-aux)*AP3/100 + aux );

aux= ((100-PP4)*FP4/100 + PP4 );
Prpr4= ((100-aux)*AP4/100 + aux );

aux= ((100-PP5)*FP5/100 + PP5 );
Prpr5= ((100-aux)*AP5/100 + aux );

aux= ((100-PP6)*FP6/100 + PP6 );
Prpr6= ((100-aux)*AP6/100 + aux );

MB1=33.6;
MB2=21;
MB3=14;
MB4=64.8;
MB5=1.2;
MB6=56.7;

% not having ";" at the end of a line displays the result

MP11=6.8*MB1/100
MP12=2.5*MB2/100
MP13=6.4*MB3/100
MP14=55.9*MB4/100
MP15=0.4*MB5/100
MP16=33.4*MB6/100

MP21=18.5*Prpr1/100
MP22=4.2*Prpr2/100
MP23=4.9*Prpr3/100
MP24=55.1*Prpr4/100
MP25=0.12*Prpr5/100
MP26=42.5*Prpr6/100

MP(1)= ((100-MP11)*MP21/100 + MP11 );
MP(2)= ((100-MP12)*MP22/100 + MP12 );
MP(3)= ((100-MP13)*MP23/100 + MP13 );
MP(4)= ((100-MP14)*MP24/100 + MP14 );
MP(5)= ((100-MP15)*MP25/100 + MP15 );
MP(6)= ((100-MP16)*MP26/100 + MP16 );

% display Meson projector probabilities as a line of numbers :
MP

User avatar
Arkalius
Posts: 441
Joined: Tue Jun 20, 2006 6:06 am

Re: Tech Tree Java App - Updated 12/9/10

Post by Arkalius » Tue Dec 21, 2010 4:59 am

I'm not sure I really want to read through all of that... and I'm not sure how much it might help if it is correct.

Anyway, my computer is on the fritz and probably won't get fixed for a little bit so any future development is going to have to wait for awhile.
-Arkalius

Check out my SotS2 tech tree java app!
For the SotS prime player, grab the original tech tree java app.

BlueEagle
Posts: 36
Joined: Wed Dec 08, 2010 9:35 am

Re: Tech Tree Java App - Updated 12/9/10

Post by BlueEagle » Tue Jan 04, 2011 7:59 am

Arkalius wrote:I'm not sure I really want to read through all of that... and I'm not sure how much it might help if it is correct.

Anyway, my computer is on the fritz and probably won't get fixed for a little bit so any future development is going to have to wait for awhile.


:( I just realised that my final calculation with Meson Projector is wrong, seeing as the liir have a higher probability of having the MP than Meson beam. And I suppose the reason for that is that I didn't reduce probability of having the Meson Projector in not having a direct link from Meson beam (same for AM projector). In any case, your latest version might be getting it right. I'll have to redo the final step.

User avatar
Filippe999
Posts: 42
Joined: Thu Jun 28, 2012 2:44 pm

Re: Tech Tree Java App - Updated 12/9/10

Post by Filippe999 » Sat Jun 30, 2012 12:57 am

What about highlitghtining the actual research branch you're looking at? for example i have Arcology Construction selected, so a line goes to magnoceramic lattices, which continues to polysilicate alloys, orbital foundries, waldo units and the inicial tree in which the tech is contained in, industrial, it will easy to see what you must do get that tech, or also even these researches listed in a new option below.
a More advanced suggestion is, that the program could calculate a research path in which you have the most chance of geting that tech up, in each race.
“To consider the Earth as the only populated world in infinite space is as absurd as to assert that in an entire field of millet, only one grain will grow.” - Metrodorus of Chios (400BC)

“If two ships are enough to do the job; bring ten.” - Steel

Sypcho-Pat
Posts: 9
Joined: Wed Oct 01, 2014 8:36 pm

Re: Tech Tree Java App - Updated 12/9/10

Post by Sypcho-Pat » Wed Oct 29, 2014 2:18 pm

how to modify the game to unlock all the tech tree
for all races
thank you

ZedF
Board Ninja
Board Ninja
Posts: 12397
Joined: Sun Aug 27, 2006 7:13 pm

Re: Tech Tree Java App - Updated 12/9/10

Post by ZedF » Wed Oct 29, 2014 10:46 pm

Check the modding forum
Zed's TARs (sample):
Fractious Allies -- Hiver vs. Hiver, with allies
Who Let The Bugs Out -- Hiver vs. Tarka and Zuul
Tarka Ascendant -- Tarka vs. Hiver and Zuul

Strategy & Tactics Forum Archive -- More posts on strategy, tactics, and TARs

Post Reply

Return to “The Tech”

Who is online

Users browsing this forum: No registered users and 1 guest