Ryan Gordon (icculus)
icculus.org · Personal blog · on HN since 2008
Ryan Gordon (icculus) is a Linux game porter and developer who hosts open source game projects, patches, and tools like FatELF and PhysFS.
What HN saysHN links icculus.org for Linux game ports, Loki-era patches, and projects like the OBDII GPS logger and the FatELF universal binary effort.
58HN people shared it
40linked it in comments
18stories submitted
474story points
1 year agolast shared
2008people per year2026
Most-shared posts
- 1FatELF: Universal Binaries for Linux (2015)6 people · 139 points · first shared 2009 · 46 comments on HN
- 2Unreal Tournament 99 running on WASM (2017)4 people · 232 points · first shared 2017 · 111 comments on HN
- 3Physfs4 people · first shared 2011
- 4Homepage4 people · first shared 2020
- 5Flibit's Official Catalina Plan3 people · 4 points · first shared 2019 · discussion on HN
- 6LordHavoc's DarkPlaces Quake Modification3 people · 2 points · first shared 2016 · discussion on HN
- 71pass3 people · first shared 2013
- 8Gtkradiant3 people · first shared 2018
- 9Docker - A KDE System Tray2 people · 3 points · first shared 2018 · discussion on HN
- 10IcculusPlan2 people · 2 points · first shared 2017 · discussion on HN
- 11FatELF is no more. Linux developer community owned Ryan Gordon.1 people · 59 points · first shared 2009 · 60 comments on HN
- 12It's Friday - go play "The tombs of Asciiroth"1 people · 20 points · first shared 2008 · 9 comments on HN
- 13Linux Gamers' FAQ1 people · 6 points · first shared 2011 · 1 comments on HN
- 14The Icculus Microgrant 20201 people · 2 points · first shared 2021 · discussion on HN
- 15Steam Dev Days - Getting Started with Linux Game Development1 people · 2 points · first shared 2014 · discussion on HN
What HN people wrote when they linked it
ce4 · 2022-06-02
Not a game, but hosting. here i got ports/patches for open core/open source games, especially for Loki games like 1.5 decades ago:
http://icculus.org/
Amongst them one my favorites:
Alien vs. Predator (Sierra Game Studio). Proprietary game content though, unsure about the code licence.
Edit: typos fixed
johnisgood · 2025-04-07
How so? I thought they are the same, at least almost.
Tremulous (ioquake3 fork) had GUIDs from qkeys.
https://icculus.org/pipermail/quake3/2006-April/000951.html
You can see how qkeys are generated, and essentially a GUID is:
Cvar_Get("cl_guid", Com_MD5File(QKEY_FILE, 0), CVAR_USERINFO | CVAR_ROM); So, in this case, GUID is the MD5 hash of the generated qkey file. See "CL_GenerateQKey" for details.
> On startup, the client engine looks for a file called qkey. If it does not exist, 2KiB worth of random binary data is inserted into the qkey file. A MD5 digest is then made of the qkey file and it is inserted into the cl_guid cvar.
UUIDs have RFCs, GUIDs apparently do not, but AFAIK UUIDs are also named GUIDs, so...
pabs3 · 2025-04-03
Thats an incredibly old version, I think you are going to be out of luck and wonder what you need from it.
That said, a couple things to try though:
Email Dan Helfman <[email protected]> and ask if they have a copy lying around in backups anywhere. They aren't a Debian member any more but incredibly are still posting to the Debian BTS occasionally, as upstream developer of borgmatic.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1056364#10 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1096005#10
Contact the Icculus folks, the CVS server mentioned in debian/copyright of the oldest version of openal on Debian snapshot points to the Icculus server. Won't get you the debian/ directory, but could possibly get you some sort of CVS access.
http://cvs.lokigames.com/ https://icculus.org/
chunkyks · 2023-09-15
Many years ago, I wrote a tool that logs OBDII and GPS data - it was one of the first around [pre-dates things like bluetooth ODBII devices and github], I never really focused on usability or anything, but what I made was cool: http://icculus.org/obdgpslogger/
The real enduring piece, though, was an OBDII simulator; I didn't want to keep going out to my car to work on the logger, and none of the other simulators out there were a) software, and b) supported most of the ELM327/OBDII protocol. So I wrote one.
The website isn't pretty, but if anyone actually wants to learn OBDII programming stuff, the simulator is still, AFAICT, one of the best out there: http://icculus.org/obdgpslogger/obdsim.html
Kukumber · 2023-01-03
Some people at Microsoft were ACTIVELY against CoreRT, even some very high profiles, and yet they still work for that company, i don't get it
Long live to the people who worked on CoreRT/NativeAOT and the people who pushed for it
Great tech that will empower great projects
An example: https://icculus.org/finger/flibitijibibo
branon · 2020-02-04
UT2004 has a Linux port, I believe developed by Icculus[0] but it's pretty long in the tooth. Requires libc5, an old version of SDL, and OSS for sound.
Regardless, it'll still run on modern systems if you acquire old libc binaries[1] (and preload them), use SDL 1.2 (possibly a patched version[2] which enables Alt+Tab) and start the game using aoss[3] for sound.
[0] https://icculus.org
[1] https://www.unix-ag.uni-kl.de/~deusser/UT2004/
[2] https://github.com/infertux/SDL-1.2.7
[3] https://alsa.opensrc.org/Aoss
cookiecaper · 2020-01-10
Maybe I've just been out of the scene too long, but can't let mention of Linux gaming luminaries go without Ryan C. Gordon of Loki Games/icculus.org. For many years, if there was a big project coming to Linux, Ryan Gordon was likely to be the wizard behind it.
His homepage: http://icculus.org/
Wikipedia: https://en.wikipedia.org/wiki/Ryan_C._Gordon
Patreon: https://www.patreon.com/icculus
prg318 · 2013-12-28
This article mentions that there is no native 1Password client for Linux and recommends some kind of dropbox workaround. While this probably true at the time of writing, Icculus recently wrote a native Linux client [1]. There's more details about it in this G+ post if you are interested:
- https://plus.google.com/+RyanGordon/posts/ZFyb9TQS9zB
[1] https://icculus.org/1pass/
burgerbrain · 2011-02-24
PhysicsFS is pretty excellent if you need more of a traditional hierarchy layout.
http://icculus.org/physfs/
stuu99 · 2022-03-16
" As longtime poweruser all the dark patterns and user hostile behavior was astonishing."
Two or more computers in a network become and behave as a single PC, so if you buy any client-server software you are literally stealing programs for yourself. Because all programs are the same to a PC. AKA all programs executables can be divided into two or more exe's and run over a network it's called the client-server or mainframe dumb client model of computing and you don't want that because that's the end of the personal computer you own and control. Client-server apps are the ultimate security risk because you can't audit the code.
The last 23 years there's been a war to kill the general computer.
If you've touched steam, xbox live or mmo's, they are all client-server exe's, windows 10 is a client-server operating system.
They've been stealing software from 1997 with ultima online, how can you be astonished when valve and everyone were stealing PC games from 1997 onward?
See this patent by microsoft here:
https://www.theregister.com/2001/12/13/the_microsoft_secure_pc_ms/
On games:
It's not, the average gamer and PC buyer has been stealing software from himself for the last 23+ years. Straight, steam/mmo's are just back ended c applications, there's no reason for any piece of software to require a "internet connection" (aka a second computer) half a world away.
The 1990's were great because it was before the computer illiterate got internet. Everyone was expecting level…
jamiesonbecker · 2020-05-22
I started hacking on this again as well (especially classic Unreal Tournament/UT99). Would love to play some Facing Worlds, but was not able to get it to work on a modern 64-bit MX system w/ nvidia binary drivers.. however, did get UT2004 working! (no sound so far though)
But, heads-up, maybe this will work in your Unreal Engine 1 hacking: the awesome Icculus put together a small tarball of the needed libc5 libraries..
http://icculus.org/updates/cod/gcc3-libs.tar.bz2
Check out the thread where I found this -- it's quite a read:
https://icculus.org/pipermail/ut2004/2005-June/002249.html
And, as much as I hate to say it, reading that old 2005 thread still rings true: Windows apps still tend to work, even 25 years later, but Linux apps don't tend to work even a year or two later. Backwards compatibility hasn't really been a thing in Linux, but it should be.
Also see https://www.smokin-guns.org/ (based on Q3A) and my 64-bit build of it from a few years ago: https://github.com/jamiesonbecker/smokinguns
badsectoracula · 2018-06-13
Check Quaddicted[1] for some singleplayer maps. The most common engine by far is Quakespasm[2] which keeps the original style but fixes bugs, reintroduces some features from the software renderer that were lost in the original OpenGL version (fullbrights, lightmaps that go above 100%, non-power-of-two textures, etc) and removes and raises some hardcoded limits. You probably also want QuakeInjector[3], which is a "quake mod installer" that handles dependencies. You may also want MiniQL[4] (made by me) as a more straightforward and minimalistic launcher (you can also launch QuakeInjector from MiniQL if it is installed in the same directory).
This is all you need for playing maps and mods. For making maps (the most common type of mod) you'll also need a map editor - currently the most common seems to be Tenchbroom[5], but it is far from the only option and a lot of people use other editors, such as BSP[6], QuArK[7], GtkRadiant[8] and some people even use either the original Worldcraft 1.3 (i think) or a modded Hammer (from Valve) to make maps. I think some also use J.A.C.K.[9], which is basically a Hammer clone, although i think it is abandoned now.
The map editor isn't enough, you also need the command line tools to "compile" the map (this is how the Quake engine can support multiple and different editors: by decoupling the tools from the engine and the individual types of tools from each other - which to me is one of the best ways to architect and engine and its tools, but…
mariusor · 2025-10-31
Maybe parent is referring to icculus' FatELF proposal from fifteen years ago? https://icculus.org/fatelf/
dandersch · 2025-10-17
Bad QA for actual Linux games was the main reason I stopped buying on gog. Even when a game had a (gog exclusive) Linux port using their weird "game inside a shell script" approach[0], often times I would run into more problems than just using wine/proton on the Windows build.
[0] apparently using this https://icculus.org/mojosetup/
quadhome · 2024-08-29
More context here: https://icculus.org/finger/flibitijibibo?date=2024-06-15&time=13-1…
soks86 · 2023-10-08
Quake 3, I do believe, had it's own shader language so the designers could have more control over visual effects.
https://icculus.org/gtkradiant/documentation/Q3AShader_Manual/ch01/pg1…
The dude was definitely doing stuff no one else had ever done.
Then again I have a 90's game dev book that covers ASM as well as manufacturing then programming your own sound card using the parallel port so... you're not wrong.
ascagnel_ · 2023-06-15
It's not, but the DarkPlaces engine [0] reimplements many, if not all, of the realtime shadow features and has an X64 Mac build (but no ARM build, as far as I'm aware), and is still getting active contributions on its Github repo[1].
[0]: https://icculus.org/twilight/darkplaces/index.html
[1]: https://github.com/DarkPlacesEngine/darkplaces
myko · 2022-03-26
I didn't see it in Icculus' resume: https://icculus.org/resume
but it does look like there was a recent project to make it happen: https://github.com/juliogonzalez/sc3u-linux
rzzzt · 2020-08-29
Props for mentioning Icculus. I always wanted to play with Black Shades at the time, but the display adapter just wouldn't cooperate: http://icculus.org/blackshades/
(I also vaguely remember a single-file Quake 3 installer from the era which started as a shell script, but snipped itself off from the beginning when run and continued on as a binary archive. It was interesting to peek into it with a text viewer, only to see the readable part randomly devolve into garbage.)
som33 · 2020-05-26
You don't get the end game was to client-server the big budget games which has happened. AKA diablo 1 + 2 we owned the game outright, not so with diablo 3 and overwatch.
Steam was forced into half-life/cs in 2004, no one wanted it and steam is malware. That is why we lost dedicated servers and level editors in the AAA gaming space.
GTK Radiant - level editor quake engine games
http://icculus.org/gtkradiant/
Doom vs Doom eternal. Because the internet makes stealing software easy by holding back program files from the user.
Doom was the grandfather of modding on the Pc, in doom 2016, we got a gimped snapmap, and doom eternal is totally locked down. A far cry from the id software of the 90's.
trizic · 2020-05-22
Icculus also created this:
https://www.icculus.org/ut99-emscripten/
Can Emscripten use existing binaries? Because I thought it needs the original source code (maybe Icculus asked for the source).
Combining this with a websocket proxy for networking support makes a really easy way to setup instant LAN parties (no deployment) and in general have a decent way to preserve these games.
JNRowe · 2020-05-10
For an unrelated product demo some years ago I modded Orbital Eunuchs Sniper¹ to play on the environment outside the site we were demoing in using a few images from Google Maps. The split on whether it was fun or utterly wrong was probably 90/10, but I'm sure it would've been a different story with a tabloid paper reporting on it.
Now imagine you're publishing a game where drifting on roundabouts outside real elementary schools is a mini-game. Probably good for publicity though, iff you're willing to take the heat :/
1. http://www.icculus.org/oes/ - Still an awesome game
bbmario · 2019-08-19
Have you seen https://icculus.org/physfs/ ?
You could put everything inside a zip and that's it.
hawski · 2019-08-18
As sibling comments stated it's common in games. A well known open source VFS library is PhysicsFS¹, previously it was called PhysFS AFAIR.
¹ https://icculus.org/physfs/
justin66 · 2019-08-17
The code for Descent has been available for a long time and if you're going to look, you should probably check out some of the links and info here: http://icculus.org/d2x/
LinuXY · 2019-06-05
For more inspiration I'd check out the Quake engine source. It's quite the masterpiece. There's also been some modernization over the years by LordHavoc of the DarkPlaces engine https://icculus.org/twilight/darkplaces/ - I'm constantly impressed how well the HD remaster on DarkPlaces looks on modern 4k hardware.
AceJohnny2 · 2019-05-16
Thanks!
Regarding multi-arch support, Ryan C. Gordon (Linux game porter extraordinaire, icculus.org) had proposed FatELF [1] back in 2009 (LWN coverage [2]). It seemed simple enough to implement, but never really picked up steam (IMHO for reasons that speak of the culture of the Linux ecosystem).
[1] http://icculus.org/fatelf/
[2] https://lwn.net/Articles/359070/
Eli_P · 2019-01-19
Darkplaces engine[1] had introduced lots of features including photon mapping back in 2011, but it was slow as I remember. Photon mapping is kind of a predecessor of path tracing[2].
[1] https://icculus.org/twilight/darkplaces/download.html
[2] https://en.wikipedia.org/wiki/Photon_mapping
jwilk · 2018-07-13
For people who don't understand what happened here:
In Debian ecosystem, "docker" is a system tray application: https://icculus.org/openbox/2/docker/
Docker, the container software, is packaged as "docker.io".
Mathnerd314 · 2015-12-28
SuperTux also uses a filesystem abstraction library: https://icculus.org/physfs/
Fortunately it doesn't need to do networking, threading, or IPC; those are definitely a pain. Boost provides an abstraction layer, but it's a big dependency.