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.

Saturday, 24 February 2018

Beta 2.1.11 Released

What's New

  • We're getting very close to 100 levels, so I'm starting to go back and improve the quality of the existing levels.
    • Loads of the early levels were way too hard! It made sense for level 41 to be hard when there were only 41 levels, but not anymore. I've gone through and toned down the difficulty of some particularly frustrating parts.
      • Later levels will remain frustrating.
  • New cosmetic floor tile: A handsome grate with spinning fan.
  • Graphical improvements
  • Bugs fixed
    • Exploding floors will now definitely kill you; no exceptions! You used to be able to run right through the explosions if you timed it right.
    • Fixed some audio bugs. For one, the sounds played as if you were listening from the player model itself, which led to a jarring stereo pan when you moved past something. The audio listener is now placed at the camera, and everything sounds much better.
    • Removed some unfinished items that I accidentally left in the editor palette last update.

Saturday, 17 February 2018

Beta 2.1.10 Released

What's New

  • New stuff
    • Levels up to 90
    • New enemies
    • Ice teleports
  • Gameplay changes
    • Boxes now fall down holes
  • Massive performance improvements
  • Minor graphics, sound & UI improvements
  • Bug fixes
    • Fixed mouse cursor disappearing on Windows
    • The protector item now protects against being squashed by boxes
    • Hardballs don't come back once you've collected them
    • Might have fixed the savepoint/replay bug for good
    • Fixed the game sometimes forgetting what levels you've done
Steam support is coming along nicely too. What I haven't decided is whether to release the Early Access version on Steam, or wait until the game is done. In either case, the Steam page should be up fairly soon — but I need to do a trailer first. I hate doing trailers! I'm bad at it and it takes ages. Oh well, gotta take the rough with the smooth.