How to quickly traverse the map for the hidden achievement "You've played this before"

How to quickly traverse the map for the hidden achievement "You've played this before"

Introduction

As you've probably seen in other guides, there is a hidden achievement in this game called "You've Played this before" for photographing the node found on the top right corner. You can acquire all the achievements in the game in one play-through, or very quickly when restarting the game (and there are plenty of other guides that explain how, so I will not spend any time here going over it). But if you left the top right node for last on your first play-through (as I did) the only way to get the photo for this achievement is to go through the whole game again without taking pictures of more than 7 other nodes. This is because the game is scripted so that when you are in position to take your last photo (regardless of which order you took them in), you get unceremoniously eaten by a massive fish. In other words, once you have taken any 8 pictures of nodes on your map, it is impossible to take the last picture without being eaten. If replaying through the game sounds tedious (or scary?) to you, then you've come to the right place. In this guide, I will be going over how to quickly get from the start of the game to the last node without having to spend any time calculating bearings or even checking your map. Then, for those who are interested, I will be explaining how I got these results and how to generalize my method for getting to any other place.

Navigating The Map


How to quickly traverse the map for the hidden achievement "You've played this before" image 3
How to quickly traverse the map for the hidden achievement "You've played this before" image 4

Using the table below, first place your submarine at the first coordinates and angle listed, then simply hold the forward button until you reach the next coordinates, then rotate the sub to face the new angle listed and repeat.

Note that the angle listed is the angle needed to reach the points on the next row, not the angle to get to the points on that row.

For the most part these coordinates should be pretty loose, and you can probably get away with being within 1 degree of what is listed (although maybe less so for the longer stretches and the tighter areas). If you want to be safe, I would try to stick as close to angles listed as possible.

x y angle 182.3 116.71 354.99 175 200 90.0 300 200 38.66 360 275 16.7 375 325 90.0 562 325 0.0 562 513 270.0 385 513 331.61 365 550 0.0 365 563 10.97 390 692 90.0 575 692 19.65 600 762 80.17 675 775 0.0 675 828 0.0

For reference, this is where each coordinate is on the map:

How To Map Own Your Own Trajectory


How to quickly traverse the map for the hidden achievement "You've played this before" image 11

If all you care about is getting to the achievement, you can skip this section as it's just additional information on how I got the coordinates above. In fact, if you skip this section you might as well skip the conclusion since that section is also not about how to get the achievement. But I figured I would add this part in case someone was interested in creating a trajectory like the one I made for reaching other points on the map.

First things first, you are going to want to look at the map and find a list of coordinates you want to go through. I recommend making something similar to the map that I showed above with the coordinates marked as dots (I filled in the section that is normally missing using a map found in a development screenshot so feel free to do the same).

Once you have your list of coordinates, and you are sure there is no obstacle between two adjacent coordinates you can add them to the following python code under the part labelled "# ADD YOUR COORDINATES HERE:" using the specified format. Remember to remove the example coordinates already there.

import math

def calculate_bearing(x1, y1, x2, y2):

"""

Calculates the bearing (in degrees) between the point (x1,y1) and (x2,y2) on a 2D grid.

>>> calculate_bearing(0,0,1,0)

90.0

"""

delta_x = x2 - x1

delta_y = y2 - y1

angle_rad = math.atan2(delta_x, delta_y)

angle_degrees = math.degrees(angle_rad)

bearing = (angle_degrees + 360) % 360

return bearing

def find_trajectory(coords: list[tuple[float]]) -> list[dict[str, float]]:

"""

Returns a list where each entry is a dictionary representing a point on a map

where "x" and "y" correspond to the x and y coordinates respectively and "angle" corresponds to the bearing to

get to the next point

>>> find_trajectory([(0,0),(0,1),(1,0)]) == [{'x': 0, 'y': 0, 'angle': 0.0},{'x': 0, 'y': 1, 'angle': 135.0},{'x': 1, 'y': 0, 'angle': 0.0}]

True

"""

results = []

for i in range(0, len(coords) - 1):

coord = coords[i]

next_coord = coords[i + 1]

coord_info = {}

coord_info["x"] = coord[0]

coord_info["y"] = coord[1]

coord_info["angle"] = calculate_bearing(coord[0], coord[1], next_coord[0], next_coord[1])

results.append(coord_info)

results.append({"x": coords[-1][0], "y": coords[-1][1], "angle": 0.0})

return results

def dispay_trajectory(trajectory: list[dict[str,float]]) -> None:

"""Prints the trajectory generated in the format of find_trajectory"""

for point in trajectory:

print(f'x:{round(point["x"],2)}, y:{round(point["y"],2)}, angle:{round(point["angle"],2)}')

my_path = [

# ADD YOUR COORDINATES HERE:

# (<x-coordinate>, <y-coordinate>)

(182.30, 116.71),

(175, 200),

(300, 200),

(360, 275),

(375, 325),

(562, 325),

(562, 513),

(385, 513),

(365, 550),

(365, 563),

(390, 692),

(575, 692),

(600, 762),

(675, 775),

(675, 828)

]

dispay_trajectory(find_trajectory(my_path))

You can then use any python compiler to run the program and it should display a list of coordinates and angles like the ones found on this guide. Pretty neat no? If you aren't sure what a compiler [en.wikipedia.org] is, that's ok, you don't really need to know. Just go to this link: https://www.programiz.com/python-programming/online-compiler/ and follow the instructions in red:

Conclusion

Ok I was planning on just copy pasting the coordinates/ angles I used to get this achievement but this ended up taking a lot of time and including way more detail then necessary. In fact, while this started with me not wanted to spend too much time replaying the game, I think I probably spent more time putting this together then I would have just playing normally. Anyways, I hope you got something out of this guide, I know I certainly gained a new appreciation for this wonderful game. If you are interested in seeing an expanded guide where I use this program to find a speed running path for the game let me know. You can also let me know if you find any mistakes or typos. Otherwise I hope you enjoyed and have fun exploring the blood oceans!

Source: https://steamcommunity.com/sharedfiles/filedetails/?id=2999612433					

More Iron Lung guilds