Top Ten Albums of 2016

Again, these were not necessarily released in 2016, but reflect what I’ve been listening to most this year.

Baroness – Purple

Soaring, optimistic, triumphant. This record is guaranteed to lift your mood. It’s even more remarkable in the context of what happened immediately before it: a bus crash leading to months of recuperation and the departure of the bassist and drummer.

There’s an excellent making-of series on the band’s youtube channel which I highly recommend. As well as introducing the new band members, they go into the creation process of the music and artwork of the record.

The best track on the record, “Shock Me”, is happily up for a grammy award.

 

Haken – Affinity

Another excellent record from Haken. This time, along with the sprawling epic prog of cyber-punk opera “The Architect”, we’re getting more focused, tighter pop arrangements in songs like “Initiate” and “Earthrise”.

I was fortunate enough to see them tour this record and they’re just as tight live as they are on record.

 

Ghost – Meliora

This was the year that Ghost finally clicked for me. I’d foolishly dismissed them as some sort of Kiss-a-like dress-up gimmick band, but I was very, very wrong. Their songwriting is incredibly good, and far from being a gimmick the costume is an extension of a theme that permeates all their lyrics.

I’ve got tickets for their tour early next year and I can’t wait!

 

Ezra Furman – Perpetual Motion People

I caught a little bit of his performance from the 6music festival and I was immediately intrigued. Who is this screeching transvestite playing this really hard to categorise but really catchy music?

Fantastic lyrics about alienation, depression, mental illness and feeling uncomfortable in your skin set to upbeat 50’s doo-wop throwback pop with awesome sax lines.

 

Vulfpeck – The Beautiful Game

Vulfpeck does it again. Joe Dart continues to be the bass player of my <3. “Animal Spirits” is my song of the year!

 

Gojira – Magma

A lighter, more introspective effort from Gojira, but they can still bust out some amazing riffs when they feel like it. For example, the leading singles from the record “Stranded” and “Silvera”.

This album is also up for a grammy. A good year for mainstream recognition of metal!

 

GoGo Penguin – Man Made Object

New year, new GoGo Penguin on the list. Just as good as their last effort, though a little less explicitly electronic-influenced.

 

Russian Circles – Guidance

This band seems to get better with every release, and this record is my favourite of theirs so far. I also got the chance to see them live this year in support of this record and they were incredible. Their sound is so big I didn’t realise they were a three-piece! The guitarist uses loops and the bass player was playing two or three instruments at once at a couple of points.

They, along with Mogwai, remain one of the few “post-” bands I still listen to, as they’re constantly evolving. If you like instrumental rock with a heavier edge, you can’t go wrong with Russian Circles.

 

Frightened Rabbit – Painting of a Panic Attack

These guys have filled the miserable-Scottish-indie-rock-shaped hole in my heart left behind by the lacklustre records of Idlewild in recent years. Fantastic, snappy lyrics about drinking too much and being generally miserable against an epic backdrop of Twilight Sad-inspired synthy rock.

Choke down the gateway drug
Opened the gates, in came the flood, it comes
Like a blush of love, it hits me without warning
Long nights of getting lost
I walk beneath the bridge I don’t know
I need black suit for tomorrow, I’m in mourning

 

Esperanza Spalding – Emily’s D+Evolution

I first heard Good Lava, and I was like “what the fuck is this?”. But then it grew on me and I listened to the rest of the record and it’s pretty great. A talented singer and jazz bass player, she can also write a cracking tune, “Unconditional Love” being a good example.

Another one on my list that I got the opportunity to see live this year. Well worth checking out live, she puts on a very theatrical, choreographed show. Really entertaining.

Advertisements
Top Ten Albums of 2016

Top Ten Albums of 2015

Not all these records are from 2015, they’re what I’ve been listening to or discovered this year.

BTBAM – Coma Ecliptic

As a fan of progressive metal, Between the Buried and Me have always been on my radar. I’ve enjoyed the odd thing I’ve heard of theirs, particularly the video for Astral Body, but never really listened to an album all the way through. That changed this year.

I saw the video for The Coma Machine and was grabbed straight away by the opening chord. The lyrics and the rest of the video hinted at something deeper, and, being a prog band, I figured there might well be more to it. It turns out the record is a concept album about a guy in a coma, drifting through weird hallucinatory alien worlds, meeting the inhabitants and having a pretty bizarre time.

