raubana.github.io

Clock Blockers

Summary



Project Type
Experiment
Game
Game Mod

Created
2016-1-13

Engine
Source (Garry's Mod)

Language
Lua

Status
Never Finished

Source Code
Closed (for now)

Links
Making a better spray pattern

Details

Ignoring the obvious wordplay, Clock Blockers is a two-player time-travel first-person shooter inspired by the Corridor Digital video of the same name. The game has the two players compete to obtain a malfunctioning time machine. Players will have to deal with time anomalies that make the same round repeat over and over, allowing them to play with and cooperate with their past selves. The first player (or is it team) to obtain the time machine 7 times wins the match.


For me, this was a challenging gamemode to make for several reasons:


First was figuring out how to both record the actions of a player and then replay them through a player bot. While difficult, it proved to be possible (although not without some small issues).


Second was figuring out when a bot would be considered unlinked (whenever something in their time-line changes enough that their actions are no longer valid). The butterfly effect is very evident in this gamemode, as tiny changes are often enough to change the outcome of the entire round - like a domino effect. Making the bots too sensitive to changes made them become unlinked too quickly, while not making them sensitive enough made them act strangely, like running at walls. Finding a balance for each case was tricky, but eventually I devised a system that would evaluate bots for possibly being unlinked in a way that was considered acceptable to most players.


Last was that I had to create an AI system from scratch for the player bots, as they would become independent from their old time-line once unlinked. This meant wrapping the existing nav-mesh system and designing my own path-finding system. Also, player bots have to be controlled much like an actual player, meaning I had to design their code to work almost like I was managing a virtual keyboard and mouse, all while making them able to perform tasks, traverse terrain, and attempt to make accurate shots.


I get asked about this gamemode pretty often. Many people want to play it, and while I want to release my code, it's still an experiment, and the source code for the project is quite messy. I simply don't feel comfortable sharing it at this time.

Media