Connect 4 Arena [Source]

Multiplayer Prototype (2013)


From the very beginning I knew exactly what I was going to make… Connect 4 with guns. I will admit, the idea itself sounds rather silly but there is something to be said about forcing a player to think while they are getting shot in the face.

Using Gravity guns, players shoot a ball at a grid to claim spaces. The first team to connect four spaces together wins! This took me one weekend to complete from idea to playable prototype. After building/scripting the initial connect 4 board, I plugged in the entities for HL2:DM and it was ready to go.

Version 1 of Connect 4 board


Version 2 of Connect 4 board
I added in wider hit boxes and better visual indicators for teams.


Picking a Map

Now all I needed was a map. Searching through the sea of Half-Life 2:Deathmatch maps, I came across dm_powerhouse (one of the community maps that won a valve contest and made it into the official map packs). It had all of the elements I needed to test my idea.

Detailed Breakdown

The map is split into two sections, one side holds the grid and the other holds the ball. The ball is locked away behind doors until a certain amount of time has passed. When the doors finally open, both teams fight over control of the ball as they rotate towards the grid side. Whoever has control over the ball when it hits the grid will score a point for their team. Shortly after, the ball will reset to it’s default position and the doors will shut again. This process continues until one team connects 4!

Top down layout







Behind the Scenes

Scripting the system that detects if a team has connected four was a challenge. After toying with a few ideas, I settled on one that involved using props and triggers. Each time the player shoots a ball on the grid it leaves a team token behind. In addition, I spawn a set of triggers to detect which team token they are touching and relay that information to a set of math_counters and logic_relays. Here is what the triggers look like.


On spawn, the system checks for Connect 4 horizontally, vertically, and diagonally. Each time a teams token is detected the system adds 1 to that teams score. If they hit 4 in a row they win but if at any point two spaces don’t match, the system sets all values back to 0.

I love the fact that something like this is possible without coding. I really enjoyed the challenge that this prototype brought to the table and look forward to more like it in the future.

If you have any questions or would like to check out the map files, send me an email at generalvivi[at]