Half-Life Episode Meh

The interwebs this morning are abuzz over a blog post from an ex-Valve writer that is essentially a name and gender swapped summary of what seems to be the outline of a story for the essentially canceled at this point Half-Life 2: Episode 3.  Since the writer is no longer with Valve and essentially admitted over Twitter that the post was essentially fanfiction.

While many discussions are being made over this, essentially the lamenting of what could have been and what basically never will be, I have a different perspective.  If this outline essentially tells the entirety of what Half-Life 2: Episode 3 would have been, why even make the game?  Essentially, at this point, the game would just be padding for what is just a very short story, well-told in print and could even be translated to animated form via Valve’s Source Filmmaker — complicated, long tales of high drama and action have been told via that tool before, and it’s not out of the realm of possibility that a highly motivated small team could make their own movie out of the short tale that was told.

Truthfully, the Half-Life games have always been just so much padding for what is essentially a self-contained short story, a series of set pieces linked together to pad the play time via linear paths, something that could be simplified and made into a cohesive, simple movie.  In fact, this is exactly what Half-Life set out to be, and created the entire modern gaming era of “games” that are essentially failed pieces of fiction for other media linked together with gameplay that is really not that essential to the telling of the story other than giving the player something to do between story points.  Actual games don’t really have this problem, as the story points are really very sparse and nearly nonexistent.  Imagine the original Doom told as a story without a ton of additions and exposition added (like the Doom novels) — “Doomguy is the last one left after an invasion from Hell through teleporter gates.  He goes to find out what happened to Deimos, teleports there, finds it’s floating above Hell itself, goes down to Hell, and kills the big bad guy.”  That’s it.  The original Doom’s story in a nutshell.  The reason it’s so sparse and doesn’t have much to it is simple — it’s not supposed to have much to it.  It’s a videogame.  The story is supposed to be told through the player’s actions.  When your actions in a game are incidental to what the story is, and you’re just being swept along a path of a story much more interesting than the one you’re actually participating in, it might be a better idea to just abandon the whole idea of it being a game, and go write a book or make a movie out of it.  Doom was so much more than Doomguy being swept up in some grand story — it was a living, breathing game concept that demanded exploration, resource management, and enjoying the game for the gameplay itself, not for some frustrated writer’s world created for the sake of its own creation, glued together by mediocre gaming sections created as padding.

Half-Life helped create the idea of the movie-game, a sort of interactive entertainment that corrupted the classic notion of games being simple, sparse stories that were only there to give you a reason to do what you are doing.  My hope is that the release of this story for Episode 3 will make people realize that story isn’t the entirety of what a game is supposed to be, and have it be the destruction of the idea of the movie-game as well.



User Interfaces

I am a frustrated developer, sitting on a mountain of barely started, half-finished, abandoned projects that I feel don’t need to be finished for one reason or the other, or would require too much effort to finish.  Dozens of source directories are lost to time and reformats, reinstalls, broken systems, and outright manual deletions.  I am, by definition, a terrible developer, one who never finishes his work and therefore cannot prove his worth via a decent library of applications.

But I finished one, and it’s one that I actually use myself on a regular basis — a graphical launcher for the game Doom‘s source ports on GNU, such as chocolate-doom, gzdoom, and zandronumOriginally known as gdoomsday and written in GTK+ specifically as a launcher for the engine doomsday that is now a self-contained Doom launcher via an in-engine configuration, my program enyo-doom¹ can play host to any number of engines, games, and add-on configurations, all of which can be saved to specifically launch such configurations as “TNT: Evolution using chocolate-doom”, gzdoom using Doom II: Hell on Earth with the Brutal Doom add-on”, and other combinations, all with a simple selector that can be configured to save specific WAD file (main game files), addon WAD and PAK file (files that change the behavior of the main game in one way or the other), specific engine, and custom commandline option combinations into a single drop-down option.