The record is much more melodic with more clean singing than what I’d heard of the band previously, which probably helped ease me in. There’s still some pretty chaotic and fast sections on there, and the dynamics constantly shift from pummelling riffs to bare vocals-and-piano.

Listen if you like rock opera and extreme metal.

Deafheaven – New Bermuda

Their first record, Sunbather, was a total surprise to me in 2013. The combination of black metal and Mogwai-esque shoegaze was something I’d never even considered could work together. My expectations were pretty high for the second record (as, I’m sure, were everyone’s) and it didn’t disappoint. A bit darker in tone than the first record, this has some pretty catchy melodies in among the dense drums and riffs. You’ll find yourself humming along after a couple of listens. Can’t say that very often with black metal records!

Listen if you want to hear what Mogwai would sound like if they were a black metal band.

Vulfpeck – Thrill of the Arts

This year I started regularly practicing bass again, and through some online bass forums heard about this band. The bass player, Joe Dart, is an absolute beast. A lot of the songs on their previous records were pure rhythm-section grooves, but Thrill of the Arts has some genuinely catchy pop songs on it. Back Pocket – a saccharine tale of passing notes in school is the most coherent, where Funky Duck’s nonsense lyrics are brilliantly sung by guest singer Antwaun Stanley.

Listen if you like funk or soul in any form.

Monuments – The Amanuensis (2014)

The record is from 2014, but it was new to me this year. Djent-leaning progressive metal, but bouncy and fun rather than grim and po-faced. This is good-times metal for jumping about to. The playing is technical, but always in the service of the songs. The vocals are excellent, often with multiple part harmonies, even including a barber-shop style intro in Saga City.

Listen if you like Periphery or Tesseract but want something less whiny.

Haken – The Mountain (2013)

What’s this, another prog metal record? Yes. I was lucky enough to see these guys twice this year, once with Devin Townsend and again supporting Between the Buried and Me. They are one of the tightest bands I’ve ever seen. There are four-part harmonies on this record (see embedded video for Cockroach King) which they actually pull off live.

The songwriting is excellent. The lyrics can devolve into cliche at points, but the story they tell is always coherent and in tune with the music.

Listen if you like 15 minute long songs, barbershop harmony and circus music breakdowns.

GoGo Penguin – v2.0

A three piece jazz band plays drum n bass and house tunes, with a splash of Aphex Twin inspired glitchiness. Fantastic.

Listen if you want to hear electronic music interpreted by live musicians.

Grave Pleasures – Dreamcrash

The band formerly known as Beastmilk (a much better name in my opinion) releases their second record. Their first record on the surface was just another heavy rock record, but it had something really hard to define. It really sounded like the soundtrack to the end of the world, which I think was the band’s aim.

Dreamcrash is a worthy successor, with suitably dark song titles veering into the comic with “Lipstick on Your Tombstone”. The sound is different this time round, due no doubt in part to the lineup changes the band went through between records. The trademark vocal style remains and is part of the band’s charm – Elvis being channeled through Robert Smith. The melodies are as catchy as ever with New Hip Moon and Crisis being the stand-out tracks for me.

Listen if you like The Cure but want something a bit heavier.

And So I Watch You From Afar – Heirs

Crazy prog rock from Ireland. Super technical but melodic, with spare, often chanted vocals. Very uplifting stuff. My Dad got to see them at T in the Park and I was very jealous.

Listen if you like Battles.

Modest Mouse – Strangers to Ourselves

It’s been quite a while since the last record but they haven’t lost their touch. This is as good as anything of theirs I’ve heard. There’s a welcome departure from their ‘normal’ style in “Pistol” which, with its pitched vocals and spare beat sounds like a DJ Screw remix.

There’s some really heartfelt storytelling in “Ansel”, and some really funny lines in “The Tortoise and the Tourist”:

The tortoise offered to tell him
About the future and how the universe ran
Oh, the man killed the tortoise, took his shell
And with a song on his lips walked off again

Listen if you like… I really don’t know who else sound like Modest Mouse. Just give them a go.

Snarky Puppy – Sylva

Another one I picked up through bass players (the band leader of this ensemble, Michael League, is also the bassist). I had the chance to see them live this year and they were fantastic. I’m not sure how to describe what they do, I guess it’s jazz, but there’s a big funk/soul influence in there. They really groove and it’s worth checking out some of their many live performances on YouTube to get a feel for them.

Listen if you like jazz-tinged funky instrumental stuff.

Runners-up

