Dominion Strategy Forum

Please login or register.

Login with username, password and session length
Pages: [1]

Author Topic: Procession + Island  (Read 8369 times)

0 Members and 1 Guest are viewing this topic.

DG

  • Governor
  • *****
  • Offline Offline
  • Posts: 4074
  • Respect: +2624
    • View Profile
Procession + Island
« on: October 08, 2012, 08:02:33 pm »
+1

I'm again just confirming behavior for the Goko Beta. When you play a procession on an island I'm assuming that the island is set aside on the mat and is therefore not trashed by the procession. This would come under the lose track rule. However there's nothing specific to say that the procession can't trash a card that is on the island mat.

Goko currently trashes the island.
Logged

ftl

  • Mountebank
  • *****
  • Offline Offline
  • Posts: 2056
  • Shuffle iT Username: ftl
  • Respect: +1345
    • View Profile
Re: Procession + Island
« Reply #1 on: October 08, 2012, 08:12:01 pm »
0

I would guess that procession-island should result in the island and two other cards being set aside, nothing gets trashed, then you gain a card costing $5. Pretty sweet, actually.
Logged

Donald X.

  • Board Moderator
  • *
  • Offline Offline
  • Posts: 6364
  • Respect: +25699
    • View Profile
Re: Procession + Island
« Reply #2 on: October 08, 2012, 08:35:48 pm »
+2

I'm again just confirming behavior for the Goko Beta. When you play a procession on an island I'm assuming that the island is set aside on the mat and is therefore not trashed by the procession. This would come under the lose track rule. However there's nothing specific to say that the procession can't trash a card that is on the island mat.

Goko currently trashes the island.
Procession can't trash the card it played unless it's still in play.
Logged

Jeebus

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2528
  • Shuffle iT Username: jeebus
  • Respect: +1642
    • View Profile
Re: Procession + Island
« Reply #3 on: October 12, 2012, 12:59:53 am »
0

Too bad they can't get stuff like this right.

