Thursday, 21 May 2020

Gamma 2.2.7 Released

A fairly boring update today, but bug-fixes are always good.

What's New


  • Fixed a bug where entering a level from the overworld after saving on another level would take you to the wrong level.
  • Added back a missing sound effect when objects get teleported.
  • Minor UI fixes to the pause screen and get ready screen, which looked bad on big monitors.
  • Improved GPU vertex representation, which may improve performance, depending on your system.
  • Added some achievements to the Steam version.


  • Fixed the game being totally broken on DirectX 11.
    • Testing on 3 platforms (DX/Win, GL/Win, GL/Mac) for every update is too much work for me, which is why updates often break the game. As we enter the "home stretch", with not much more to add, this kind of thing should happen less.
    • The cause of this bug? It turns out that, on DirectX, if you use normalized int16 coords, you can use 4 of them (xyzw) or 2 (xy) but not 3 (xyz).
    • I'm learning a great deal about 3D graphics on this project. Still, I might use a pre-made engine if I do another 3D game after this.

Monday, 9 March 2020

Gamma 2.2.5 Released

Important! The new updater is having some teething problems. If you aren't successfully getting updated to 2.2.5, please update manually using these links:

Windows: Download and run the 2.2.5 installer
Mac: Delete Blackshift from your Applications, then download and extract the 2.2.5 app bundle

Edit: Does anyone want to help me test the Steam version? E-mail me or comment below with your Blackshift username and I'll send you a Steam key. If you want to keep your existing Level Pit account, then include your Steam User ID as well and I'll link your account.

Edit 2, for you secret-hunters: it can be a bit of a slog, hunting them all down without knowing where to look. I'm planning a feature that'll make it more fun, but for now, I'll just tell you. The secrets are on these levels: 9 14 19 40 41 44 47 63 70 71 80 85 95 98 100.

What's New



  • New UI
    • The UI used to use CEF. CEF works by embedding an entire web browser in the game, and having the UI written in HTML and Javascript. This decision was made by past-me, who has now been fired.
    • The new GUI is written in C++ like the rest of the game. It uses NanoVG. This should all now be way, way smaller, faster and smoother.
  • Editor changes
    • You can now use the level editor in offline mode.
    • You can now press Ctrl+E to quickly switch between edit and play mode. 
    • Blue police robots are now available in the editor.
    • Windows users can now zoom with the mouse wheel.
  • Level Pit changes
    • You can now only publish a level once you've played it and won at least once. Once published, the level is made available on What's New automatically.
    • You can now see pictures of all Pit levels before playing them. 
    • You can now see little flags next to usernames showing where the person is from.
    • What's New now shows 120 levels, not 12, and the rule that limits how many levels from a single author can appear in the list has been relaxed.
    • The Level Pit now calculates the difficulty of each level using advanced machine learning*.
    • Fixed many bugs related to editing levels after publishing them. This whole feature was totally broken. Works now.
  •  Gameplay changes
    • Replaced the level select menu with an overworld map. Have fun!
  • Bug Fixes
    • Fixed bug where, if you teleported and died straight away, the camera wouldn't move to where you died. 
    • Fixed bug where you would sometimes be immune to bullets while pushing blocks.  
  • Removals
    • Removed DirectX 9 support.
    • Removed the Awards page. It will return.
    • Removed the ability to "star" levels.
  •  Miscellaneous
    • Rewrote the updater from scratch.
      • Delta updates didn't make it in, so all updates will be quite large (about 40MB) until this gets done.
    • One new music track.
    • As usual, many small graphical, sound & performance updates.
    • As usual, some changes to the campaign levels. 
* Some SQL queries.



  • Fixed a bug that stopped sound playing on Mac.
  • Fixed some minor UI display bugs on Windows.



  • Fixed a bug that could cause save-file corruption.
  • Fixed a bug that would cause some objects to be invisible.
  • Fixed a collision bug in the overworld.
  • Fixed a Windows display bug on the login page.


  • Fixed an editor bug that would corrupt your levels if you put certain objects in them.
  • Fixed an editor bug where you could put objects in your levels that you shouldn't be able to. 
  • Fixed an updater bug on Windows where it would pop up the "Failed to install update" error even if the update actually installed successfully.



  • Fixed a collision bug that rendered some parts of the world map inaccessible. 


  • Fixed a bug where the credits would roll even if you failed the last level.
  • Fixed a bug where you couldn't drop items on bridges, making level 100 unwinnable.
  • Made bridges available in the level editor.

Saturday, 8 June 2019

New Level Pit UI

Here's what I'm working on at the moment. As previously mentioned, I'm dropping the CEF library for UI and moving to NanoVG, so this is also a good time to redesign the UI for the Pit.