Intronaut – The Direction of Last Things
This only just came out, so I’m not sure yet if it’s going to be as good as their previous album Habitual Levitations which I fell in love with, but it’s looking that way.

Agalloch – The Mantle
I was very late to the party on this one. Sort-of-black metal that blends a lot of influences together into something properly epic.

The Twilight Sad – Nobody Wants To Be Here & Nobody Wants To Leave
I’d listened to these guys a wee bit years ago, but really got into them this year. Happily they played a free show in Stockholm, which was nice of them. Proper Scottish miserablism. I love it.

Iron & Wine – Sing Into My Mouth
Nothing properly new from Iron and Wine this year, as this record is all covers. Their version f Sade’s Bulletproof Soul is my favourite.

Charles Bradley – No Time for Dreaming
Amazing soulful soul from a guy who’s really been through it. I highly recommend the accompanying film “Soul of America” to see how this record came to be.

Courtney Barnett – Sometimes I Sit and Think, and Sometimes I Just Sit
Fantastic slice-of-life modern anxiety tunes from Australian newcomer.

Sylosis – Dormant Heart
Solid new release from the UK’s best straight-ahead-metal band.

Winterfylleth – The Diviniation of Antiquity
Darkly atmospheric black metal based on English folklore.

Top Ten Albums of 2015

Setting up Kodi on an Asus Chromebox (Celeron 2955u)

I recently bought an Asus Chromebox with the intention of making it into an HTPC which should also be capable of Steam in-home streaming. While this was mostly working within a day, fixing the niggling issues took about a week. Hopefully this post can help to shorten that time for someone.

Operating System

My experience here is probably not typical. I started off with Linux Mint 17.1, and switched to xfce from Cinnamon after realising that Cinnamon was a CPU hog on the Chromebox’s modest hardware. I noticed this when attempting to play a game on Steam in-home streaming. The video would not decode fast enough, causing it to stutter. Having a look at CPU usage showed not only the Steam process using a lot of the processor, but Mint’s default desktop environment Cinnamon using up to 80%.

Switching to xfce immediately solved this problem, but brought others with it.

screen tearing

Xfce doesn’t seem to sync up well, by default, with the display’s refresh rate. This causes horizontal tearing artifacts which are especially noticeable during gaming and panning and action scenes in movies.

I tried a bunch of fixes. The most commonly-suggested one was to disable the default compositor and use one called compton instead. This, for whatever reason, didn’t work for me.

What did work was an X config setting called TearFree. Here’s my 20-intel.conf, from /usr/share/X11/xorg.conf.d

Section "Device"
    Identifier  "Intel Graphics"
    Driver      "intel"
    Option      "AccelMethod"  "sna"
    Option      "TearFree" "true"
    Option      "Hotplug" "false"
EndSection

Display Blanking

The next problem, described in this bug, meant that whenever I turned off the TV I was greeted with a blank, unresponsive screen when I turned it back on. There’s some talk of killing the xfce settings daemon in that thread, but I was able to solve it with less drastic action. Simply set the “Hotplug” option to false in the “Device” section of X’s config, as you can see in the snippet above.

Xbox 360 Controller Support

For wireless controllers at least, the built-in xpad kernel module has a particularly annoying issue. The green LEDs in the middle of the controller continue to flash after it’s connected. The solution here is either to use the userspace xboxdrv driver or, the one I eventually used: Valve’s patched xpad module.

sudo add-apt-repository ppa:mdeslaur/steamos
sudo apt-get update
sudo apt-get install steamos-xpad-dkms

The result

Is a pretty nice HTPC set up, which cost very little money indeed (1890SEK or about £150). Usable with the excellent Yatse android app, but better with the addition of an Xbox 360 controller for games (and video playback control) plus a wireless keyboard with a built-in touchpad.

I’m still waiting for my Xbox 360 media remote control to arrive – bought since it uses the same receiver as the controller – but when it does, I’ll probably update this post with the stuff I had to fiddle with to get that working.

Setting up Kodi on an Asus Chromebox (Celeron 2955u)

Networking in Unity

I considered taking part in the Global Game Jam, and realised Godot wasn’t going to be a good choice if I wanted to collaborate with anyone, so I re-imlpemented what I already had in Unity. Since I hadn’t gotten very far this was quite straightforward.

On the plus side, Unity is more mature, has lots more documentation and resources available, and fully supports Visual Studio, which has an awesome vim plugin. On the other hand, it’s proprietary and the only OS I can run it on is Windows.

