Wednesday, October 4, 2017

GNOP 2.0 - The Gnopening

With Soko Banish 1.4 released (grab it here if you haven't yet!) and no other versions planned for the near future, you may be wondering what I've been up to. You may be sitting there, playing your favourite Sokoban clone and thinking "there must be something amazing in the works from my favourite computer game developer right now". And you may be right, but I can't speak for other people, so I'll just tell you what I've been doing:


Working on the newest version of GNOP! What's that, you ask? GNOP is a Pong clone I first created in 2005. (Try reading it backwards - it's "PONG". Clever, aren't I?) The idea was to create a version of this simple game that is customisable and has different AI levels. It also had better physics than I was used to. So I slapped a settings screen together, released the whole thing, updated it a couple times with exciting things like improved AI and a bug that completely broke the 2-player mode, shared it with no one significant and put it in cryostasis for a decade until I eventually re-released it on Lanschilandia Games when the site launched, barely altered from its original state.

This original state is now gone. No, really. Surprisingly, it turns out that what I created a decade ago doesn't really match my present day standards anymore (*cough*Soko Banish*cough*) and won't do with merely a few feature upgrades, so I overhauled the entire core engine and replaced pretty much everything apart from some assets. This made the planned 0.1.0 version step increase look a bit silly, hence GNOP 1.3 is now known under the ever-so-fancy name GNOP 2.0. But what is actually new in this upcoming release (apart from, y'know, everything)?

Can you pong with all the colours of the wind?
Shown here is the new game configuration screen in its current work-in-progress form. When you compare it to the old one, it becomes fairly apparent that I have changed the game logo. If you look closely, however, you may also notice a bunch of new settings. So what do these entail? Briefly put, what can be changed now about the game experience?

Apart from the core engine, nearly everything. Both paddles can be customised, not just in the colour as before, but their entire graphics (you can import your own), sizes, speeds, the sounds they make and how (or by what) they are controlled. Then there's the ball, which can now be recoloured, resized, re...speeded and even spin. Heck, you can replace it with da Vinci's Last Supper (or even his lunch from two weeks ago) and fling it all over the screen. And speaking of the screen, you can customise that as well with very flexible stage sizes (the window resizes automatically), backgrounds and (unfortunately pre-defined) special effects, specially copied largely from Soko Banish because I'm lazy and no longer limited to the starfield from the original game. The possibilities are endless!* (*NOTE: Possibilities are not actually endless.)

Want to re-enact historical ping-pong battles? Pretend you're Yogi Berra pilfering those pic-a-nic baskets? Have an epic light sabre fight, only the light sabres are inexplicably Pong paddles? Now you can! Well, not now, actually. But when the new version is out, you most certainly can. Maybe.

Oh, if you look at the bottom left, you'll see a save/load feature for the different configurations, so you don't have to set up everything again later. The game will also come with a few premade configuration files, and more might show up on the website รก la Soko Banish level sets. Stay tuned!

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.

Tuesday, May 2, 2017

Soko Banish 1.3 - Status Symbols

Dah-dah-dah-dah! It's that time of the year again where I show you things from Soko Banish 1.3 to drool over - or perhaps even vaguely appreciate. Huzzah! Let's get on with it, shall we?

Conserve energy: turn off the lights when you change your settings.

There are two things to see here, the first of which are the settings. These are what pops up when the player presses "Escape" now, replacing the ugly old retry and quit pop-up and darkening the rest of the screen as is all the rage in pop-up menu fashion. I mentioned the settings on [my previous post] and I don't think there are any big surprises here, but I still wanted to showcase how it actually looks in action right now. The runes spell "Soko", in case you were wondering - the game has had that little thing going about Germanic runes appearing here and there because old-timey magicks, though I may not be doing much more with that.

Perhaps more surprisingly (and illuminated for your convenience), we can see the new status bar thingy, formerly known as wasted screen space. I'm not sure what I was thinking when I originally dedicated the entire bottom row of tiles to only a small level changer, but the bar finally has all the kinds of useful things one would expect to find there, like basic GUI functions.

I had actually already done this in what would have become Soko Banish's "Necronomicon" expansion before I scrapped it, but I'm not exactly crazy about recycling old material from 2006/07 when I don't absolutely have to, so I started it over from scratch, taking the opportunity to tinker with the graphics a bit to turn vaguely wood-looking blocks into something more akin to limestone. The wyvern(?) statues are still the old ones - I might update them some day, but I'll need to be careful with that; they're a very characteristic part of the game's appearance.

So, what's new here? From left to right, we first see the new step counter in action, counting steps like a step counter does. Those are footprints on the icon, in case it's too tiny to tell. Next to that is the timer, counting in minutes and seconds and going up to 99:99, which I hope no one's going to legitimately want to exceed in a single session of playing a 20x14 Sokoban puzzle (though if you do have that sort of time to waste, let me know and I may have some tasks for you!). Both of these can be switched off in the settings and will be switched off by default, as this kind of game honestly ought to be about finding solutions to the puzzles and not optimising your performance. Results aren't saved, but if you care about such stats, you can now see them while you play! Oh, and there's the level name at the bottom, which is automatically filled in as "Level #" for untitled levels - such as this one, and pretty much every other level right now because the meta data pixies are lazy clods.

On the other side of the level selection (which works the same as it always has) are a couple of useful buttons. Retry and Quit are finally where you would expect them to be instead of being confined to an unnecessary Esc menu - this also means no menu will pop up when the player character dies now, allowing you to undo if you'd rather not start the whole thing over. The gear once again opens the settings, while the fat "i" stands for info and displays the level's meta data in a pop-up. I was considering showing this automatically at the start of each level, as happens in the brilliant MESH: Hero games that I heartily recommend and am not being paid to advertise, but I figured it's probably nicer to see the actual levels when zapping around. No more pop-ups! Except when you want them.

So, what's next? Apart from some graphics work: converting all the old stages, finishing up a half-finished feature or two and a lot of testing. There are tons of things that I'd love to see in the game eventually (saving solutions! Saving level states! Saving Private Ryan!), but I think people would rather be able to actually play this than listen to me rant and rave about all the things they don't get to try out yet. Considering the 1.1 update was as significant as fixing a bug and adding a blinking animation, it's about time to get 1.3 ready for release before it turns into version 3.1, growing up without its version number parents so it can dress like a flying mammal to spread fear into the hearts of software bugs and terrible GUI approaches.

Tuesday, March 21, 2017

Soko Banish 1.3 - Choose Your Destiny

Progress has been slow on Sokobanish 1.3, but it's still going somewhere when I'm not too occupied with drawing comic pages and wallowing in self-pity. Showcased here is the new level select screen! I posted a sneak peek of this in the Lanschilandia Games news a while ago, and as I promised there, here's a more detailed look.

More intelligent discourse than my usual writing.
So, what's new? Quite a lot, in fact, since I finally separated all this stuff from its primitive home on the old title screen. In the top-left corner, you can see the overview of level sets - this is roughly the same list as the old one, but looking quite a bit neater, framed by a sort of book shelf. Because it's the level library. Get it? Me neither.

In place of putting in a level number, the levels are now listed as fancy soulstone spheres in the somewhat stage-like section of the screen. (Because they're stages. Hehehe.) This not only gives you an overview of how many levels are actually in the set, but also lets me do some other neat things.

For starters, selecting them now reveals meta info! This can be set in the updated Level Creator, with the exception of the preview, which is generated automatically by rendering the level data with tiny-sized versions of the game elements. Since it shrinks the actual in-game graphics, custom tiles will also show up as they should in the preview. The level sets have meta info as well, which is simply the contents of a file named "info.txt" that can be placed in the level set folder.

You may also notice the little rune circle icon on one of my test levels - it indicates that the level has been completed. In the top-right corner are the player profiles, framed by, well, a picture frame. Selecting "<New player>" and attempting to start a level will prompt the user to enter a name, thus creating a profile for them. Huzzah!

And yes, as the good old gear button between "Play!" and "Quit" implies, the game now has an actual options dialogue with fascinating basic settings like volume controls and switching off the game's full-screen mode. It's funny how the need for basic GUI functionality never seemed to occur to me back in 2006, but I like to pretend I've gotten better with that sort of thing. Maybe.

Oh, and there's an experimental new feature implied by the contents of the level set list. Can you guess what it is?

##  #####
# .$. @ #
# #  $  #
#   #####

Wednesday, March 8, 2017

Review: Sokoban Online

Wait, what's that? Shouldn't I be talking about my own projects here? I probably should, but in absence of much to report and a lack of motivation to devote what time I can find outside of my webcomic to working on my projects over at Lanschilandia Games, you may be seeing the occasional review from me.

Today's subject is Sokoban Online, a free browser game by Uphill Studio LLC. The game can be played here. Let's kick it off then, shall we?

So, what is it?

Sokoban is a puzzle game published in 1982 by Thinking Rabbit about pushing boxes onto goal fields. It's spawned probably thousands of clones and variations and hundreds of thousands of Sokoban puzzles can be found on the internet. My own game, Soko Banish, is obviously a clone as well at its core.

How does this one hold up?

Sokoban Online, as the name would indicate, is an online adaptation of the classic game. It can be played directly in a browser and registering an account enables it to keep track of solved levels, scores and more.

Levels can also be built and shared, either using the classic Sokoban tiles by themselves or in combination with a number of new puzzle elements that more-or-less fit into the game concept. This easy online level sharing and playing is perhaps the game's strongest point, being neatly integrated with the website and player accounts. There's a limit of how many levels can be shared, after which a small fee is required to unlock more space, but prices are reasonable at only a dollar for 100 slots (which most people never seem to fill, according to site statistics). Everything else is completely free, save for a few purely optical replacements for the player character graphics (there are two included with a free account).

One of over 100,000 puzzles in Sokoban Online.
After a quick optional sign-up process, what sticks out is the number of levels available - over 100,000 as of writing this review. Now, these of course weren't all made for Sokoban Online, but include conversions of multitudes of puzzles scattered around the internet (and other Sokoban games), grouped by author. Added to that are the new levels, created by players and staff. Even after solving hundreds of puzzles, the statistics on the main page still tease with a completion percentage of less than 1% that will most likely never reach 100. Overwhelmed yet?

You very well may be, because browsing this database isn't always easy. After finishing a short tutorial and official "lessons", you are largely on your own in trying to find something that interests you, which can be difficult, as browsing is basic and there is no search. Nothing can be sorted (it's always by alphabet), no tags and almost no filtering, ratings are basic and so under-utilised they may as well not exist, descriptions are sparse at best. There are a few ways to get "recommendations", but they don't seem to be personalised and finding puzzles of a particular style, size or difficulty is impossible if you don't already know where to look. Even finding most of the staff-made levels is tricky (hint: look for "Jeffrey" in the directory for community-built puzzles). A help tab currently offers some outdated info, including links to sections that no longer exist.

The game itself is decently realised, if very basic. Arrow keys to move, U to undo, R to restart. No mouse controls, but the mouse is used for site navigation (including going to the next puzzle), so the player has to switch back and forth a lot. There is also a full-screen mode, but it doesn't remain active when the puzzle changes. The new elements are nice to have, but a mixed bag - some fit quite well, like the grey blocks and holes straight from "Sokonex", while others, like the magnets, feel unnecessary or too complex. There is also a bug involving icy floors and the undo function that makes boxes disappear. Levels can play quite differently depending on which of the new elements they use (if any), so it would have been great to have a filter for that.

What seems like more of a curse than a blessing is the game's competitive focus. When you solve a puzzle, the site saves the number of steps you took - not just for yourself, but it's also shared publicly, whether you want it to be or not. This score may then appear on the level's leaderboard, where the first three places are awarded with trophy badges and "EXP" displayed on the account. While it's all optional, the omnipresence of this aspect around the site creates pressure to solve levels in the fewest steps possible (and some are specifically built to be hard to optimise rather than hard to solve), which limits the feeling of accomplishment from solving the puzzles. Planning an optimal solution manually is hard to impossible, and Sokoban Online with its lack of features makes it a pain in the box, requiring many restarts and memorising your steps because the game won't do it for you. Adding to that, the availability of automatic move optimisers means that the top score on almost all (classic) levels is the absolute lowest amount of steps possible, so unless you want to waste time with external tools or a lot of trial and error, expect the game to continuously taunt you with the "invisible" trophies you're earning.

So, is it worth checking out?

Definitely, for its online approach alone - and there's no harm, after all, as it's free and runs in the browser. It also makes for an easily accessible way to try out a whole bunch of classic Sokoban puzzles without downloading them (if you can find the sort you're looking for), and new elements can introduce interesting challenges in the levels that utilise them well. For comfort and quality-of-life features while playing classic Sokoban, there are certainly better and much more customisable options available, though as a completely web-based clone with account integration and online level sharing, Sokoban Online is still worth a look.