Monday, August 21, 2017

Soko Banish 1.4 is Here!

Who you gonna call? No one. Bad reception in here.
First things first - download the game here:

Soko Banish 1.4.0 (and version 1.3.0 of the Level Creator!) is out and a lot sooner than expected - a lot of its features were still on the "some day" list, but hey, today is quite some day as well.

It's been great to pick up this old project again and slowly turn it into something worth sharing with people, and I hope people had fun following my progress! (And speaking of progress, I've made an attempt to let you keep your completion status on each level apart from the ones that have been changed significantly. Huzzah!) So, what's up next for the game? An expansion pack to buy with money, eventually. That won't happen for a while, though, so enjoy 1.4 for now! There's a lot to do, and more levelpacks may yet arrive.

New in this version:

- New graphics! (Backgrounds! Weather effects! Pretty stuff!)
- Two new game elements: Rocks and Grates.
- Support for larger levels - up to 40x40 tiles!
- Reworked and rearranged levels in the Standard set.
- Save & load buttons - save your progress on a puzzle and return later!
- ...And a lot more! Check the readme or installer notes for a complete list.

See you in Greifenhausen!

Thursday, August 17, 2017

Soko Banish 1.4 - Level Order and Chaos

Soko Banish has come a long way since 1.0. Websites changed; titles changed; presentation, graphics, and antiquated engine anomalies have been cleaned up. We have laughed, cried and possibly even expressed a feeling of complete indifference together. But throughout all this, one tumultuous tangle of chaos has persisted, indomitable... until now.

I'm talking about level order. When I created Soko Banish in 2006, I was mainly concerned with reaching my target amount of Standard levels, which happened to be 44 (giving the game 100 levels in total together with the Tutorial and conversions of the original Sokoban levels, which were included with the game prior to version 1.2). Since I was also impatient to release the game, this amounted to... well, untested and sometimes crudely designed levels. But more to the point of this article, it resulted in level numbering that was at best arbitrary, made worse by the inflexibility of organising level sets.

Whoops, I had my eyes closed. Can we Retry?
Then, everything changed when the file nation attacked and lifted the requirement to number the files. Huzzah! In Soko Banish 1.4, levels can finally be given descriptive names - and you can even name them Fred. Their order is now alphabetical or defined in a file named levels.txt, which simply lists them all from top to bottom. (No relation to the deprecated file named levels.txt from older game versions. We don't talk about that one.) And of course, I'm not letting this opportunity pass without finally rearranging the levels in the Standard set to reset your profile provide a more sensible progression to people who like to actually play things in order.

Unfortunately, this sounds a lot easier than it is (trust me, I listen to myself). In general, these were the things I considered in deciding on the new level order:
  1. The Difficulty. This one's a no-brainer, though rather hard for me to determine by myself. What I did was write all the level names down in a text file and assign them numbers based on how complex I felt the solution was. As a handy side-effect, this has also helped me identify pitifully easy levels to improve, as well as any remaining unsolvable levels to disprove. (All levels have always been solvable. *waves hand* Always.)
  2. Skill themes. These aren't necessarily very clear, as I didn't really have them in mind when I first threw the game's levels together, but to a more basic degree, elements and puzzle types recur throughout the set. Orbs, ghosts, unsolvable soulstone arrangements, that sort of thing. My goal here, rather than keeping them together, was to keep them apart - it makes the set feel a lot more colourful, especially when the orbs are now purple.
  3. And speaking of colours, Backgrounds. Soko Banish 1.4 introduces actual level background images in place of the ominous black void outside the boundaries of every stage. By default, this is now a black and blue void, but they can get as creative as a magic purple void or even some dirt. Unfortunately, this makes for a jarring effect when a unique-ish background repeats across multiple puzzles that are close to (or even directly next to) one another in the level sequence. Yes, levels are one very dysfunctional family, and these too had to be kept apart.
  4. Whatever the heck I felt like. In all seriousness, there was a certain sensation with some of the levels in which they only "felt" right when put into certain places (notably the "key" levels and the iconic Tower Bell stage) or a specific order. Determining this order sometimes involved reading their names aloud, traversing the rooms in sequence in my mind or contacting the spirits of my ancestors. Of course, I may just be going crazy, but the voices assure me that I'm not.
So what's the best way to balance these? I'm not entirely sure, but I did find myself paying a lot less attention to the difficulty than I thought I would. Because at its heart, Soko Banish is a journey. A journey through disjointed rooms that by some unlikely chance contain Sokoban puzzles, but a journey no less. I feel that the game's theme and potential for atmosphere - especially with the updated graphics! - is what offsets it from other Sokoban-like games (which may in other ways be more refined), and it's something to foster.

Not coming soon: the potboiler novelisation.

Friday, August 11, 2017

Soko Banish 1.4 - Sokoban Rocks

Last time, I talked about the new graphics of Soko Banish 1.4, but naturally, this update isn't all about graphics. It's also about minor quality-of-life improvements. But on top of that, it's about Rocks and Grates, two not-so-sparkly new puzzle elements that will make Ardos's task even more difficult than his refusal to pull the stuff he's pushing (in his defence, he hasn't any arms). Rocks can be pushed like soulstones, but don't have to be on goal fields, making them obstacles that get in the way of the ever-so-important blue balls. Grates can be moved across, but not pushed across (and you can see the new level backgrounds through them!). Deceptively simple, eh? Or maybe just simple in general, whichever you feel it is. So where did these neat thingamabobs suddenly come from?