Goals for the new UI:

  • Show pictures of the levels!
    • The level files are pretty small, so these are all rendered locally. It just downloads each file and renders out a screenshot.
  • Pictures for users. I'm using GeoIP flags at the moment, because I don't really want to deal with custom avatars, and I like the international flavour it gives.
    • I hope people are cool with the flags. If it said what city you connected from, that'd probably have to be opt-in for privacy's sake... but I feel like countries will be OK. I'm sure I'll hear about it if people disagree.
  • Better discoverability of levels. The old UI only showed about 12 new levels, and you couldn't scroll or anything.
  • Full keyboard, mouse & gamepad support.
  • Full international text input support. CEF did this well. Might be harder without it, but I think it's important.

Wednesday, 1 May 2019

Steam Page is up

Yes yes, I'm still alive and I'm still making Blackshift.

The next update is shaping up to be an absolute monster. It's got some very large changes, including a secret feature that it wouldn't make sense to release in an unfinished state, hence the lack of updates.

OK, the secret feature isn't that exciting. But I quite like it. It changes the structure of Blackshift quite a bit, and personally I think it's just what the game needed. And it was a lot of work 😅

Unfortunately it doesn't look good in screenshots yet, and I <3 secrecy, so you'll have to wait a little bit before I show you anything.

Not the secret feature
But I can tell you a bit about some of the other changes that will be in the next version:
  • Seriously considering deleting my installer and updater. It's buggy, it fails all the time, and I shouldn't be spending my time writing an updater, I should be spending it writing Blackshift. I'm thinking I should just use the app update system built into (and later Steam).
  • I've redone the entire UI. The old UI was written in HTML and Javascript, like a web page, and Blackshift contained an entire web browser just do display the UI. In retrospect, that's nuts, and I've rewritten it in C++ like a proper game.
  • More music
  • Couple of new items and graphics, as usual. Not too many this time though.
  • Steam! I'll make sure you all get Steam keys if you already bought on Itch.

Saturday, 30 June 2018

Beta 2.1.15 Released

Just a small update this week.


  • Bugs fixed
    • The fix for copiers in the last update mistakenly applied to copiers in all old levels, not just new levels.
    • If you got the secret on level 41, the game wouldn't recognize it.
  • Minor changes to some levels

Sunday, 17 June 2018

Beta 2.1.13, 2.1.14 Released

Lots of bugfixes this time, but a couple of new goodies too. Windows users, you might have to download it manually. The updater is still a bit temperamental.

The Steam release draws ever closer — I've decided that I want the game to come out of beta before it goes onto Steam. Leaving beta doesn't mean I'll stop updating; it just means there can't be anything left that feels unfinished. It also means I need to do a trailer. I hate doing trailers. I hate it so much! I just want to write my game and have people magically know it exists.

What's New


  • New stuff!
    • Gas clouds
      • I originally wanted these to expand, and I perhaps they will in the future, but I implemented it and I didn't like how it played. So for now they just hang there.
    • A couple of new enemies
    • The portable yin-yang protector item is now unlockable for use in the editor.
  • Levels up to 100 ;)
  • Optimizations
    • Improved texture compression — textures now 24% smaller on disk and in memory.
    • Reduced memory usage from 80 bytes per map cell to 64. Smaller data means smoother gaming!
  • Bugs fixed
    • Pressing weird keys on the keyboard could crash the game
    • Bullets would sometimes miss mirrors they were supposed to hit. This shouldn't happen anymore.
    • Cursor no longer disappears when pointing at the window titlebar or border on Windows.
    • The editor has a feature which draws walls around your map for you, but it didn't always work reliably. Should be better now.
      • Putting walls around your map is a good idea because otherwise the terrain generator doesn't know what to do and you get a black background.
      • I'm thinking about adding “style points” for maps, where maps that are ugly in this way get a lower ranking.
        • Maps that rely on bugs could also be detected.
    • Re-wrote copiers
      • These were really janky. You could use them to copy items onto things like conveyor belts, which led to general bugginess.
      • You could copy yourself, which is a neat idea, but it was extremely buggy. This has been removed for now. It'll probably come back in some form.
    • Fix ramps getting stuck down if stuff died on them
    • Fix un-gettable secrets
  • Lots of small audio and graphics fixes and improvements
  • Lots of tweaks to levels and a few bad levels totally replaced
  • Changed the maximum level size
    • The old maximum was 1000x1000 cells. No levels came close to this.
    • The new maximum is 16384 cells total (any dimensions). Only 2 level pit levels exceeded this, and those had performance problems. Those levels will still work, but new levels have to be under the new limit.


  • Fixed a couple of problems with 2.1.13
    • Some items were missing from the editor on Windows
    • Some network requests would still be made in offline mode
    • Menu keyboard shortcuts were broken
  • Improved a couple of levels

Sunday, 4 March 2018

Beta 2.1.12 Released

What's New

  • M U S I C
  • Levels up to 99
  • New items
  • New graphics and small graphical fixes
  • Bugs fixed
    • You used to be able to glitch the editor into letting you put a lowered ramp tile with nothing on it. This made no sense.
    • The level select screen is meant to show you which secrets you've found, but it didn't work properly. Should be OK now.