A look at Liberty City — Portland Island
Paths, Nodes, Landmarks, Syntax.
It has been some time since I played this game and I must admit, my relationship with the GTA franchise has never been very strong. Regardless, I remember playing this game with my brother back in the day as we got caught up in the crime fantasy that the game attempts to deliver.
The game takes place in the fictional city of Liberty City, a virtual sandbox modeled (loosely) around the city of New York.
I am not using any mods or fancy 2020 graphic or map tweaks. This Analysis is done on the basic version that Steam delivers.
The game world is split into 3 distinct regions:
- Portland Island (far right)
- Staunton Island
- Shoreside Vale
For the purpose of this article we will be talking only about Portland Island since this is where the beginning of the game takes place.
We will be discussing:
- Road/Path Connectivity
- Landmark Distribution
- General Orientation
Here’s a brief description of what Portland has to offer directly from the Manual:
”Here you will find the docks, the Red Light District, warehouses, factories, markets, garages as well as some useful suppliers. The area is populated with hookers, pimps, laborers, dockworkers, politicians and general scum. Crime is rife in Portland and it has a long history of Mafia control. But this is being challenged by the Triads. A bloody turf war has been underway for several months. A delightful district with something for everyone.”
The game delivers on this premise trough the general ambiance and decaying look of the city:
- Everything is drabbed in dark brown colors;
- The Streets are dirty
- Seedy shops and other services can be found on all the streets.
The Island is split into several districts:
- Hardwood — To the north — also serves as the entry point from that direction. It consists of grassy areas and gas stations
- Hepburn Heights — Right next to Hardwood — Serves as a connector area between Hardwood and Saint Mark’s
- Saint Mark’s — Together with the Chinatown section it serves as a Downtown area for the entire Island
- Chinatown — A pretty central location consisting of Chinese/Asian Restaurants and stores.
- Portland View — Here you can find both the General Hospital and the Police station.
- Trenton — Trenton is a bit of an industrial area consisting in garage places and support buildings for the nearby Portland Harbor
- Atlantic Quays — This area consists of a street directly south of Trenton
- Callahan Point — Is a strip of road leading to Callahan Bridge
- Callahan Bridge — It ties both into Saint Marks’s and China town. It’s a large scale bridge leading to to Staunton Island.
Walkthrough and location scouting.
If we start our analysis from the absolute top north area (Hardwood) we will notice that we are exiting from appears to be a tunnel. For narrative purposes this area is closed at the beginning of the game.
Moving forward and out of the tunnel we can start to see a bit of the shape of the city:
From here we can spot:
- The Giant Black Building → It sits in the Saint Marks District (in the middle of the map, thus being a good element that we can use to sling shot around as we explore the map.
- The White building on the left →
- The suspended highway → Acts as a both a path and barrier at times facilitating directionality.
- The Autos Sign → A landmark that is fairly visible and helps at framing Hardwood as a district overall.
- We can also see a clear wide road going forward.
A quick note on SlingShotting around landmarks:
The correct term for SlingShotting is Gravity Assist.
In astronautics there is something called the Oberth Effect. You can read more about it here: https://en.wikipedia.org/wiki/Oberth_effect.
However in a nutshell, correctly using propulsion technics can facilitate spacecrafts into using the gravitational pull of an astral body to sling shot it self around that astral body.
Going back to Level Design, the analogy would be that we would use the landmark position and orientation to orbit and slingshot ourselves around it.
This helps in maintaining orientation in spaces where orientation might be difficult to achieve.
Moving forward we have a clear strip of road leading straight into the hearth of the Island in the Chinatown District.
The road transforms into a large intersection. A large metro entrance can be found in the middle of the intersection.
Straight ahead the road goes either left or right.
If we go left we spot a large road leading upwards and to the left and a secondary path connecting into this main path on the right right. Right on the corner we can see the General Hospital and Further ahead the Police Station.
You can and will become very familiar with these two locations since here is where you will spawn when you die or get arrested.
Going up the ramp leads to a very fancy neighborhood build around a U shaped street.
The street ends with ramp leading towards a distinguishable Part or Green Area and a view of the White Building that we previously spotted when exiting the tunnel:
A destroyed building on the left serves as an excellent aid towards remembering this area better as you explore/run from the police.
If we return to the Subway Station intersection and decide to take a right instead of a left we end-up discovering a ChinaTown specific landmark — A pagoda style building.
Up ahead we get glimpses of the river, the Skyline of the Staunton Island District
Going left allows us to get a better view of the Callaghan Bridge.
Going right puts us right back into the Red Light District where the safe house is.
Further down the road splits into two paths as we enter the Hepburn Heights.
Taking a right at the Autos Care Sales building feeds us back into the SaintMark’s Building and we get to see the Ruined building and the road block again.
At this point we know that going left with take us to the fancy building, taking right will feed us into Hepburn Heights, going straight will take us straight to the Hospital and Police station.
If we take a left we can find another shop or store kind of building. If we follow right we see a set of flags hanging around right next to the ruined building (right) and immediately upfront we end up in the back of the hospital.
This path leads us directly into Trenton. A light industries district where the entrance to the Portland Harbor can be found as well
Returning to the Hospital we find ourselves in Portland View. The roads straight ahead indeed leads to Trenton and we get to see some fancy Trenton landmarks like the Twin Chimney:
Following ahead in Trenton we easily discover the Portland Harbor, The Atlantic Quays and using the Callahan Point path we spot the Callahan Bridge and path back into China town and beyond.
Circling a round the base of the bridge we find out way back towards downtown area and we swiftly discover the bridge access as well.
The mental model
Right now my mental model for how these elements tie into each other looks like this:
This raises a couple of issues specifically with how hard it is to memorize the paths and the connections in order to build a proper map mental model.
My biggest problems are with the this a area over here:
- Everything seems to look pretty much the same
- Landmarks are very low key
- Roads and path seem twisty and confusing
- Not a very good use of hierarchical street separation.
The majority of time I felt terribly lost in this area and the question is why?
Well… Themes and landmarks can do a lot to alleviate these kinds of issues but what can you do without having to resort to expensive art?
I thought that perhaps the structure of the roads network might have been the issue so I devised a plan to sort it out and induce some clarity.
The map of the district looks a bit like this:
From a top down and from a player perspective all the roads tend to have the same values: 2way, 2lanes → Not a lot of variety.
The only one that looked remotely different is this one over here:
I started by mapping the entire road network.
The important thing to try to observe here is how the roads split the city into chunks:
- Large roads usually serve as paths that break a district into sub districts
- Sub-Districts are there subsequently splint into smaller and smaller chunks.
- Think: Main Roads, Secondary Roads, Alleys.
- Main Roads → Long, lots of lanes, carry a lot of traffic
- Secondary Roads → Shorter, carry less traffic but are good for distinguishing where you can leave a main road
- Alleys → Smalles type of path.
Street hierarchy - Wikipedia
The street hierarchy is an urban planning technique for laying out road networks that exclude automobile…
The next step was to establish where the perceived intersection might be:
To me this signaled some issues with how the roads tied into each other.
- Some larger arterial roads start as arterial and end up as secondary roads
- Some roads just end into walls
- Some roads have the appearance of 1lane-2way street tied into a high arterial system only to end up in a weird dead end.
The road connecting Callahan Bridge to Red Light District and Hepburn Heights splits right under the bridge:
- Right lane goes to Trenton
- Left lane goes into a dead end
One way of identifying how important paths are inside your higher achy of paths is to do a Syntax Analysis.
Syntax Analysis is a rather complicated process of calculating various values in relation to the paths available in one road system to generate what we would call a Heath Map.
In order to get some actual data out of it we need to do several things:
- Identify and catalog all the important paths in the map
- Make sure to give them a proper identifier (1,2,3, etc)
- Take a deep look at how they connect to each other.
- Try to include only the Main roads that split the district into chunks since the secondary paths can always be re-articulated later as you start to work at the micro details.
Here we have all the main roads cataloged. There are 12 of them. It’s important that each road starts and ends at an intersection. In some cases you might want to consider a road to be long enough to intersect with other paths in order to avoid confusion. (ex. RN3)
The Syntax Analysis is done in a few steps:
- First we choose a Root node for example Road 1 → We can consider it to be our Root Node.
- We determine the connectivity value of this root node → Connectivity simply looks at how many other streets is RN1 connected too.
- We then determine the depth factor associated with the RN1 → Depth Factor simply looks at how many nodes does it take for a person to go trough to reach the center of the road system. Usually it’s 3.
- We then do the math
The complex calculation process can be found in this paper by Weronika Dettlaff.
For simplicity sake I have simple way of reaching our needed results.
First we need to determine the connectivity and depth of our data. We can do this by generating a graph. Something like this:
However we need to do this with all our Root nodes (12 in total)
Start by drawing a clock with the nodes as the hours (depending on how many nodes you have there might be or less hours on the clock)
Draw as many clocks as you need
Draw a tranparent overlay on top of the all the nodes except the one you are using as a root.
Step 1 → Draw a line between the root node and the nodes it connects too. Draw that node green.
Step 2 → From each connected green node draw a line towards the nodes that it connects to.
Step 3 → Repeat.
You should get something like this:
The root node equation:
Root Node x = (Number of connections in Step 1)*Number of Steps(1)+(Number of connections in Step 2)*Number of Steps(2)+(Number of connections in Step 3)*Number of Steps(3)
So you get 4 connections on step 1 → You multiply 4 by 1
So you get 5 connections on step 2→ You multiply 5 by 2
So you get 3connections on step 3→ You multiply 3 by 3
You add the values together and you compile them in a list:
In this particular case I got values between 16–28 so I can now assign a color value to each rood node value.
Applying these data values to the map you get something like this:
This simply tells me what are the most used paths and roads in the system based on the number of connections.
From what you can see here the results are as follows:
- There is a lot of traffic on the middle paths (RN9) specifically around the Chinatown area.
- RN3 is also seeing a lot of, so does RN7.
- RN6 however is totally green, meaning that for a road that has two multiple lanes it is very unused.
- Same thing for RN8
- There seems to be a disconnect between between RN1 and RN11. A large main road that comes from the outside of a district should gather all traffic from that district and move it outside of the district on the other side.
This would facilitate better orientation as well because RN1–11, RN9 and RN8 would then serve as a huge path/barrier in the middle of the island moving players from one end to the to other.
In these kind of conditions question becomes → Maybe collapsing RN1–11, RN9 and RN8 into one main road be a solution.
Here’s what I would do:
I would connect RN6 with RN9/RN8 into one massive super main road originating in Hardwood a circling the entire island.
I would fix the Callahan bridge to not end in a building and instead continue and split into two directions:
- One leading to Trenton
- One leading into Portland view and into RN6+RN9+RN8 road.
Since the district distribution isn’t affected the way the minor roads inside each region should either need minor tweaking or no changes at all.
Some landmarks might have to nudged a bit but that’s fine.
Some rules would have to be implemented:
- Avoid T Shaped Intersections
- Allow for natural Path Splits to occur
- Avoid Trope Repetitions
- Align landmark naturally around intersections
- Make sure road hierarchy is respected.
Overall the map seems good. I can see why they decided to do some things and I feel like it sort of echoes what we are trying to do today in AAA open world games.
If you haven’t played it yet I highly encourage you to give it a shot since I think it’s available pretty much everywhere.