Another test build! Still cranking away on performance issues (go Jason!). As always, testing of this build would be MUCH APPRECIATED, as we want to push it out live quickly. Multiplayer would be good to focus on as well as any of the areas optimised in the list below (shop stocking, buying and selling items, purchasing characters, pizza purchase from Paypal, etc). Multiplayer Rework database queries to be more efficient. Weekly and Daily leaderboards will now be for the previous week and previous day, and only be recomputed once a week/day Performance Campaign flag set and unset multiples groups into one insert/delete statement. Shop inserts are grouped into one statement. Bunch of optimisations to avoid repeatedly reading the full player account. Item price gets player level, not full account. Character purchase gets free character count, not full account. Setting and getting player level access player level only, not full account. Removed old code for restarting adventure with pizza. Google and paypal callbacks don't read full player account, just hard currency amount. Paying to restart adventure reads soft currency, not full player account. Viewing a card stores the new card view without reading player account first. Add a command to dump profiling data in csv format Reduce the rate at which the client sends messages to keep its connection alive, so that doesn't fill up queues during periods of lag Add a worker thread pool to take some long-running tasks off the message handler threads
a) Still experiencing this: chests opening and closing with items dropping on the chests. Same steps as before. Seems to be easier to repro now. b) Beat Garnet Demon Portal, map unlocks Descent to the Core and Goblins in the Woods. DotC anim ran twice...meaning the adv appeared with the sparkle and sound, then it appeared in the same spot again with the sparkle and sound before camera pans to Goblins. Then beat Pools of Slime, map unlocks Goblin Bazaar and the anim ran twice for it as well before camera pans to Temple of Scales and Tomb of Tvericus. c) I guess this is low priority. Bought out all items from Goblin Bazaar. The shopkeeper art would sometimes disappear when there was only 1 page of items left. When I buyout and re-enter. It stocks only a few items (like 7), then I buy these out as well and re-enter. And now, there is a full stock. Not sure how the resticking algo works, seems like something's off. d) When I sell stuff to shop, at the top of the inventory page. After selling 1 whole page...I click the scrolldown button once. It will show me say 'Grey Leather boots', 'Hammer of Shrouds', 'dueler's shield' etc in the first row items. Then I click the scroll-up button. Now it shows me a line of items in the top row with the 2nd row starting at 'Grey Leather boots', 'Hammer of Shrouds', 'dueler's shield' etc. Something seems off with the scroll bar. e) When you first buy a character and my party has no reserve character sheet (on the left), the anim of page sliding over doesn't show. The page just appears. When you next recruit another char, the page slides over. Consistent and reproducible. f) I bought a ton of characters, all with 10 gold and they had no items in char sheet. Then I sold all of them. Then I went to an adventure and lost and the screen pans to my party. Now I'm seeing a tons of blunt swords, healing charms and beginner staves. I had none in my inv before. Don't remember this bug, wai ? g) Somewhere during testing: Initializing deck builder Initializing deck builder Initializing deck builder MESSAGE: Error #1009 STACK TRACE: TypeError: Error #1009 at com.cardhunter.pcclient::CharacterSheetDisplay/refreshValidity() at com.cardhunter.pcclient::CharacterSheetDisplay/refreshForItems() at com.cardhunter.pcclient::CharacterSheetDisplay/dropAllItems() at com.cardhunter.pcclient::CharacterSheetStack/showCharacter() at com.cardhunter.pcclient::CharacterSheetStack() at com.cardhunter.pcclient:eckBuilderTable/initCharacterStore() at com.cardhunter.pcclient:eckBuilderTable/init() at com.cardhunter.pcclient:eckBuilderDisplay/init() at com.cardhunter.pcclient:eckBuilder/visual_init() at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::$addChildAt() at mx.core::UIComponent/addChildAt() at spark.components::Group/addDisplayObjectToDisplayList() at spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementAdded() at spark.components::Group/addElementAt() at spark.components::Group/addElement() at com.cardhunter.pcclient::ScreenRoot/showGameScreen() at com.cardhunter.pcclient:eckBuilder/checkLoadFinish() at com.cardhunter.pcclient:eckBuilder/onPartyReceived() at flash.events::EventDispatcher/dispatchEvent() at com.cardhunter.pcclient::CardHunterCore/Handle_party() at com.cardhunter.pcclient::CardHunterCore/onSFSExtensionResponse() at flash.events::EventDispatcher/dispatchEvent() at com.smartfoxserver.v2.controllers::ExtensionController/handleMessage() at com.smartfoxserver.v2.core::SFSProtocolCodec/dispatchRequest() at com.smartfoxserver.v2.core::SFSProtocolCodec/onPacketRead() at com.smartfoxserver.v2.core::SFSIOHandler/handlePacketData() at com.smartfoxserver.v2.core::SFSIOHandler/onDataRead() at com.smartfoxserver.v2.bitswarm::BitSwarmClient/onBBData() at flash.events::EventDispatcher/dispatchEvent() at com.smartfoxserver.v2.bitswarm.bbox::BBClient/onHttpResponse() at flash.events::EventDispatcher/dispatchEvent() at flash.net::URLLoader/onComplete() PARTY: (int) Index: 1 (sfs_array) Members: (sfs_object) (sfs_object) inventory: (sfs_array) Items: (int) 533 (int) 534 (int) -1 (int) -1 (int) 573 (int) charIndex: 1 (sfs_object) (sfs_object) inventory: (sfs_array) Items: (int) 773 (int) charIndex: 2 (sfs_object) (sfs_object) inventory: (sfs_array) Items: (int) -1 (int) -1 (int) -1 (int) -1 (int) -1 (int) 536 (int) charIndex: 3 (sfs_object) (sfs_object) inventory: (sfs_array) Items: (int) 533 (int) charIndex: 4 (sfs_object) (sfs_object) inventory: (sfs_array) Items: (int) 533 (int) charIndex: 5 (int_array) ActiveChars: [1,2,3] (utf_string) Name: Adventuring CLIENT COMMANDS: DB CONTEXT: Tavern CLIENT VERSION: 0.2.7253
Click 'open chest' as soon as the page stops ? Easier to repro with golden chests and while levelling up since the mouse is ready to pounce. If I wait for the page to settle, it doesn't happen. I suspect latency. (a) not new. Dunno if it has anything to do with your opts, so just throwing out again. (b) new for me, since reset. (c) and (d) are related, I think. Don't recall prior build changes on shops/items sales and this is the first time testing full page buys/sells. So new for me. Don't recall any bugpost either on these. (e) can't find the thread, dimly recall some vague mention of it in Bugs months ago. (f) Not sure. Just happened to test with a lot all at once so the splurge of extra items was glaring. (g) No idea how I triggered this, can't repro
This is doubly odd. Descent to the Core should only unlock after beating Against the Cockroaches (which is unlocked by Garnet Demon Portal). Not sure what was going on here.
From my beta notes: Garnet Portal only unlocked Cockroaches; Cockroaches unlocked Goblins and Descent. I've been meaning to ask: Could a dev post the official list of conditions that cause each map location to appear? I've been taking notes, but I'm using the assumption that the only thing that matters is what module you just completed. But someone else reported different results making me think there may be other factors involved. Or bugs. When I recruited a new char (free recruit, on live server) and didn't have room in my party, they went into the inactive sheet and showed no items equipped. But when I added them to my party, their default item suddenly appeared on their sheet (not in my inventory). I should test what happens when you try to equip something in that slot while they're still inactive.
It's a little tricky, but you can grab the adventure data in CSV format here: https://game.cardhunter.com/data/gameplay/Adventures/Adventures.csv The prerequisite flags column shows what unlocks each adventure. The completion flags are set, well, on completion, along with an automatic set of a flag that is adventure ID + "DONE" (e.g. TUT3DONE).
Thanks! And just today I discovered "getlocalcampaignflags" so I can start testing this when I have some time. PS. Clicking that link gave me a big warning about invalid certificates and stuff. But I downloaded it anyway.
You can grab that via the http:// (not https://) URL and not get the certificate error. It's hosted on an edge cache (Amazon's CloudFront), so we don't have a SSL certificate set up with our domain name there (yet - they just recently added support to do so).