The reason I wrote this program was simple: I needed it.  Back when doomsday was the main Doom engine that I used, I was frustrated that GNU didn’t (at that time) have a launcher program for it that the Windows version had.  Eventually, doomsday did get a launcher (first Snowberry, then the options contained in the engine as noted above), but by then I had moved on to other engines such as chocolate-doom and gzdoom, and I used both for different purposes.  At first, I started repurposing the gdoomsday program in an attempt to solve these problems, eventually renaming it enyo (and later, enyo-doom to differentiate it from the JavaScript framework of the same name), but I ran into a problem — the way it was coded, and the mess of code required to use GTK+, meant that it was very difficult to add new features and change existing ones.  Eventually, I bit the bullet and recoded the entire thing from scratch — which still amazes me given that not only was I able to finish a project, but finish the same project, twice — using the much more flexible Qt framework.  There were tremendous growing pains using Qt over GTK+ at first, but as I learned more about it and moved the build system from the GNU build system (autotools) to CMake, the easier things got, and I was eventually able to put in everything I wanted, and as of now, at version 1.04, it is as feature complete as I need it to be, and I am almost happy with the results.


gdoomsday essentially started as a clone of the old Windows doomsday launcher that it had in its early days, and the current enyo-doom hasn’t changed its look very much.  And frankly, it’s showing its age.  There are much more efficient and usable user interfaces out there for launchers and other programs, and looking at enyo-doom now, I think it looks very cluttered and unorganized.  In my mind, this has led to a struggle — yes, it doesn’t look as good as it should, but it’s functional, and isn’t that all that matters, really?  Should I spend the time again to re-remake the program into something else, something less, well, ugly?  It’s amazing enough that I was able to force myself to create this program twice; could I actually do it again?

And that’s where I stand right now, wondering and thinking about a new design for enyo-doom, and maybe even a new name to give the whole thing a fresh start.  Should I do it?  Should I bother?  Or am I just fishing for something to do, thinking that if I can’t finish anything else I’ve tried, maybe I can finish something that basically just needs an interface redesign, to make myself feel content that I can at least finish something. 

Maybe I shouldn’t bother, and just try to finish something completely different for once.  That’d be a change.



Debian 9

Debian is one of the oldest and most respected distros in the history of GNU, and it recently released version 9, codenamed “Stretch”.  So since it has been a good while since I’ve taken a look at any version of Debian (I used to use the Unstable version as my main OS, but other distros became more appealing to me), so I figured I would install it in a virtual machine to give it a good look.

The Debian I am familiar with uses a text-based installer (an interactive one, not “here’s a command prompt, have fun installing” like Arch), and while Stretch gave me the option, I figured I would try its graphical installer.  I seem to remember trying Debian’s graphical installer before, but I didn’t remember much about it, so I decided to give this one a try.  As I was booting from a netinstall disk, it would have to download a ton of packages from the internet to install, but this was fine — it really didn’t take that long all things considered, and I was up and running fairly quickly.  One nice little bit on the installer was that it asked me which desktop environment I wanted to use, something that other distros should really consider doing.  I know that it might confuse some people, but at the very least, distros like Ubuntu would do a lot of good at least telling people that a default option (now Gnome) is highly recommended, but give them alternatives with some brief explanation of their benefits.  I chose LXDE, wondering why I was not given the choice of the newer and more slick LXQt (maybe they hadn’t made it available in Debian yet?), and everything installed easily and I restarted into a new desktop without any problems.

(Come to find out, Debian does have LXQt available, which made me wonder why it wasn’t offered over the older LXDE during install.  It was an odd choice given that LXQt is basically now the preferred choice over LXDE.  I ended up installing LXQt and using it instead of LXDE.)

After installation, I added the contrib and non-free repositories (what can I say, I’m a terrible person that cannot use an all-Free software distro) and set up everything needed for normal operation.  Since this was going to be a normal desktop, I opted for the use of sudo (if this was a server, I wouldn’t have), and after strugglinig with a stupid mistake in sudoers for a while that made me momentarily think that there was a problem with Debian’s sudo (I had left off the character that specified that the name was a group instead of a user), everything worked out fine in the end.

