Friday, August 30, 2013

Status of the Blog


I swear my body must act in concert with the moon or something.  Once a month, like clockwork, my body switches to a night schedule, and I spend a week fixing it.

But that's neither here nor there (I think that's the first time I've ever used that phrase).  I'll continue to post my Horror Text Adventure Game Dev updates once a week next month, and finish off Dominion: After Dark (only two more posts on that, I'm pretty sure).  Beyond that... well, I've discovered it's useless to plan too far, trying to guess what I'll feel like doing over the next month, so instead I'll just say it's a surprise... for both of us.


Tuesday, August 27, 2013

Dominion: After Dark Part 4


Now we are going to get into a new, complex mechanic that requires understanding a bunch of cards at once.  There is a set of cards called Apparitions, and a card called Poltergeist, which cannot be bought, and must be gained by playing certain cards and fulfilling certain conditions.  This mechanic isn't completely out of the ordinary, since Dominion: Dark Ages takes advantage of this kind of thing, such as with Hermit/Madman, Spoils, etc.

First, the fun card: Poltergeist.

Poltergeist card
Reminds me of those Alvin Schwartz books.
I spent quite a lot of time working and reworking Poltergeist, and I think I finally hit something that works without being to devastating.  My original card was something like "Trash a card from your hand; each other player gains Curses equal to its cost."  This was intended to be a very harsh card, but it would be exceedingly difficult to get; however, I found that it was easy to get a Poltergeist early game (as I'll explain later), and the Curses would be gone in minutes.  So next I cut it in half, by saying that each player got Curses equal to half the cost of the trashed card.

Didn't matter; it was still ridiculously overpowered.  The variance of cost of the trashed card meant that a player could send a game spiraling down into chaos.  It was good for a laugh, but ultimately it became too frustrating.

But I didn't give up.  I knew I wanted a Poltergeist, and I knew I wanted it to be hard to get, and I knew I wanted it to be a great card to get--but not necessarily so powerful that you'd be a fool not to go for it.  It had to be a risk to attempt to get that might pay off later, and each player would need to decide if it was worth it in any game.

So I think I finally came up with a solution, which is this final card.  You still must trash a card, but it does different things depending on the type, similar to cards like Ironworks or Tribute (from Dominion: Intrigue).  Also, here, it is no longer strictly an attack, so it's not just for evil players anymore.

But how do you get a Poltergeist, if it's not in the supply?  With these:

Apparitions
They don't really need to be purple; it just looked good.
There are only a few of each kind of Apparition, and all four get shuffled together and placed face-down, similar to Ruins from Dominion: Dark Ages.  On the surface, they seem nearly as useless as Ruins, as well.  However, they act as an intermediate step on the way to getting Poltergeist.

I also tried a few variations of these, before landing on the condition to gain a Poltergeist.  I tried "If you already played another action this turn, trash this and gain a Poltergeist."  But that was far too simple, which led to a quick Poltergeist.  So I upped the ante, and said you must also trash the Action you previously played.  Didn't matter.  How about if you gain a Curse yourself?  Well, sure, that kind of works, but now it's too big of a risk, and players are highly unlikely to go for it.

So ultimately I tossed out most of those ideas, and came up with this one.  I decided that buying a Victory card is something that rarely happens early game (unless you've got something like Island from Dominion: Seaside or Great Hall from Dominion: Intrigue), so the odds are a bit fairer that you'd decide to clog your deck so quickly.  And besides, even if you do want to get a Poltergeist quick, it's been nerfed a fair bit.

And, of course, Apparitions aren't in the supply, so how do you get them?  Well, here are a few cards that might give you an Apparition:

Cards that give you Apparitions
And more to come!
Each of these gains you an Apparition in a slightly different way.

Banshee gets you an Apparition if you or another player trashes an Action, but that's a fairly rare occurrence (some games don't even have a way to trash Actions), so I made the card cheap and you get a basic bonus along with it.

Dark Forest requires you to trash itself.  So do you want to lose two Victory Points for an Apparition (or another Attack card)?

Ghost Town is your basic Village-type card, and since the big bonus of Villages is the 2 Actions, you kind of get the consolation prize of an Apparition if that's the only Action you end up playing.  But you've got to be careful with this card, since it's a mandatory gain.  If you don't want to get stuck with Apparitions if that's not your strategy, getting a bunch of Ghost Towns early game (like is often the case with Village cards) is not ideal for you.

Seance is another one that has a mandatory Apparition gain, but since that is almost all it does, you'll only want to get it if that's what you're going for.  It used to have a more interesting combo behind it, when playing an Apparition meant you trashed the Action you previously played; since Seance gives you an extra action, and puts the Apparition in your hand, you basically play the Seance to blast through the Apparition stage of the combo and go straight to Poltergeist.  That interesting mechanic has been lost, but it's for the better, I think, considering how much better the Apparition/Poltergeist mechanic works overall now.

Friday, August 23, 2013

Dev Log: Horror Text Adventure #17


The player can type stuff, and things happen!

Well, the player can say "go <dir>" and if there is another room in that <dir>, then they go there.  That's it for the moment, but that means I've placed the dictionary appropriately, and the structure of the system is coming along well.

I can connect any number of rooms (currently it's manual; I'll need to work on world gen later), and the room descriptions display properly when the player moves from room to room.

Now, perhaps I should let the player pick things up?

Tuesday, August 20, 2013

Dominion: After Dark Part 3


Now comes some other interesting cards that interact with Charms in different ways.  Some of these cards also expand the use of Charms, so they're not purely limited to blocking Curses.

4 cards that use Charms in odd ways
Charms behaving oddly, and more Reactions.  Click to enlarge.
Con Man is similar to Midwife in its basic bonuses: you get some things standard, and then you get to pick another.  The real fun of Con Man comes in on the Reaction.  You can end up with a chain of players stealing Charms from each other that goes around and around until players run out of Con Men!  The minute details and timing conflicts of this card are dealt with in the errata, which I'll post at the end of this series, once I've shown all the cards.

Goblin is great because it works whether Charms are in the game or not.  It is also not an Attack, so there is no blocking it.  I kept it out of being an Attack because players can simply choose not to do anything, which gives the Goblin player more money, but it never directly hurts another player without their consent.  I like Goblin because a player can choose to hurt themselves to block the Goblin player's bonus.  And it doesn't hurt very often, especially if this is the only use of Charms in that game, or if you have a card you don't need in your hand anyway.

Hideaway is kind of like a Charm-variant of Moat (from vanilla Dominion).  It helps generalize the affect of Charms, as well, blocking all attacks instead of simply blocking Curses.

Physician is a decently simple card with a fairly simple Reaction to boot, but it can add up quickly if there's a Curse-giving attack going around.  The only trouble with this card is that, unlike other Charm-specific cards, this one doesn't give Charms, so you must use another Charm-giving card in your set.

The problem arises that you might pick a card that gives Charms, but not one that makes use of them, or vice versa.  Sure, there's always that Dominion: Alchemy stipulation, "Don't do that," but I know that's not very satisfying.  I wish I had a more elegant solution, but for now I've tried giving enough possibilities that the need for that will be rare.  Since most Token-based cards, like Pirate Ship (from Dominion: Seaside) and Trade Route (from Dominion: Prosperity) keep to themselves, coming up with a multi-use token that can interact with normal Dominion cards was quite a challenge.  Hopefully I made Charms fun without too much trouble.  Some cards may end up with a little tweaking, but I think it's a decent start.

Friday, August 16, 2013

Dominion: After Dark Part 2

Now that we're starting to dole out the Curses with those attacks, how about we find some ways to block them?

In Dominion: After Dark, I introduce a new token called Charms.  Basically, you gain Charms (putting them on a mat, like you do for Victory Tokens in Dominion: Prosperity, for instance) through cards like the ones below, and if, at any point, you are supposed to gain a Curse, you may simply remove a Charm from your Charm Mat instead.  The Curse that would go to you stays in the Curse pile (so you may not be able to block it forever!).  Of course, if you are out of Charms, you gain the Curse like normal.

Cards with Charms and Reactions
Reactions ahoy! Click to enlarge.
All four of these cards are similar in structure: they all give you some basic bonuses, and add a Reaction to the mix.

Campfire, like Zombie before, allows you to trigger the Reaction yourself, while the card is in play.  However, you can also trigger the effect while it's in your hand, or use it as a normal Reaction.

Chaplain has a much simpler, easy-to-follow normal reaction, so the more intriguing part is playing it outright.  Because you can only trash cards costing more than $0, you can't trash Curses, Coppers, or Ruins (from Dominion: Dark Ages).  So if you want to gain a Charm this way, it has to hurt a little.  I think it needs a little more testing, because I'm considering reducing the price to $3.  We'll see.

Folklorist is fairly self-explanatory, except that it has two Reactions: the first is a normal Reaction (though you could potentially trigger it on your own turn), but the second Reaction requires the card to be in play.  However, both of them say basically the same thing: if you have this card in hand or in play, you don't get Curses.  I had to give two separate Reactions just because of the subtleties, but it's basically a catch-all for Curses.

Midwife is kind of cute and rather useful in that way that only $2 cards can be.  First, you're guaranteed to draw a card.  Then you choose whether you want to draw a second card, play another action, or gain a Charm.  It's a little like Pawn or other Dominion: Intrigue cards.  But it's also got a fairly fun Reaction too, though it's standard in that it only triggers on other players' turns.  Pay attention to that Reaction! It can really add up late game!

Tuesday, August 13, 2013

Dev Log: Horror Text Adventure #16

I've got rooms to connect back and forth via doubly linked list, so it should be possible to move from room to room.  Except that I'm trying to figure out exactly how to implement the dictionary.  Well, not how, exactly, but where.  Make the dictionary a static function or a singleton?  Or include it in the Interface class?  At first I had it in the Interface class, and that works great for getting things to show up on the screen, but it has a hard time talking to the player.  So I think if it stayed in the Interface class, I'd have to jump through hoops to move the player from room to room, and probably to make the player pick up objects and all that stuff.

I did see a neat trick while I was trying to figure out the best implementation: upon instantiation of that object, include as a variable a pointer to the other stuff I need.  So if I had a Dictionary class (or if I keep the dictionary in the Interface), I add a pointer to the player on instantiation, and that allows me to use it as I please on a whim.

Pointers! And I've been using pointers for rooms this whole time!  I should be able to implement that without too much trouble, and see where it leads me.  It would certainly be cleaner than keeping it in the Interface class, which gets clogged if I do.

Friday, August 9, 2013

Dominion: After Dark Part 1

I've been designing and testing a new Dominion expansion called Dominion: After Dark.  There are a couple of mechanical themes running through it, which will be introduced as I go.

The visual theme is horror and spookiness, so there are naturally quite a few attacks.  Here are a few vicious cards to begin with:

Four Attack Cards
Lots of Attacks!  Click to enlarge.
Angry Mob is kind of like an anti-attack attack card: you use it to get rid of other players' attacks.  It is also similar to the Knight caveat from Dominion: Dark Ages, in that if two Angry Mobs clash, they both get trashed.  This is a useful Attack for players who hate Attacks.  (However, if you hate Attacks, you probably won't want to play Dominion: After Dark).

Ripper is a card that might be worth it to you, if you favor damaging other players rather than boosting up your own deck.  It has the disadvantage of forcing you to discard one of your own cards, but it's worse for the victims.

Werewolf is kind of cliche; I've actually seen similar Werewolf cards (more than once!) in other fan made sets.  Using Silver as a bane and giving the players Curses is the obvious stuff, but I tried to put a new wrinkle in it by allowing the player to potentially gain another Werewolf.

Zombie is pretty devious as well, but like the other three attacks here, you have to be very careful about how you play it.  If you play Zombie, and then you have another action available (assuming you played a Village card of some sort beforehand), then play another action, you lose that action you played, and gain a Zombie in its place.  That's a tricky Reaction that you may want to avoid (depending).  It won't come up often, but you've got to be careful anyway.  The main attack, however, is simple, but evil: since victims must discard one card if they have three or more, that means they might potentially be down to just two cards by the time it gets to their turn.  Zombies slowly eat away at your hand (yes, this entire set is full of punny symbolism).

With Zombie, you also see one of the tricky themes of this set: Reactions that behave in odd ways.  Usually, Reactions are triggered by other players, and you reveal the Reaction card from your hand.  In Dominion: After Dark, you can trigger your own Reactions as you play your hand, and there are quite a few of these kinds of cards.  You'll see more of this kind of Reaction card spaced throughout the set.

Tuesday, August 6, 2013

Dev Log: Horror Text Adventure #15

I didn't get much done the past couple weeks; mostly I got item descriptions to show up correctly.  I think I've got it down to the minimum number of lines possible, though that's not necessarily the best or most elegant solution (those lines are a little complex and have functions within functions).

But in any case, it works for any number of items with any number of sentences in their description.  I think the next thing I'll try to tackle is getting some world gen sort of things, so rooms can be made up and connect to each other.  Not sure how to do that quite yet, so this may be a frustrating experiment.

Friday, August 2, 2013

High Noon

High Noon is a poker game using a standard 52-card deck.  2-9 players can play on a single deck, though with more players, the deck gets pretty thin.  Each round of High Noon is played with the following steps:

Step 1:  Each player is dealt a hand of five cards, face-down.

Step 2:  Each player may choose to discard one card, which is kept face-down.  When each player has discarded a card (or passed without doing so), the dealer burns a card, then reveals one community card.

Steps 3 & 4:  Repeat step 2 twice more.  This results in three community cards being revealed, and each player ends with two to five cards in hand, depending on how many they discarded.

Step 5:  Each player reveals their hand.  Players use all of the cards in their hand, plus whatever community cards they choose to make their final hand.

Possible hands:  A player with five cards in hand uses the five cards in their hand, and no community cards.  A player with four or three cards in hand uses them, plus one or two community cards (respectively) of their choice.  A player with two cards in hand uses the two cards in hand, plus all three community cards to make their hand.

List of all Poker hands
In case you forgot.
There are three variants to High Noon based on the style of betting:

Standoff: Each player antes at the beginning, before being dealt a hand.  This is the only betting that takes place.  Therefore, players have no reason to fold, so all players stay to the end and reveal their cards.

Showdown: This variant uses a forced bet called a mid, which has the same value as the ante, but can happen in the middle of the hand.  (I made up the term 'mid' for this kind of bet, because I can't find any real term for it.)  In Showdown, each player antes at the beginning of the hand, before cards are dealt, and then either mids or folds between each step.

Shootout: Each player antes at the beginning, and then partakes in a standard round of betting between each step.  Standard betting includes opening, calling, checking, raising, re-raising, or folding.