Back to Browse

Ancient Linux Games: xpool (aka flying)

1.3K views
Nov 2, 2024
8:33

Here's another ancient Linux game, again pulled from Red Hat 6.1. It comes in a package called "flying" which contains xpool, xbilliards, xsnooker, xcannon, xcarrom, xhockey and xcurling. Chapters: 00:00 man file 00:19 xpool 03:14 xcarrom 03:50 xcannon 04:04 Restarting X-Windows 06:00 xhockey 06:38 xcurling 07:28 xsnooker 08:07 Windowed mode issues As you may surmise, these are all pool games, except for carrom, (air) hockey and curling - which are, if you think about it, essentially the same if viewed from above. That is to say, they have essentially the same physics, which is all this really implements. As the man page explains, flying was in fact little more than a test program the author wrote to experiment with animated graphics, and at some point he realized that pool would be a good sample game to implement with it. With this mostly being a toy app for experimenting with class-based code however, each game is actually just a symbolic link to the single 'flying' binary, and it reads the commandline to identify the selected game. Not, mind you, that these are "games" per se. In this video I briefly demonstrate each one, but by "demonstrate" I just mean that I knock the balls around a bit, because there is no actual game logic. You can strike the cue ball while other balls are still rolling; you can strike the cue ball while IT is still rolling (and the trajectory calculation carries right along!); or you can just strike any ball you like in any order. There's no scoring, you can't scratch, and the game does not end; when you've potted all the balls, you can just put them back on the table. However, if you try to put all the balls back on the table at once, instead of arranging them in a triangle, they appear in a row... which extends off the edge, landing the last few outside the table, from which it's very hard to get them back inside. You can also grab a ball and slide it around, and the physics continue to apply, allowing you to just wildly knock everything around. Per the man file, the author intended to add actual rules someday, time permitting, but it seems time never permitted - the copyright on the file is 1995, and the author mentions he had trouble with smooth animation on his *386,* so I think this was four-year-old code when it shipped. The author was one Helmut Hoenig, who made a handful of other simple X games, then seemed to disappear from the fossil record completely in 1996. I assume he graduated from university, got a job, and never used the internet again - the same fate most FOSS projects enjoy even today. This software is thus completely and flagrantly unfinished, which is a theme of this era of Linux. Red Hat 6.1 came out in 1999, at which point the package repo bore a surprising resemblance to a shareware CD: just a pile of software scraped from online sources with very little vetting as to quality or usefulness. Not that I'm saying they shouldn't have included it, it's just strange to see something so rough-edged from a company that was striving for a professional image. With all that said, flying clearly would have made quite a nice pool game if it were ever finished. The physics feel good, it looks good, and while it may have struggled on Helmut's 386, the animation is incredibly fluid on the Pentium 133 I recorded this on. It also has a remarkable QoL feature: pressing the middle mouse button puts you in precision aiming mode, which makes a square appear containing a grid which allows you to track motion as you micro-adjust the cue's position. It's a neat idea. Footnotes: In the middle of testing, X hung. I have no idea why, but I decided to leave in the process of killing and restarting it for texture; this is running on a Pentium 133, and this is about how fast the Linux experience was back then. You'll notice every time I exit a game, I flip to another window and back. For some reason the game grabs and doesn't release the keyboard, and the window manager is too dumb to regrab it until I change tasks. At the end of the video, I launch xpool in windowed mode to demonstrate a bug. This game is from an era before X was typically used on truecolor displays, so it uses palettized (aka pseudocolor) graphics, which work very strangely under X. In short, it fails to "install" the palette on startup, resulting in the TV-static appearance of the board. Tabbing out and back in fixes it, trashing the rest of the desktop (intended behavior in X.)

Download

0 formats

No download links available.

Ancient Linux Games: xpool (aka flying) | NatokHD