Game: Super Hexagon and Steam on Linux

So, since this blog’s title says something about games, and since it has been quite a while since I last blogged about something else than weird electronics experiments and kdev-python plugin development, I feel like I need to write about a game once again. Not that I’d think anyone would read this blog because it’s about games… or do you? I doubt it. Does anyone even read this at all? Oh, you do? Ok, alright then.

Anyways, since recently Steam has been ported to Linux, I felt like I’d have to try that out and buy a game to support such efforts of bringing more stuff to the linux desktop (even if you’re not interested in gaming — at least gamers using linux will have many advantages, and if it’s only better graphics drivers).

Steam on Linux

I’m using Arch Linux, and the cool people working on arch linux packages of course already have a package for steam — so installation was easy enough (just pacman -Sy steam). Starting the program from command line yields a few debug messages mentioning Ubuntu (e.g. in paths) — looks like someone disassembled the Ubuntu / Debian package 😉
Startup and shutdown of the program are a bit slow, but this seems mainly related to account login and “cloud”â„¢ nonsense.  Other than that, the software is stable, no crashes or glitches. I couldn’t get the flashplayer to work, which is required to display some videos in the steam browser — this is probably because I had uninstalled it before and installed gnash instead and whatnot… anyways, I don’t care about flash, if it doesn’t work then I can live with that.

Steam on x86_64 Arch Linux

So, in conclusion: Installation is easy, the software works as expected.

Super Hexagon

Random Screenshot from Difficulty 2 (of 6)

There’s currently 131 games available for Linux on steam (yesterday it was 126, so it’s getting more quite rapidly, apparently). This one, Super Hexagon, caught my attention pretty quickly; it looked like you could put it together in QML in a few days. I watched a few videos; altough technically extremely simple, it seemed to be quite difficult and quite crazy — and I love games where most people would be like “urgh why would you play that” (Dungeon Crawl: Stone Soup is still one of my favourites). Also, the price was € 2,99 — reason enough to try it out.

Fortunately, the game works without problems on Linux; nothing went wrong, everything from purchase over download to startup worked as expected. There’s two little tweaks you might want to do tough; for those see below.

The game

The game is well done; it’s basically just one single concept. No bonuses, no extra rules, no stuff; very simple, yet fun to play. You’re controlling a cursor which can only move around a circle (controlled using the right and left arrow keys); you have to evade lines moving from the corners of the screen towards the center. If a line hits you, you lose. If you survive for 60 seconds or more, you win the difficulty. It’s not really a level-based game tough; it’s a “highscore” kind of game, where you continuously try to improve your previous highscore.
After each 10, 20, 30, 45, and 60 seconds, you’ll reach the next level in a selected difficulty. The game gets continuously faster and more patterns appear the longer you survive. The order of the patterns is always random. When you die, everything is reset (except your best time).

I have a few screenshots here, but you definitely should watch a youtube video to get an idea what the game is like; screenshots really don’t cut it in this case. Oh, or go watch this guy — completely crazy. I would record a video myself, but I’m just too bad at this (yet!) 😉

Easy difficulty: at least there’s not too much sh*t on the screen
This one is from the hard (3/6) difficulty; it goes pretty fast, I’m telling you

Hyper mode of difficulty 2 (so, difficulty 5/6): this is faaaast, I can barely survive 10 seconds here
Level info screen after you died (difficulty 3/6)
Wheeeeeeee

The levels in each difficulty are called Point, Line, Triangle, Square, Pentagon and Hexagon, that’s why those names are always in the corners. Initially, I had assumed they had something to do with the kind of patterns that appear, but that doesn’t really seem to be the case. There is a Square and Pentagon mode where the central pattern changes accordingly, but the occurence of those modes doesn’t seem to be very much correlated to the level you’re in.

Oh, here’s a tip if you’re actually playing the game: play the harder difficulties while you’re still at the easier ones — even if you don’t get far, it will help a lot with learning.

Tweaks I: Anti-Aliasing

By default, the game does not provide an option to enable Anti-Aliasing. You probably won’t even notice that since everything moves so quickly… but still, why not: if you’re using an nvidia card with their proprietary driver, then in the nvidia-settings tool you can enforce anti-aliasing to be always enabled.

Tweaks II :Tearing and VSync

Another problem, which is very apparent in this game is tearing. The game does have a VSync option; turning it on causes … some kind of synchronization to happen: instead of tearing lines everywhere I get one single tearing line at a specific position. Meh. Even worse than without VSync. Some googling showed an easy solution for this problem: Disable the “Composite” extension for X. To do that, just add the appropriate entry to your /etc/X11/xorg.conf. Please don’t ask my why or what this has to do with the issue, I have no idea, but it solved it. I could make up some explanation why this is but I’ll keep it for myself since it’s probably wrong 😉

Now you know what I do in my free time instead of fixing Python 3 support in kdev-python 😉

Categories: Everything

1 reply

  1. Just a remark: pacman -Sy $PACKAGE ist a bad idea since it might install a version of $PACKAGE that is linked against newer libraries than the installed ones and therefore breaks the system. Upgrade the system by issuing pacman -Syu and only install packages using pacman -S $PACKAGE.

Leave a Reply to joeda Cancel reply

Your email address will not be published. Required fields are marked *