Rob Cashwalker wrote:My new home screen Gui would at the moemnt, just launch the quest gui. IF someone could work out a way to have multiple characters in quest mode, that would be a neat thing to add to the home screen. As it is now, you select Quest mode, and nothing really happens until you press start, so it's kinda visually dull....
I don't see any trouble adding several saves for quest mode, can do that as well. We may decide to have some... three slots for quest. To fill the listbox custom list-item-render can be developed to show not only the save name, but also some simple stats, like wins, losses, credits, brief summary on cardpool and decks.
Rob Cashwalker wrote:I didn't have any particular plans for the quest screens, though I did do a bunch of work before The Great Transition on enforcing the entire quest data card pools to particular Formats (Standard, Extended and Legacy) along with the gui work on the new quest screen to select such options. Not sure any of it will work with all the new architecture.. As it was I was having trouble dealing with not being able to filter CardLists due to Braids' work. It's in my original local Google SVN archive.
My cardpools or the way quest data is stored don't enforce any format, it's up to player to choose which booster he wants. The only restriction for now is that a card has to be present in our db, that is there should be a cardname.txt for it.
As for filtering cards, I found the way CardLists and thier filters were too slow and implemented a different filtering system. Firstly you compose a predicate for cards you want to select using methods from CardPrinted.Predicate and CardRules.Predicate class (each class contains a subclass with commonly used and thus already preset predicates). It's like a logical expression
- Code: Select all
Predicate<CardPrinted> myFilter = Predicate.and(CardPrinted.Predicates.Presets.isRare, CardPrinted.Predicates.wasPrintedInSet("SOM"));
List<CardPrinted> myRequestedCards = myFilter.select(CardDb.instance().getAllCards());
Then you make a call to select or maybe some other method - like random() or first() - and recieve the filtered lis or single. It makes only one iteration over the list of cards and does not copy cards or their lists over and over.
I think your work can be powered by the new architecture. May I have a look at the features you've implemented?
Rob Cashwalker wrote:Laying some groundwork for stats is a good plan. At some point I would like to link the Forge client with some sort of leader board scripts on cardforge.org.. We could begin with adding a user name setting in Forge, so the quest stats could reference a particular person, with their particular deck/cardpool.
Yes, that is the what I would love to see in Forge sometime.