If I were to program a Dominion application, I would define all abilities that move a card (trash it, discard it, play it, etc.) as having a defined origin as well as a destination. The origin is given either in the ability itself -- for instance your hand (Remodel) or the play area (Procession's trashing ability) -- or, and I think this only applies to triggered "when you gain" abilities like Watchtower, it's given in the ability that gained the card (it could be gained to your discard or to your deck, and this would be the origin of the "when you gain" ability). When it becomes time to actually resolve the ability, if the card isn't at its origin, it isn't moved.

I think you have to do it this thoroughly if you want it to never fail. There are just too many card combinations to try to program each each one specifically.

SirPeebles

  • Cartographer
  • *****
  • Offline Offline
  • Posts: 3249
  • Respect: +5460
    • View Profile
Re: Procession + Island
« Reply #4 on: October 15, 2012, 07:38:23 am »
+2

Too bad they can't get stuff like this right.

If I were to program a Dominion application, I would define all abilities that move a card (trash it, discard it, play it, etc.) as having a defined origin as well as a destination. The origin is given either in the ability itself -- for instance your hand (Remodel) or the play area (Procession's trashing ability) -- or, and I think this only applies to triggered "when you gain" abilities like Watchtower, it's given in the ability that gained the card (it could be gained to your discard or to your deck, and this would be the origin of the "when you gain" ability). When it becomes time to actually resolve the ability, if the card isn't at its origin, it isn't moved.

I think you have to do it this thoroughly if you want it to never fail. There are just too many card combinations to try to program each each one specifically.

You'd think that with some careful, strict programming, it would be relatively easy to get your script to properly execute these weird scenarios.  As humans, we instinctively try to simplify and take mental shortcuts.  I remember when I first started playing, I would think of Militia as discard 2 cards, Remodel and Mine as replacing a card (rather than a two step process of trashing and gaining), Chapel as trashing as many cards from my hand as I wanted, and didn't appreciate that buying was distinct from gaining (or more precisely, buying is one of many events which triggers gaining).  Some of the distinctions naturally show up just playing base. Eventually someone points out that, no, you can't Chapel all of those Coppers and Estates at once after playing a few Labs.  And speaking of large hands, my Militia says you have to discard more than just two cards there champ.  But I could still imagine someone coding the Base game implementing several of these mental shortcuts, and then finding that they need to start over whenever they come to an expansion or try to patch up problems as they arise.  The former is surely depressing, but the latter is just going to lead to pain.

Or maybe I was just an idiot when I first started.  I remember I used to think that Moneylender was as good as a Gold (aside from using an action) so long as you kept it fueled with Copper.  As a result I'd buy Moneylender (sometimes more than one) and then get more Copper as I'd run low.  I still remember the first time I came to the realization that, since the Copper is being trashed, the net effect is that Moneylender is Silver while letting me skip that Copper in future draws.  In particular, I ought to just buy Silver unless I'm specifically looking to get rid of my Copper.  I think that's when I began to understand that a lot more care was put into the rules and design than I'd initially assumed.
Logged
Well you *do* need a signature...

vintermann

  • Chancellor
  • ***
  • Offline Offline
  • Posts: 21
  • Respect: +7
    • View Profile
Re: Procession + Island
« Reply #5 on: October 15, 2012, 09:54:37 am »
0

Too bad they can't get stuff like this right.

If I were to program a Dominion application, I would define all abilities that move a card (trash it, discard it, play it, etc.) as having a defined origin as well as a destination. The origin is given either in the ability itself -- for instance your hand (Remodel) or the play area (Procession's trashing ability) -- or, and I think this only applies to triggered "when you gain" abilities like Watchtower, it's given in the ability that gained the card (it could be gained to your discard or to your deck, and this would be the origin of the "when you gain" ability). When it becomes time to actually resolve the ability, if the card isn't at its origin, it isn't moved.

I think you have to do it this thoroughly if you want it to never fail. There are just too many card combinations to try to program each each one specifically.

There's one thing that's certain, and that's that when Guilds comes out, you will have to revise your assumptions ;)

I haven't looked at Isotropic's source code, but I did look at Keldon's Race for the Galaxy program. It's really well written C code, super-readable, elegant, extensible. But, I know he got quite a few challenges when implementing the last expansion (when I looked at it, it was at the second).
Logged

blueblimp

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2849
  • Respect: +1559
    • View Profile
Re: Procession + Island
« Reply #6 on: October 16, 2012, 02:37:28 pm »
+1

You'd think that with some careful, strict programming, it would be relatively easy to get your script to properly execute these weird scenarios.
I don't agree that it'd be easy. There are some ambiguous situations that have been resolved by rulings. e.g. Throne Room on Band of Misfits imitating a self-trashing card; what "it" means on Ironworks. It's not that there is anything wrong with the card text and FAQs, exactly, but you still need to go beyond that to implement everything correctly.

I agree though that it should be possible to implement in a way where everything works correctly without special cases. (Although cards with unique, game-changing mechanics like Band of Misfits, Trader, Possession, etc, may require changes throughout the code unless planned for from the start.)
Logged

ycz6

  • Minion
  • *****
  • Offline Offline
  • Posts: 676
  • Respect: +412
    • View Profile
Re: Procession + Island
« Reply #7 on: October 20, 2012, 02:13:22 pm »
+1

IIRC dougz had to make a new discard() method for each card to get Tunnel to work properly.
Logged

Jeebus

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2528
  • Shuffle iT Username: jeebus
  • Respect: +1642
    • View Profile
Re: Procession + Island
« Reply #8 on: October 20, 2012, 05:14:19 pm »
0

There's one thing that's certain, and that's that when Guilds comes out, you will have to revise your assumptions ;)

That's possible. But what I described was the "lose track" rule as it was defined before at least Dark Ages came out, and Dark Ages hasn't changed that rule (rather it has made it more relevant), and I don't expect Guild to change it either.

I don't agree that it'd be easy. There are some ambiguous situations that have been resolved by rulings. e.g. Throne Room on Band of Misfits imitating a self-trashing card; what "it" means on Ironworks.

I think you'd have to start with general routines like the one I described, and then of course some cards will have to require special code. But even if Ironworks needed a ruling (which it did), when we know the ruling it can be implemented with general routines. But I don't think it would be easy either. But it will certainly be harder if you take shortcuts like it seems the Goko people are doing.

SirPeebles

  • Cartographer
  • *****
  • Offline Offline
  • Posts: 3249
  • Respect: +5460
    • View Profile
Re: Procession + Island
« Reply #9 on: October 20, 2012, 06:29:43 pm »
0

There's one thing that's certain, and that's that when Guilds comes out, you will have to revise your assumptions ;)

That's possible. But what I described was the "lose track" rule as it was defined before at least Dark Ages came out, and Dark Ages hasn't changed that rule (rather it has made it more relevant), and I don't expect Guild to change it either.

I don't agree that it'd be easy. There are some ambiguous situations that have been resolved by rulings. e.g. Throne Room on Band of Misfits imitating a self-trashing card; what "it" means on Ironworks.

I think you'd have to start with general routines like the one I described, and then of course some cards will have to require special code. But even if Ironworks needed a ruling (which it did), when we know the ruling it can be implemented with general routines. But I don't think it would be easy either. But it will certainly be harder if you take shortcuts like it seems the Goko people are doing.

Exactly.  I agree that some cards may be phrased a bit ambiguously and therefore need clarification (like what the antecedent of some pronoun "it" may be), but once that's clarified the card will be implement correctly.  That is, nothing needs to be restructured or patched up in an ad hoc way to implement such a card.  Of course, there are going to be some really out there cards once in a while, which all but the most careful implementations will get tripped up by.  Probably noone expected a Reaction card to react to something other than the playing of an attack card until Watchtower.  Surely no one would have expected one player to make the decisions for another player until Possession.  And Band of Misfits is similar a headache.  However, given the how Band of Misfits counts as two actions for the purposes of Conspirator, it seems like there is some short cut being applied in one of their implementations.  Does Band of Misfits cause the chosen card to be played, but not left in play?  I haven't thought to check its impact on Peddler's price or "while in play" clauses.  It seems that the only action card cheaper than Band of Misfits which is in the supply with a "while this is in play" clause is Lighthouse.  Does Band of Misfits currently provide immunity to attacks while immitating Lighthouse on Goko?
Logged
Well you *do* need a signature...

Pages: [1]
 

Page created in 0.058 seconds with 20 queries.