(An aside: why does Debian use the group name sudo to specify its sudo users rather than the more universally accepted group name wheel?  I mean, in the end it really doesn’t matter, I guess, but come on, Debian.)

My incompetence aside, everything in the end just worked and was remarkably stable, something Debian is long known for and the point of its long and carefully orchestrated release schedule.  This release was a long time coming, and the time between this release and the next major one will be yet another long wait, with packages mostly staying static in the name of stability (and security patches being backported instead of packages simply updated), so essentially, the stable branch of Debian is really not an ideal choice for a home desktop distribution, which mostly requires a system that keeps up with the latest package releases, but as a desktop for office desktops, rarely updated systems, and especially servers, it is an absolutely perfect fit.  Sure, you can roll the dice with the Unstable branch for home systems (there is also Testing, but its packages, when broken, generally stay broken until enough testing and updates are done in Unstable), but Debian is at its best on its Stable branch, and its latest looks like a gem.

Congratulations to the Debian team for bringing out yet another masterpiece that is the shining gold standard by which all other distributions are judged.


The Tomato Proof of Human Insanity

Now, granted, I don’t care much for tomatoes in any form, but the fact that fried green tomatoes exist leads me to believe that there isn’t much hope for humanity.

Think about it: tomatoes aren’t really ripe or taste as they should until they turn red.  But some time in the past, someone growing tomatoes was impatient enough to not wait until the tomatoes were ripe.  They wanted their tomatoes right then, and could not wait any longer.

Of course, whoever this was ate this not-yet-ripe tomato, and was disgusted with the results.  At this point, this person is already not very bright, but if he had stopped right then, fine, lesson learned, patience is a virtue.


“Hey, maw!  Whut can we do to this ‘mater (the redneck pronunciation of “tomato”) to make it good?”

“Hell, paw, do whut’cha do with everythin’ else, fry that sucker up!”

I am convinced that putting a ridiculous amount of flour and wash on any food and submerging it in hot oil (likely animal fat, such as lard, which makes my arteries clog up just thinking about it) basically destroys whatever flavor a food ever had.  Hell, these people could probably fry up some dog poop and think it’s good.  The very idea to not only fry a tomato, but an unripe, underdeveloped tomato, is just beyond insanity.  And the fact that people have bought into this insane idea and actually pay money to have people create this insane “food” for them has convinced me that the human race isn’t going to last much longer.


New York Minute

I’m sitting here listening to all my music, shuffled, and Don Henley’s “New York Minute” comes up.

Everything can change, in a New York minute…

This is how I feel about my attitudes and opinions about things these days.  One day I could be an advocate of something, and the next day I will be removing it from my life, spouting how bad it is, and maybe soon after I’ll be back to it, saying it’s not so bad.

I don’t know why.  I’m very much in a chaotic state of mind about things, I suppose.  There is a constant war taking place in my mind; one side, the activist, the person that wants the best out of everything, the advocate of Free software and human rights and freedom, the person that wants to use things that actually work well, against the side of me that tries to be conciliatory and agreeable, to use things that are generally used and in some way useful.  These two sides of me are always at odds, and it manifests itself as a constant war against myself, and to any observer of my behavior, bizarre, erratic, and someone that cannot make up his own mind, and can, indeed, change in a New York minute.

It’s a fair assessment, really, because most level-headed people stick to one side or the other, and aren’t so indecisive and unpredictable that they change back and forth between positions constantly.  But my mind is constantly caught between that idealism and pragmatism, and am trying to find some middle ground.  It may be frustrating to people who try to understand what I am about, but it’s something I can’t really help, and it’s frustrating to me, as well.

In a moment of frustration, I removed all of the posts on this blog because many of the positions I was advocating were, in fact, in flux or not valid any more.  And even the ones I still felt strongly about I wanted to just remove out of principle, and start anew with some sort of blog about me, personally, not just GNU (Linux) and technology.

And as my playlist that is now playing an Eagles tune says, I Can’t Tell You Why.