[Home]FreeDom/PlannedFeatures

ec2-3-147-104-248.us-east-2.compute.amazonaws.com | ToothyWiki | FreeDom | RecentChanges | Login | Webcomic

Planned for the next release:


Possible for next release (no longer under consideration):



I intend to implement the following as settings or automatic actions.
Do the lists below look complete? Would you like any of the rejected Settings implemented? Would you be confused by any of the proposed Automatics happening automatically?
I think the auto-Treasury-on-top-of-deck definitely should be added, because many people switch away from the game having clicked their buy, and fail to notice the game prompt them about Treasuries until an hour later or more. I think Upgrade should also auto-gain-nothing if *no* replacement exists. It feels to me like Baron shouldn't prompt you to discard an Estate if there is one in your hand - there's really nothing being chosen at all there, it *should* be automatic. Otherwise, the lists look very good; I'd be very happy to see these go in. --AlexChurchill
Sounds fair enough. And yes, wherever it says "only card" below, you can read "or no viable". --CH

Something that springs to mind (although I'm not sure if there are any such examples where it would happen): sometimes you want to play an action (that says "you may...") and not do anything with it. e.g. If you have Conspirator. So you wouldn't want it necessarily to automagically go ahead and do the action. As  say, I can't think of any such examples, but they could potentially exist. Other than that, it looks very nice. --qqzm
This covers your Bishop point below, but my line has been that if you have no choice then it's automatic; if there's a choice you'll usually want to take it's a candidate for a setting. --CH

Automatics
Bureaucrat: Show hand devoid of Victories
Moneylender: Trash copper if present.
Remodel: Trash card if only one type in hand
Thief: Discard both revealed cards if neither is treasure
Throne Room: Choose only action card in hand
Mine: Trash treasure if only one type in hand
Baron: Proceed when no Estate in hand
Scout: Place last card once second-last chosen
Upgrade: Trash card if only one type in hand; gain replacement if only one exists
Trading Post: Trash if 2 or fewer cards in hand
Haven: Set aside if only one type in hand
Pearl Diver: Just look (no move) if only one card in deck
Ambassador: Reveal if only one type in hand
Lookout: Trash if only one card in deck (already implemented)
Warehouse: Discard all cards if 3 or fewer in hand
Smuggler: Gain if only one viable card gained last turn
This doesn't seem to be happening (while all the others here do). --AC
You're right - I noted it on the bugs list yesterday. --CH
Cutpurse: Discard or reveal empty
Island: Set aside if only one type in hand
Treasure Map: Fully auto
Pirate Ship: Trash or not if 1 or 0 Treasure types revealed
Salvager: Trash if only one type in hand
Navigator: Place last card once second-last chosen
Trade Route: Trash if only one type in hand
Bishop: Trash if only one type in hand
Do you mean just for your own Bishops, or everyone's? Yours is fine, but it should probably be optional for when somebody else plays Bishop. --qqzm
Expand: Trash if only one type in hand
King's Court: Choose only action card in hand
Forge: Gain if only one legal choice

Settings
Moat: Automoat
Bureaucrat: Autocrat - place victory if only one type
Torturer: Autochoose Curse (no, I can't see many people turning this on!) [No point autochoosing Discard, since it needs further input]
Mountebank: Autodiscard if Curse present

Things which could be settings but which I won't implement
Chancellor: Autodiscard deck [Occurs on your turn, so no significant speed-up]
Secret Chamber: Autoreact [Needs further input, so no significant speed-up]
Baron: Always discard if Estate present [Occurs on your turn, so no significant speed-up]
Explorer: Always reveal Province if present [Occurs on your turn, so no significant speed-up]
Treasury: Always keep on deck when possible [Occurs on your turn, so no significant speed-up]
Mint: Always reveal Treasure if only one type [Occurs on your turn, so no significant speed-up]


Planned Features
The following are intended to go into a future release. Please help me prioritise by voting! I'll leave an empty Priority: bullet with each - add + or - if you want to indicate a desire for a feature to be done soon, or relative apathy regarding a feature.
Please don't cancel + with -; ++--+ is much more interesting that just
+.

You can also leave English comments below.

Expansions
Engine
Interface - Notification
Interface - Other

Comments / Feature Requests
Can we get a plain old cardlist page?  Not particularly for the game itself, but for the inevitable dominion discussions.  --Vitenka :Seems like the Wiki would be a good place for that. How about Dominion/CardList? --AC :Actually, there's a pretty good one already at http://dominion.diehrstraits.com/?set=Prosperity&f=list . --AC

I think queueing of user inputs/choices might be one of the biggest usability enhancements possible, and it occurs that it might actually be quite doable. E.g. I play Bureaucrat, and know what I'm going to want to buy; the Alex:buy is in the tree already, so I'd like to be able to say "I'll buy a Silver" and have the rest of my turn take care of itself once the other players do their Crat actions. Thing is, the engine and UI already have a reasonable guess what the inputs for each element in the tree will be. I propose that you could let me select any action in the tree that's waiting on me, and specify what I hope to do when that option resolves. It will obviously only show me options that it currently knows about, and those options will need checking when the engine comes to actually process that element, but it could save a *lot* of time. --AC
It would probably be sufficient to be allowed to just move the "Wait for everybody else" task to the end, for those tasks which can't change your hand.  --Vitenka
Will require thought, but is probably doable. Don't expect it in the next release.
I'm starting to actively think about this. I think Alex's idea works, more or less. The tree of actions is gone (unless you're me! MuHaHaha?! It's useful for debugging), but I could present a UI for "Later this turn, you will be asked to do the following. Click any of them to queue up an action which will be taken unless it has become illegal". The choice made then gets stored on the PendingAction? object and is acted upon when the time comes. It's tricky, but it ought to work, given care to make sure that choices made now map to the same choices later (for instance, when playing an Action, you tell the game the position of the card in your hand; that's not guaranteed to stay the same - but it should be possible to move to sending the card ID instead). --CH

An undo button.  Please?  --Vitenka  (Both in general, and specifically, right now)
That could be really difficult, but I'll have a think.
No, I think I can't really do that. I do have one in my half-complete ThroughTheAges server (which is now not going to get finished, due to http://boardgaming-online.com), but far fewer actions in TtA? result in you gaining previously-hidden knowledge. Bear in mind that an Undo button has to be disabled as soon as you gain any information you didn't have before (through drawing cards, looking at cards, even just seeing whether anyone reacts to an attack).


A somewhat controversial feature request: display the current contents of your entire deck. Thing is, in the current interface you can always laboriously reproduce the contents by searching the history anyway.
I've found myself searching history for "How many times does it say "Alex bought Gold"? And there's one in my discards, which means there are two left in my deck. Right." Since it is possible to calculate it (or keep notes) anyway... --AC
I'm actually pondering going in the other direction, and displaying only - say - the last two complete turn rotations of history. So then you can't deduce your deck from the history. --CH
I've decided that limiting history is silly; deck lists are likely function at some point (when I've worked out where to put them, for instance...)