Make no-push tiles grates again.
Unlike Grates, which are a more spontaneous addition, Rocks were one of the new elements in the scrapped "Soko Banish Necronomicon" expansion all the way back in 2006 and would have found their way into modern Soko Banish sooner or later, as I do still plan to revisit the concept of an extended commercial version. Fortunately for those without the monetary means to purchase chunks of pixelated minerals, they have rumbled and tumbled their way into the free version instead. Why this decision? Why not retain the exclusivity of these precious geological features?

Because they fulfill a basic purpose and were just as basic to implement. Painfully basic, in fact. I'm still recovering from the injuries. So what made them so essential? Arcane Orbs. The idea of the Arcane Orbs was that you'd push something between them to break the invisible stream and be able to pass safely; the problem with that was the absence of any way to remove the object from in-between without substituting another. If that object was a soulstone, there had better be a rune circle somewhere between those orbs or any attempts to still solve the level would become more futile than resisting the Borg. In short, an object was needed that could disable the Orbs without needing to be retrieved afterwards, and that object was the Rock. Thank you, Dwayne.

So where will we be seeing these new elements? Not in too many places, unfortunately. The 44 "Standard" puzzles already exist and I'm not adding any more for the time being, so after the Tutorial, Rocks and Grates will only be sprinkled across the few levels that I'm improving or replacing (unsolvable "Rooms" level, I'm looking at you). The big benefit of them is that you (yes, you specifically) can use them in custom levels made in the editor, which we will hopefully be seeing more of. (Seriously, send me your levels! There's no time like the present, except for the near future when this release is actually out.)

Oh, and also, walls cast shadows now.

Up next: the non-science of level order and chaos!

Friday, August 4, 2017

Soko Banish 1.4 - Ruin Improvement

Soko Banish 1.4 development is officially underway! It's actually been underway for a bit now, but not officially, so you may have been forgiven for thinking that it was still overway. So what's on the horizon for everyone's favourite Sokoban clone? And more importantly, what's happening with Soko Banish?

Pimp my vault.
Well, quite a lot, actually, but let's focus on the one aspect that immediately sticks out for now: graphics! As I've hinted at before, Soko Banish has been long overdue for a complete visual overhaul and it looks like it's finally happening as I purge the mediocrity of 2006 from the realm of Sokobania and replace it with the newest in bush league Photoshop dorkery.

Two concerns come to mind here. The first is obvious: making the game look presentable and in line with the new interface graphics. The trickier part, however, is how to keep it looking like Soko Banish at the same time. The new graphics are admittedly a forced change - one that I feel is for the better, but also one where I'm giving players of previous versions as little choice as a kid being made to eat broccoli if the broccoli consisted of delicious true colour pixels.

This is the second worst
position to be in.
So what exactly does that entail? Keeping the illogical Boulder Dash perspective was a big part. Keeping the decorations in their essence, the basic designs of objects, the main character as an unimaginative green ball. Trying to find a way to keep the ghosts as budget Medusa Head wannabes but still worthy of the upgraded McRuins they haunt. Some graphics were painted over from their original sprites, others used their old appearances as a close reference. Wheels now look like proper spinny crank thingies. Cauldrons used actual cauldrons for reference, but hey, that's what they were intended to be in the first place.

There was one instance where I defied this, and that was the arcane orb. While there wasn't much of a problem with blue balls, it certainly wasn't one of my brightest ideas to make the insta-kill hazards essentially the same thing as what you're trying to push around. "Push the blue spheres onto goals but avoid the blue spheres" is not the clearest set of instructions I could imagine, hence I put my creativity to good use and reimagined the boring old blue balls as flashy new purple balls. Because who doesn't like those? Ardos, that's who. Because they kill him.

Haven't tried Soko Banish yet? Check out the current version here.