cypher's quake live HUD
tue, 20 oct 2026, 09:40pm utcquake live is an arena shooter from 2010 that i first experienced back when it was played entirely in the browser, going even further than battlefield 3 which did matchmaking in the browser. for some reason browsers were a lot cooler back then and i kind of miss that. naturally, id software had to ruin their cool gimmick by also charging you for a subscription, though you could also play for free, wink wink. this freemium model i do not so much miss
the premier competitive game mode in the quake franchise is duel, and there is one player who stands out from the rest. he will go unnamed, however, as this post is about his belarusian rival cypher. it's specifically about his quake live heads-up display, but to explore why that matters at all, i should maybe first describe what quake live actually is about
if you've never played an arena shooter but have experienced hyper-aggressive SMG players in any call of duty lobby, it's essentially that but on an even greater amount of amphetamines. quake live is about super fast-paced fps action where raw mouse skill meets positioning and item timing. in duel, team size is reduced to 1, meaning that two players clash to see who is the more complete package. the goal of any duel is to essentially shut out your opponent from the item economy. people have historically referred to this game mode as chess with guns. there are two item pick-ups that massively enhance your combat capabilities: the blue mega health and the red armor. the former increases your health by 100, the latter increases your armor by 100, reducing damage taken. the player with more health and armor can absorb more hits and usually wins fights. they respawn after 35 and 25 seconds respectively, meaning that players manually keep track of these spawns by adding to the in-game timer in their heads. if you want a taste of what the game feels like, i recommend this cypher frag movie
i consider myself to be decent enough at first person shooters as i grew up on them. i mostly play team deathmatch for its simplicity and usually maintain a kill/death ratio of maybe 1.7 across all games. quake live is resistant to my charm, however. i simply cannot deliver what the game demands from you on a mechanical level (a lot). if you're interested in exploring these demands, this skeleblood video should be a fun excursion into the world of arena shooters. so while i have never been particularly good at the game - my ffa kill/death ratio is sitting at a solid 0.61 at time of writing - i have always been kind of intrigued by the idiosyncracies contained within each pro's game configuration. for some reason, it's fascinating to me to see how differently these top-tier competitors configure their graphics settings, their keybinds, their mouse sensitivities, what skins they use and why, et cetera
quake live makes for an especially curious case study because it's the successor to the ancient quake 3 arena and offers some interoperability in terms of configuration due to engine overlap. people like cypher who have grown up playing the game their own way have been able to import their configs into the next entry mostly unchanged for at least two decades now. the aforementioned yet unnamed best player of the quake franchise ever uses an unusually high mouse sensitivity and used to play with the keyboard sitting on his lap during tournaments, perhaps because he had a very small desk growing up, preventing him from moving the mouse much. perhaps he also uses his small amount of mouse acceleration due to this. i love this kind of speculation
back in the olden days, quake live pros would upload their configs before or after tournaments, allowing you to just load them into your game to pretend other people's settings make you a better player for a day. since many humans are inclined to idolize other humans who are good at something they cherish, these config files were disseminated and discussed in forums such as esreality. cypher's configs were special since they would sometimes break your game when you applied them. they contained so many obsolete configuration parameters from quake 3 arena that him actually being able to play the game without massive technical issues was astounding to people, myself included
at the end of the day, these files weren't doing anything particularly novel.
in games like quake live where your ability to react quickly to clear visual
and aural cues is paramount, especially at the upper levels, you probably want
to ensure that the game runs as smoothly as possible, so cypher massively
reduced visual fidelity, turning the game into a sludgy
mess
that enabled you to see the enemy really well. i suppose this was also in part
due to high-performance computing being expensive for the average belarusian
teenager. he also used (or still uses?) r_mode 9 which sets the screen
resolution to 800x600, much like a counter-strike go player used to hold on to
their 1024x768 stretched, just because they were used to that (and because
stretched made enemies appear wider which may or may not have helped aiming, no
idea). it's "don't change a running system" operating at its extreme. and while
all of that is fun to me, it was cypher's hud that specifically intrigued me
when you download the game and start configuring, you can choose between three hud options: default, small and large. the latter is internally known as the "comp hud", short for competitive. no matter what you select, your screen will look different from cypher's as he uses a custom one. much like his video settings, it's tuned for performance, the least amount of clutter as possible. it features a giant match timer counting up from 0:00 to 10:00 in the top right corner so that he could at a glance add 35 to the second count and thus calculate the mega health spawn. on the bottom are three other giant numbers: ammo, health and armor. the left side of the screen is unchanged and reserved for weapon selection. the bottom right houses the small scorebox with your number of kills. and that's it. a timer and three plain numbers make up the bulk of the hud. it's even more minimal than the competitive one that comes with the game, and it being unavailable makes it mysterious, and it being mysterious makes it cool to me. to finally put an end to the search for the perfect interface, i've modified the competitive hud on which cypher's custom one is most likely based to closely resemble his setup. here's how you modify a hud in quake live
a cfg and a menu file walk into a bar
to retrieve the large aka competitive hud on which i based my changes, you
first locate the game folder. said folder houses a zip archive ominously titled
"pak00.pk3". once extracted, the archive reveals a directory named ui which
in turn contains the two files hud3.txt and comp_hud.menu. both of these
are proprietary hud script files, with the former being the loader and the
latter being the actual hud definition that dictates where elements are placed
on the screen. the game allows you to add additional ui components such as your
own huds by creating a new ui directory under a specific path which is cool.
i feared that i would have to zip up my drafts after every single change and
load the archive
to elaborate on the files in the ui directory: hud3.txt practically
contains only one relevant line, namely
{
loadMenu { "ui/comp_hud.menu" }
}
to load a custom hud into quake live, the game inexplicably needs you to do
that using these loader files instead of just referencing the hud definition
directly. comp_hud.menu is a little more interesting in that it contains the
actual "code" with which elements are drawn. the definition for the health
text for example looks like this:
menuDef {
name "HealthMenu"
widescreen WIDESCREEN_CENTER
fullScreen MENU_FALSE
visible MENU_TRUE
rect 245 425 95 100
[...]
itemDef {
name "HealthValue"
rect 72 0 63 22
visible 1
align ITEM_ALIGN_CENTER
decoration
textstyle ITEM_TEXTSTYLE_SHADOWED
forecolor 1 1 1 1
textscale 1
font FONT_DEFAULT
ownerdraw CG_PLAYER_HEALTH
addColorRange -999 25 1 0 0 1
addColorRange 26 100 1 0.8 0.2 1
addColorRange 101 999 1 1 1 1
}
}
the most interesting part of these definitions is the rect property that's
assigned four values each. quake live uses a screen space of 640x480 to place
these elements and then scales up the references on screen resolutions larger
than that. if you've ever tried to learn opengl on a weekend, this should sound
somewhat familiar. if you want to put the health value in the center of the
screen, you leave align ITEM_ALIGN_CENTER unchanged and set the first two
values of rect to 320 and 240. the remaining two values set the
width and the height of the element
the rest is pretty straight forward. to change the text size, you adjust
textscale. to color the health value cyan when it exceeds the baseline
maximum of 100 like cypher's, you use addColorRange where the first two
values define the health point range to apply the color on and the remaining
four set the color in rgba format. you get it, simple stuff
both armor and ammo work the exact same way. all of the relevant menuDefs
contained icons, drop shadow items and other such irrelevant nonsense, so i
tossed all of that out. the textstyle i also changed from
ITEM_TEXTSTYLE_SHADOWED to ITEM_TEXTSTYLE_NORMAL. the game timer that
interestingly enough comes in Team and NonTeam flavors i moved to the edge
of the screen by using align ITEM_ALIGN_RIGHT and setting the rect x value to
640. from what i could tell, cypher uses a textscale of 1.0 for all values on
screen except weapon menu and scorebox
quake lets you hot-swap these huds while you're playing, so testing was pretty
smooth. open the console, type in cg_hudFiles "ui/my_custom.hud; loadhud, hit
enter and off you go. to make sure that you don't have to type that in every
time you want to use the finished hud, you create an autoexec file that writes
the first directive in that chain to your permanent player config file, the one
you would upload back in the day if you competed in a tournament
and there you go. a perfectly clean hud with a few keystrokes. you can find a visual comparison as well as the source files in this codeberg repository. since cypher happens to use a very interesting graphical setup, i also tried to replicate that using the in-game video settings. if you're ever in the mood for some high performance quake live, i highly recommend this setup. i cannot promise that you'll have fun, quite the opposite most likely, so maybe quake champions instead? actually, i introduced a non-gamer to champions recently and they kind of imploded in a fit of rage, so just don't play quake
nonetheless, i found it oddly fun to rummage around in .menu files and look for stuff. cypher's hud actually features an oddity i couldn't immediately crack, namely the scorebox in the bottom right. if you base your work off of the competitive hud that comes with the game, you have a different scorebox that looks much less elegant. his uses textures while yours uses fill colors. i couldn't figure out how to draw a nicer scorebox before i had to turn my brain off, so maybe that's something for another day. i can't help but wonder whether cypher did this himself as a curious kid, just playing with files and stumbling over the best hud in existence by accident. or maybe he just used a hud creator helper website, who knows