Anyway, Unity also has built-in networking support, and if I want to play the game I’m making with anyone I know it’s going to have to work online.

Programming Time

I have never written networked game code before. Using a combination of this tutorial and the Unity networking manual, I was able to get to this point in a matter of hours. As a side-note, the client on the left is running on Linux, and it Just Worked™.

There’s only a couple of steps required to get basic object position synchronisation working. First, you have to make one of the clients act as a server, then register it with Unity’s Master Server, a sort of directory for servers.

String gameType = "meshist_network_tutorial_game";
Network.InitializeServer(32, 25000, !Network.HavePublicAddress());
MasterServer.RegisterHost(gameType, "My Lovely Game", "Isn't it nice");

Then, from the other client we need to request a list of hosts that match our gameType. Since this is a prototype we’re just going to connect to the first instance we get, since there should only ever be one.

On pressing the connect button, we call

MasterServer.RequestHostList(gameType);

Then in our Update we check for hosts returned from the Master Server, and connect to the first one

if ((!connectedToServer) && 
    (MasterServer.PollHostList().Length != 0)) {
    var hosts = MasterServer.PollHostList();
    Network.Connect(hosts[0]);
    Debug.Log("connected to server!");
    connectedToServer = true;
}
Networking in Unity

Getting Started Gotchas in Godot Engine

Here are some of the things that weren’t clear in the documentation, or were not shown well in the example code, when I first started using godot.

Input parsing

The platformer example code uses a boolean switch to check whether the player is currently shooting and toggle the state at the end of the update function. This is pretty confusing, and would only get worse the more actions are available. A much better way is to respond to events when they happen. To enable this, in your node’s _ready function call

set_process_input(true)

You’ll need an  _input(event) function to handle the events. There’s a bit of a trick to handling a single keypress. You’ll need to check the name of the event against your input map, make sure it’s pressed rather than released, and make sure it’s not the result of a key being held down

func _input(event):
    if (event.is_action(get_action('shoot')) 
        and not event.is_echo() 
        and event.is_pressed()):
        shoot_bullet()

Enabling collisions

There are a couple of parts to this. First you need a to enable fixed processing

set_fixed_processing(true)

Then in your node settings you need to set Contacts Reported to at least one, and turn on Contact Monitor.

collision-node-settings

Next, hook up the _on_body_entered event

connect("body_enter", self, "_on_body_enter")

Now you’ll be notified when your object hits something, and be passed a reference to it in the handler function.

 Explosive particles

This is a bit of an edge-case, but I’ll mention it becuase I got stuck on it for a while. If you want an explosive particle system, and you’d like it to respond to some event, you have to set Explosiveness to a very small, non-zero value. If you set it to zero, the particle system seems to wait for the particle’s lifetime before displaying it.

Debug drawing

If you want to use the CanvasItem’s _draw() function to draw primitives, make sure you call update() from your process function.

Getting Started Gotchas in Godot Engine

Gravitational Combat in Godot

Recently, I’ve been wanting to make a wee uncomplicated action game. I’m trying to use open source as much as possible lately after learning how to use Blender and being blown away by how much it’s capable of. The Godot Engine is an open source game engine for making 2D and 3D games with the all-in-one approach of something like Unity.

godotlogo

It’s fully component-based. The ship is a scene which consists of nodes. The root node might be a static body which tells the physics engine to be interested in it. Hanging off that is a sprite node which contains the texture and a collision shape node which defines the extents of the object to the physics engine.

The space level itself is a scene, and contains instances of the ship scenes and the planet scenes. You can export variables, which shop up in the property editor, to customise them. The planets have mass, whereas the ships have a player identifier so the input can be mapped accordingly.

Code is equally modular. Each node can have an associated script, and scripts are weakly bound by searching for the properties of other nodes, either by knowing where they are in the scene hierarchy, or by knowing their group. The planets are in one group, for example, as are the missiles. This can cause things to break if you shuffle your nodes around.

The developers are quite active in their irc channel (#godotengine @freenode) and the people there seem pretty chill and happy to answer questions.

gclogo

The game is based on one me and my brother used to play, a sort of tanks/gorilla/worms style thing in space called Gravitational Combat.

Mine is going to be realtime, whereas the original was turn-based. Here’s a couple of gifs of it in action.

attack

orbit

Godot’s physics engine is handling the inertia, and collisions, but I had to do the planetary gravity bit myself.

Gravitational Combat in Godot