“Even after many centuries, the ancient structures here still harvest a mysterious energy from below the swamps.”
Entrenched is a Capture the Flag PVP condo inspired by the multiplayer maps of the Halo series. It uses Condo I/O to create a simple CTF system.
The map is designed to not only demonstrate what you can do with I/O, but also to showcase the ability to make an ambient and immersive condo in Tower Unite.
The map takes place in a mysterious swamp in a small gorge. On either side of the gorge lie a base, red and blue:
Each of these bases hold a “flag” (a hockey puck) for the respective team:
On the top of each base is a scoring goal. The teams use these goals to not only capture the opposing team’s flag, but also to return their own:
The two blocks on either side of the goal are the scoreboards. They show each team’s current points. The game is over once one team scores three points.
(Behind-the-scenes I/O stuff can be found at the bottom of the post.)
Each team also has a sniper nest, which can be accessed from each base via a side path:
In the center of the map lies a middle base, at the top of which are two teleporters, which will teleport a player to one of the two sniper nests, which can be used for both transportation around the map, and for ambushing any snipers that might get too comfortable with camping in their nests. (Take note, however, that each teleporter has a cooldown of 8 seconds, and can only teleport one player at a time, so make those teleports count!)
On the side opposite to the sniper nests is a raised side path that goes across the map, in the middle of which is a cave.
Here is the path on the blue side:
Here is the side path on the red side:
Here is the cave in the middle:
Each team’s side of the map also has an “Extractor”. No one knows exactly what they are extracting, but they make a good spot to shoot from! Just be careful not to fall in!
Lastly, the map is topped with a large bridge overseeing the dark swamp, slightly obscured by the blanket of fog that lingers above. It’s purely decorative, but gives a sense of scale to the map, and makes it seem like there is so much more beyond this little arena:
I wouldn’t really call this map complete enough to upload it to the workshop, due to some features of the I/O causing crashes, and other issues which bother me. I will be hosting it occasionally, though do expect quite a few crashes to happen.
Anyway, here is what this looks like under the hood. I had already posted the proof of concept which you can find here.
Compared to the original post, I have cleaned up the capture system quite a bit. What was once a hacky feeling, physics-based, inconsistent contraption that relied on gravity and triggers to do all of the work, now only requires 2 physics slots for each team:
The scoring system is still a little confusing to read and understand:
To re-explain it in a different format, whenever somebody scores, it’s just adding to a counter, whenever that counter changes, it adds to another counter, which then adds to another counter when a team scores 2 points. The latter two counters are responsible for firing relays, which unhide cubes to display the score on the scoreboards. The original counter then calls for victory when the team reaches 3 points, after which everything resets after 10 seconds. I didn’t really put anything in to announce when a team scores or when a team wins, unfortunately. Only way to check is to read the scoreboards.
There was also this feature I implemented which added a 1 hour timer to the match, when the match was over it would consider the game a draw, and reset everything. Only problem was that it was causing crashes, so I disabled it for now:
There’s also a flag away system, it’s kind of hard to show, but I have a little comment explaining it here:
There is a randomized respawn system as well, but it was causing very consistent crashing, so I unplugged it: (There were originally 2 d20s, one for each team. I deleted them for now.)
Each of the relays activates a teleport volume which is supposed to teleport the player to one of 10 spawn points, depending on the team chosen.