Thursday, July 5, 2018

Obligatory Soko Banish 1.5 Post

It's that time of the year again - the time where I talk about the not so super secret project I've been working on without posting very much about. It's... Pop Rock 'n' Roll! No, just kidding, it's another Soko Banish version. Last one, I swear! Until the expansion comes out.

So what's coming in Soko Banish 1.5? What could be so big to warrant increasing the second digit in the version number after the near-complete overhaul that was 1.4.0? I'm not sure, but you're getting this stuff instead:

Custom Skins!

This looks familiar... oh no, my game is ugly again!
This is something I've been wanting to do for a long, long time - ever since the customisable walls and decorations were added in 1.3.0, actually! Now it looks like it's finally happening, barring some unexpected glitch (early experiments broke up the game into its molecules and reconstructed all the graphics from GUI fragments, so who knows what may happen). Essentially, a skin is a sub-folder containing PNG graphics to be used for the in-game objects. These are then applied by the game in three "layers":

The player's skin preference (which can be changed in the game settings) is the top layer - graphics from this skin are used whenever possible. If it's missing graphics, these gaps are first filled in by any level-specific skins defined in the editor and finally by the default graphics. Why make it so complicated? Because it's now possible to re-skin only certain objects while leaving the rest intact. Ever wanted to play as a rubber chicken but afraid of breaking the rest of the graphics with your chickeny goodness? Now you can! Get out there and squeak with the best, bucko.

Mouse Controls!

Did your keyboard spontaneously combust in the middle of playing a level? No problem! (Well, except for the fire, but that's a lower priority issue.) Simply click anywhere in the level, and Ardos will do his best to reach that spot on the most direct route, walking into danger whenever possible (hey, I said it was direct, not smart). Objects won't be pushed unless they were specifically clicked on, though it's possible to hold down the mouse button and keep pushing. There is certainly room for improvement here, but it's more of an experimental feature - something I've wanted to do, but which I don't see replacing the keyboard method as the primary input method.

Solutions!

The "light and holograms" switch.
While the game still won't solve your financial problems (it can, but it chooses not to), you will now be able to save your solutions for the Sokoban levels. You will in fact be forced to save your solution if it's shorter than the previous one. Sorry, kid - that's how it goes sometimes. Once a level has a solution stored, a light bulb button appears on the GUI bar - click it to activate hint mode, which causes a ghostly apparition of Ardos to show you where you should probably be depending on the step number you're on. Keep following that marker to re-enact the complete solution, or turn it on/off at any time as you please! Solutions are stored in the standard u/r/d/l* format so they're compatible with other Sokoban games (not that you would ever want to play a different one again *ahem*).

So when is all this happening? It's hard to say, as I haven't been terribly motivated. I must admit I'm getting a bit tired of this particular project, and as hinted earlier, 1.5 will likely be the last major release for a while to come, finally leaving the game with all or most of the expected features of a decent Sokoban adaptation. There are of course clones that take these a lot further, but Soko Banish is not those games. Even disregarding the new gameplay elements, I feel it's got enough individual charm and polish by this point to not be made entirely obsolete, and that's all I could have wanted out of the project.

Until I get to explore my options for an extended edition... "Necronomicon" is still somewhere in the idea bank.

*That's up/right/down/left, chum.

Saturday, March 31, 2018

Creating the Level Creator - 1.4 is Coming!

It's that time of the year again: I'm doing stuff! A new version of the Level Creator for Soko Banish is in the works, and it's going to add tons of long-awaited features (awaited by whom? By me, of course!). Here's a quick run-down of some major upcoming features.

Testing!

Levels can now be tested via a handy menu option in the editor, which calls sokobanish.exe from wherever it is located on the harddrive and opens the level in it - you don't even have to save! Once you finish or quit, the game closes automatically. This is possible due to some sneaky magic razzle-dazzle and fairy farts I added to the game with the 1.4.1 update, so be sure that's at least the version you're using before trying to test levels.

Managing Files!

The info.txt, levels.txt and custom graphics, that is. One of the things that's been bothering me was the levelpacks' reliance on external files that have to be added to the folder (with the correct names and formatting) manually. It's not exactly convenient. The new in-editor interface not only lets you import/create them more easily, but also gives you an overview of all the custom graphics currently in the pack and a browseable list of levels, complete with previews and level info so you know exactly what level you're moving where. You can even hide the extra info so you don't know what you're doing anymore. Gnarly!

The menu, please.

Undo & Redo!

This is a big one and was competing for top spot with the other two. (It finished in third, but nothing it can do about that.) If you ever accidentally turn your walls into ghosts and fill up the whole place with 173 cauldrons (it happens to everyone!) you can now undo your mistakes and no one will ever know. No one! Except you. Ten (10) revisions are saved, though this number can be customised by manually editing the less and less appropriately named "toolbars.ini".

Random Placement!

An idea I've been toying with for a while is a randomiser function, and now it's here. Well, not yet, but you get the idea. Simply input a density in percent and the editor will randomly spread the selected object across the level or the selected area. Now you don't even have to build it yourself! (Note: For an actual fun and solvable level, you still have to build it yourself.)

Counting!

One rune circle! Two rune circles! Three rune circles! Ah-ah-ah! And if you don't have a vampire to do it for you, the select tool will now count elements by pointing at them. If an area is selected, only objects inside it are counted, and if there are too few rune circles in the level, a status bar with a warning pops up that tells you how many are missing. Nifty!

So when is all this happening? Soon-ish, I guess. All these features and more are actually in as of writing this, but I'm too lazy to properly release the new version there's still some testing to be done. Stay tuned, and see you in Greifenhausen Keep!