Support for bots. Possibly as defined by a script on a wiki page. --qqzm
There's always someone who wants bot support, and it's usually you ;-p. I could see this happening, but obviously we need a good API, which in turn means we need a good definition of what you'd need the API to provide in terms of enabling bot implementation. That will need discussion and heavy input from you. I'd make a subpage, but ToothyWiki doesn't allow two-level hierarchies. Perhaps I'll ask to move this to a root DominionServer? page...
How I was thinking of it working was that the bot script would define 3 methods. Each of these would take a readonly game state object parameter and return a result defining it's current decision.
The engine could then call the procedure in much the same way as it displays the game state to the user, and handle the result in the same way it handles a user making decisions. The major work, of course, is in building a script interpreter - it's possible that Ruby has one built-in or available? I think you'd probably want the script language to be Ruby or Ruby-like so that you can reuse your existing code. The three methods I was thinking you'd want to have would be:
chooseAction - called whenever it is the bot's turn to take an action and it has one or more action cards in hand. The return value is either the id of the action (and the mode to use it in if applicable) or some special value indicating "play no more actions".
buyCard - called whenever the bot has a buy to use. Given that it knows the game state (including which cards it has in play) then it doesn't need to have total cash and number of buys explicitly spelled out for it, but it would make it easier for bot writers if you were to provide such information. The return value is either a card to buy or skip.
makeChoice - called whenever the bot has to make a choice for a card (not necessarily its own). This one is obviously the most complicated and I'm not sure how best to implement it. There are so many different choices that come-up on different random cards. I think the best thing to do would be to say that the bot just has to implement each individual card that causes a choice, and have some sort of metadata on the bot (probably need this for name, description etc. anyway) that defines which cards it can be used with (so you can stop people from selecting the bot in a game with a card it doesn't know about). I don't know. It might be possible to distill the choices down to a well-defined set of atomic ones but I don't think it is, unfortunately.
--qqzm
Hee. This would be lots of fun. I think I'd want to program a bot to do a particular strategy. The Goldfish-bot (which buys Prov/Gold?/Silver?/nothing, and makes random choices in all other cases) would be fairly easy to program. I however point out that Mint, or Mining Village, show that total cash can't just be deduced from what's in play. --AC
I was pondering this; and bear in mind that the Request-Response nature of FreeDom means that a bot must be a MarkovChain?. While it wouldn't be hard to convey all game state info (that the bot should know), it wouldn't necessarily be easy either; and some interesting information (say, has anyone reacted with a Moat this round) is unavailable. So what I need is to provide filtered access to the database. If a bot could query the history, formatted to hide private information of other players; and could query its own state, hiding hidden info (like position of cards-in-deck), then it'd be able to make decisions. I'd still probably include "cards in hand / actions / buys / cash" as "normal" arguments to chooseAction calls, of course. Now I can subpage, I will soon. --CH
/Bots?


Hacking [Ascension] onto the same engine and framework. --qqzm
Looks like an interesting game, but very unlikely to happen. --CH

On the game start screen, have options for "Random, force 3/4 split, force 2/5 split" so that the game creator can choose to give everyone an equal start - useful if picking a set that's particularly polarised one way or the other e.g. the game which was all 3s and somebody
(Vitenka?) was severely hampered by starting with 5/2. --qqzm

Could we have envoy (and maybe even black market) implemented?  It could usefully also have an automatic decision of discard in the most common case (no actions remaining, so discard highest value coin)  Played it last night, was a surprisingly interesting little card. --Vitenka

Allow "goldfishing" - playing 1 player games (which should not affect rating). --qqzm

When you mouse-over a card in your hand, the popup could display some statistics about that *specific* card - e.g. which turn you bought it, how many times you've drawn it, how many times you've played it etc. --qqzm

Before a match starts allow players to leave the match --WeirDoe

ec2-3-147-104-248.us-east-2.compute.amazonaws.com | ToothyWiki | FreeDom | RecentChanges | Login | Webcomic
This page is read-only | View other revisions | Recently used referrers
Last edited August 19, 2013 10:26 am (viewing revision 20, which is the newest) (diff)
Search: