Tuesday, 7 July 2020

Gamma 2.2.10 Released

The end is in sight, everyone. I'm actually going to finish this game.

What's New

  • More music, and the overworld has music too now. The only things that are missing music now are the title screen and end credits.
  • Fixed some levels that got broken by the bullet speed change.
  • Overworld improvements. In particular, remodelled World 9 and added a thruster fire effect when you're flying.
  • Removed the red/blue flippy buttons that were in world 10. I found them to be a bit confusing, and not conducive to fun puzzles.

Also, I've made some decisions:

  • Blackshift will release this year.
  • When it comes to objects that actually get put into levels, like bombs, enemies, etc., Blackshift is now feature-frozen. That means no more objects will be implemented. The list of objects in 2.2.10 will be the same as in the final release.

So, what's still left to do?

  • Replace the remaining placeholder graphics
    • White docks on the overworld
    • 5-hit walls
    • Those green pegs you can shoot
    • Wall-follower enemies
  • One or two more things to buy in the shops
  • Music for the title screen, and enough level music that it doesn't feel too repetitive.
  • Finish the Level Pit
    • Upload limits
    • Play counts, win counts, make difficulty rating actually work
    • Make level pages look nice
    • Thumbs up/down
  • Polish, polish, polish
  • Think about marketing

Wednesday, 1 July 2020

Gamma 2.2.9 Released

What's New

  • Lots of graphical improvements. There are very few placeholder graphics left now.
  • New items
    • Added some white arrow floor tiles.
    • Added green bombs. These aren't proximity-sensitive, and explode after a delay when shot or a nearby bomb explodes.
  • Gameplay changes
    • Made bullets faster.
    • Colour door locks can now be triggered by explosions.
  • Overworld and level changes
    • Lots of changes to levels 1-100. I now like almost all of the levels.
    • Some changes to the overworld layout, to make the earlier islands more linear. Nonlinearity is great but I think it should be introduced after the player gets the hang of things. This lets the earlier “teaching” levels build on each other.
    • Added shops to the overworld, where you can spend your silicon crystals.
      • Added nukes, which are available in shops. If you get one, you can use it from the pause menu to blow up the level you're on.
      • Added a save crystal, available in a shop. Use it from the pause menu to create a temporary save point.
      • Added a hardball detector, available in a shop. As long as you have it, you can see from the overworld which levels have remaining hardballs hidden on them.
    • Hardballs no longer respawn if you've already collected them. If you collect one and die before finishing the level, there's now an animation of you dropping it, to make it clear it didn't count.
    • Once you've put all the hardballs on the pedestals, the game remembers and you don't have to do it again.
  • Bugs fixed
    • Fixed bug where, if you restarted from the pause menu, the level wouldn't end when you won.
    • Scrolling with a mouse wheel (not trackpad) on Mac is no longer very slow.
    • Game no longer fails to register picking up silicon crystals in caves.
Update: Found a couple of bugs in this release. These have already been found and fixed for the next release:
  • Graphical glitch when orange pegs and some other kinds of doors are lowered
  • Pedestal shadows sometimes render as big black squares
  • Level 5/7 has been made impossible by the bullet speed change. Find a nuke and nuke it until the next release comes out.

Wednesday, 24 June 2020

Miscellaneous News


If you like Let's Plays, YouTuber Peace of the Puzzle is playing through Blackshift 1.24 (that's the old one, not this remake) here.

In other news, I've finally finished shops, which will be in the next update. In a shop, you can spend those little blue crystals you find everywhere to buy useful items. All the items are optional; they're just things that make life easier.

Things you can buy at the moment include:

  • Nukes. Old Blackshift fans will remember these. Skip an entire level by blowing it up.
  • Save Crystals. These let you save anywhere in a level by creating your own save point.
Things I gotta do before Blackshift is ready for release:
  • Make sure the progression of levels makes sense and introduces new things at a reasonable pace. The world map layout is a bit random at the moment. The early islands in particular are too non-linear. And some useful items only get introduced right near the end of the game.
  • Get rid of the remaining placeholder graphics
  • Add missing music for menu, caves, space and end credits.
  • Finish the Level Pit
    • Polish off the UI
    • Make the difficulty indicators actually work
    • Introduce some sort of upload limit. You guys are good, but I just know someone out there will want to spam 100 levels a day.
To tide you over, I've uploaded a Pit level called Research Lab with some new items I've been trying out. Dunno if these will be in the next update or not, but I kinda like them, so they'll probably show up at some point.

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 Itch.io (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.