Recently I had to relax, was playing Fallout 3, and realized that when you hack terminals in the game, you follow the same algorithm. So I wrote a tiny tool that will walk you through hacking. It should get it every time. I think.
78 responses to “Terminal Hacking Tool For Fallout 3”
Leave a Reply
Thank you so much I was trying to blow up the brotherhood of steel compound and the terminal was vary hard. After trying countless times just guessing this solved it in 3 try’s. Again thank you.
I’m not exactly sure how your algorithm works, but I believe the one I wrote is significantly better (I’m not going to bother hosting it anywhere) and since yours is the first to come up on google for ‘fallout hacking’ thought I’d offer it up if you wanted to improve yours or for anyone else.
If anyone wants the code as a full c# function email me: OZBNGQHNQDES removethis @spammotel.com
Heres the part after finding the Valid Matches.
Pseudo-code:
For each word, count how many matches it has for each other word, keeping track of the number of 2 letter matches, number of 3 letter matches, etc
Square each of those counts, average the non-zero values, take the words with the lowest values
-This will make it try to find a word that reduces the count the most, because knowing the match count of it will distribute them into the most smallest buckets
In my limited testing it cuts it down to at most 4 or 5 after the first word, where yours often came up with 7 after the first.
Written in C#, what I think is optimized so probably not super obvious to most people:
int[][] matrixCount = new int[ValidMatches.Count][];
for (int i = 0; i < ValidMatches.Count; ++i) matrixCount[i] = new int[MaxWordLenth];
for (int i = 0; i < ValidMatches.Count; ++i)
{
for (int j = i + 1; j < ValidMatches.Count; ++j)
{
//Filling out the matrix of matching with the least looping
int SamePositionCount = SamePositionL(ValidMatches[i], ValidMatches[j]);
matrixCount[i][SamePositionCount]++;
matrixCount[j][SamePositionCount]++;
}
var ThisWordsValuesNotZero = matrixCount[i].Where(q => q > 0);
//Calculate the average of the squared values (This is to make the lowest average have the smallest "buckets")
double ThisAvg = ThisWordsValuesNotZero.Count() > 0 ? ThisWordsValuesNotZero.Average(q => q * q) : 0.0;
if (BestAvgDistributionCount > ThisAvg)
{
BestAvgDistributionCount = ThisAvg;
BestAvgDistributionWords = new List<string>();
}
if (ThisAvg == BestAvgDistributionCount)
{
BestAvgDistributionWords.Add(ValidMatches[i]);
}
}
As much as I like to do it manually your tool has saved my bacon a few times!
Just wanted to say thanks for publishing the Terminal Hack tool.
thak you so much i can t belive it works i was trying to gain entrance to vault 87 in little lamp light and i did it
This work in Fallout: New Vegas. Thanks.
I don’t often look up guides on how to hack Fallout 3 terminals, but when I do, I use Medium Exposure
Maxim, this thing has failed me twice. In the entire time I’ve been playing Fallout 3 and NV, out of all the hacked terminals, there has only been two times I have double checked all my spelling and it was unable to find a solution. Cheers to an invaluable tool that has saved me countless hours of old save reload time, and has taken some strain of my brain. You figure nothing’s perfect and 2 Wrong out of hundreds is pretty damn accurate. Thanks, J-HxC
I am surprised there are so many positive comments because something in the code is backwards; it chooses the LEAST OPTIMAL path!!! For example, input these 13 words:
viral dared wires lines lives sorts agree mines likes parts harem lined warns
If you first try “lined”, there can be 0, 1, 2, 3 or 4 matches, and the remaining possibilities will be at most 3. If you first try “wires”, as this tool tells you to do, there can only be 2 or 3 matches, and the remaining possibilities will be (assuming wires is not correct) 5 or 7. Compare this with http://hackfallout.analogbit.com/ and see for yourself.
DERP!
This thing is amazing, no terminal is safe lol
You are credit to team!