Saturday, February 21, 2015

Flash Game Mini-Review: Mahjong Master

Sometimes you just want to relax.  You don't want to play an epic game, a fast-paced game, an addicting game, or anything else; you just want to play something familiar, something to de-stress and unwind.

Mahjong Master

That's all Mahjong Master is: it's a classic game of Mahjong, no more and no less.  It doesn't try to do funky things with new mechanics or give you points to spend or upgrade.  All it does is present Mahjong, with calm music and a calm background.  It's the sort of game that ordinarily would get no attention, which is exactly why I'm giving it some.

You have your choice of twelve layouts, beginning with the classic turtle, of course (which I always thought was a wicker basket when I was a kid).  You also can choose between four kinds of tiles, and you can shuffle and take hints.  Selectable tiles are highlighted, and immoveable tiles are dimmed.  The best feature, of course, is being able to turn off the sound effects and music (as nice as they are) so you can listen to your own. 

You also get to see how many tiles and matches you have left, which is especially useful to know when it's the appropriate time to shuffle.

Technically speaking, the matches number is slightly off, if you have a triple or quadruple match (having three matching tiles out gives three possible matches, but it reads as two, and likewise all four tiles out means six matches, but it reads as three).  But that's the only bug in the whole thing.

Sit back, relax, unwind.  Play Mahjong Master.

Friday, February 20, 2015

FissureVerse - #41: Art

Eight more cards to add to the pile of completes!

Capitalia, Blue Blazes, Eclipse, Red Skies, Cave of the Weeping, Holiday
Click to see!
In each case for these locations, the artwork has been changed but the flavor text has remained the same.  Thanks to Byzwa Dher, Hillary Wilson, Esherymack, and Chris Cold for the art for these.

Medical Frigate, Seedling
Click to see!
Medical Frigate has been balanced a little to move in line with similar cards, and has otherwise gotten new art and flavor text.

Seedling I believe has remained the same in terms of stats, but it finally got great new artwork by Stéphane Robert.  I decided to skip flavor text on that one because I think Seedling looks somber enough.  Besides, trees don't talk.

Friday, February 13, 2015


Sorry for missing a couple of weeks here.  I've been working on stuff, particularly on FissureVerse, but there's not yet enough to show for a post.  I had meant to make February a month for DOOM levels, but FissureVerse is crowding my mind, so that's what's going to be posted.  I'll make a post next week about it; I hope to have eight cards to show by then.

Wednesday, January 28, 2015

FissureVerse... Organized

I've started uploading FissureVerse cards to Google Drive, which should be freely accessible if you have a link (clicky clicky).  I've added the link to the main FissureVerse page as well for easy access.  I'll be uploading more cards as they get created, replace cards that get updated, and of course adding instructions.  Each card has been individually uploaded, so if you're playing and one of your cards gets damaged and you want just that one, you don't have to waste any ink printing out a page of eight cards.  Though, I'll probably also add each full set as a PDF as well, so you can print out a whole set if you like.  I've also organized the drive so there's space set up for new expansions, when they come out.  At present, there are no Location, Frenzy, or Red cards, but of course that'll change as I get more permission from artists to use their work (or find new artists).

Think of the Google Drive as the current definitive versions of the cards; everything previous to that is old stuff.  Of course I'll continue to make blog posts about FissureVerse, and make note whenever any cards get added, changed, etc.

Currently, I've got a total of 32 files uploaded (including card backs and tokens) out of an expected 195 for the base set... so I have a long way to go.

Part 41: New Art...

Friday, January 23, 2015

Latchkey #65 - Drop Command

Fixed the Drop command to work with the new parser function.  Should work, and I haven't yet needed to make it any shorter or longer, so that seems like a plus.

That's about it; no testing yet since I need to get the Take command working first, and preferably all the others.  What I really need to do before this gets too deep is get the parser to take adjectives so it can determine which of multiple kinds of the same item/barrier is the one being talked about.  Right now I'm reading in multiple items/barriers in the verb functions, but I'm only taking the first listed and assuming that's what the player wants.  I think I'm gonna need a whiteboard for that, so I can make some flowcharts and then some pseudocode.  It seems like a mess.  But perhaps, like a lot of the things I dread, it'll be easier than I expect.

Friday, January 16, 2015

Latchkey #64 - Parser Work

I went back and split the enormous parser function into bite-size pieces.  That way I just get to the verb first, and check for other things as necessary.  I figure, if the player types a command that in no way could reference barriers, there's no point in checking for barriers in the player's command, yet normally that's one of the first things to be checked.  This new way of putting the verb first might possibly reduce unnecessary steps, but at the very least it should make things easier to understand at a glance.  That parser command is big and nasty and I had trouble understanding what I coded, even with comments in place.  This new change isn't fully implemented yet, but the functions exist without syntax errors, so it's a start.

It ends up chopping the parser command into five functions: the main one that gets the verb, then one for checking barriers, one for checking items in the room, the one for checking items in the player's inventory, and one for checking direction words.  I'll also need to check for adjectives, which so far has been half coded in horrendous way, but that code should be scrapped and recreated in a smaller function, which will hopefully be easier and less confusing soon.  Maybe.

Next Log: Getting the Drop Command to work with the new Parser Function

Friday, January 9, 2015

Latchkey #63 - Take & Drop Commands

I fixed the take command (in a haphazard way, as I do everything) so the player can't pick up an item they've already picked up, so now there's no more duplicated items.

Next, I recoded the drop command, so the player can now drop items again.  Fortunately, that went off without a hitch (well, without many hitches).

I then discovered two more bugs in the take command when testing. First, if the player tries to take an item that's untakeable, he gets the proper message first ("It's too big or heavy"), followed by the wrong message ("Your hands are full").  This is due to some reworking of the take command which eliminated an extra if statement I no longer needed... or so I thought.  The bigger bug (which I think comes from the same removed if statement) is a crash when you try to take anything that isn't there, including items not in the room, non-items ("take gobbledegook"), or nothing at all ("take").  But I think what I actually need to do is stop that stuff from happening before it even gets to the take verb, and instead blocks these from happening while in the main parser.

Perhaps, instead, I need to break down the rather large parser function into smaller bits, called upon by the verb functions themselves.  That way there isn't much wasted time when parsing.  For instance, there's no need to check for items if the player is just walking to the next room.  That will take some time to recode, while I'm in the middle of recoding all the verbs.

I wouldn't want to be me right now.

Next log: Parser Work.