Releases: wordbots/wordbots-core
Releases · wordbots/wordbots-core
v0.20.3-beta
(See also: https://github.com/wordbots/wordbots-parser/releases/tag/v0.20.3-beta)
Improvements
- Display card rarity symbols consistently on all operating systems (#1867)
- Don't display card rarity symbols on card carousels (#1866)
Stability
- Proxy Discord webhooks through the server, so webhook URLs aren't exposed (#1864)
v0.20.2-beta
(See also: https://github.com/wordbots/wordbots-parser/releases/tag/v0.20.2-beta)
Improvements
- Show card provenance info (creator, etc) in set summary view: #1852
Stability
v0.20.1-beta
(See also: https://github.com/wordbots/wordbots-parser/releases/tag/v0.20.1-beta)
Rule changes
- Players now have 8 minutes to draft cards, up from 5 minutes: #1786
New features
- New/improved vocabulary:
actions['canActivateAgain']
(e.g."Startup: This robot can activate"
): #1834triggers['afterDealsDamage]
(e.g."Whenever this robot deals damage, draw a card"
): #1835targets['choose']
can now take an optional second parameter for how many distinct targets to choose (e.g."Discard 2 cards"
,"Deal 2 damage to 2 objects"
): #1823
Improvements
- Increase the size of cards in the collection view by 25% for better readability: #1850
- No longer grey out the images on structure cards, for consistency with how structures are displayed in-game: #1849
- The game log now logs targets that are selected by players: #1824
- Display card provenance information while drafting in Set Draft format as well as in Everything Draft: #1851
- Frontpage carousel now shows 30 most recent cards rather than just 15: #1780
- Community page now shows 20 most active users, up from 10: #1781
- The Workshop no longer requires cards to be named in order to test them in sandbox mode: #1822
- The Workshop now correctly validates if a card has more than one "replace" sentence (only the last one would execute anyway, due to how card replacement behavior work): #1811
- GitHub and Discord links on bottom of sidebar: #1782
- When a parse issue is reported in the Workshop, players are now also directed to the #bugs Discord channel: #1810
- The static loading page now matches the style of other Wordbots pages: #1791
- Card carousel now renders better on smaller screens: #1801
Bug fixes
- Players would sometimes have their username displayed as "null": #1837
- Card behavior bugs:
- The game would crash when an occupied hex was selected as a target: #1794
- The phrase
"robots or structures or kernels"
could crash the game: #1826 - Abilities that required selecting multiple types of things (e.g.
"Activate: Discard a card then move this robot 1 tile."
) weren't working: #1827 - Copies of objects could not be returned to hand (i.e.
"Activate: return a copy of this robot to your hand"
had no effect): #1815 - The
"can't move adjacent to this robot"
properly wasn't being updated when the robot in question moved – it only ever affected the tiles next to its original position: #1796 - Abilities granting keywords (e.g.
"Shutdown: Give a random friendly robot Taunt"
) wouldn't visually update the card properly: #1821 "Spawn a random card"
could "spawn" action cards onto the board, discarding them: #1840"random object card"
could select action cards too: #1839- Spawning a copy of a robot that had previously had its abilities removed (i.e.
"Shutdown: Remove all abilities from this robot and create a copy of this robot in a random empty adjacent tile. "
) would log a runtime error: #1842 - Infinite-loop detection wasn't working properly on trigger loops (e.g.
"Startup: Spawn a copy of this structure on adjacent tile and destroy this structure."
): #1795 - Speed could be granted to structures but the stat wasn't properly displayed in-game: #1821, #1841
- An exception was being thrown by
getHex()
when triggers would try to deal damage to a target that was already destroyed by another trigger: #1819 - When objects were given abilities by other cards, sometimes they would get extra "dummy" sentences on their cards: #1829
- Duplicate copies of games, sometimes very many of them, would get saved to the DB: #1804, #1806
- The Workshop would lose card provenance information when switching to and from the sandbox: #1812
- The "Disable turn timer" game option wasn't being properly applied to the draft timer: #1787
- Profile page would show the wrong cards when switching between multiple players' profiles #1792
- Workshop would give ungrammatical "Did you mean?" suggestions involving the "Startup" and "Shutdown" keywords: wordbots/wordbots-parser#219
- Broken meta tags were leading to ugly previews when sharing Wordbots: #1778
Stability
- New Admin Panel functionality: Statistics page, panel to exclude certain cards from Everything Draft: #1779, #1845, #1846
- The Randomize feature in the Workshop has been greatly simplified and now no longer makes large amounts of requests to the parser: #1832
- The game is now able to look up both the version and SHA of the currently-deployed parser: #1833
- Update
100randomCards
integration test to bring it up to date with current parser version - Game actions now get logged to a private Discord channel: #1804
- User creation date now gets properly logged in the DB: #1843
v0.20.0-beta
(See also: https://github.com/wordbots/wordbots-parser/releases/tag/v0.20.0-beta)
New features
- Disconnected players now have 30 seconds to rejoin the game instead of immediately forfeiting: #1746, #1747, #1748, #1750, #1751
- Allow draws by mutual agreement: #1758
- The game automatically draws if neither player can possibly win given the game state (“draw by exhaustion”): #1733
- New vocabulary:
objectConditions[‘not’]
(to allow things like “not adjacent to …”): #1776
Improvements
- Redesigned About page: #1734
- Preload game assets so they would load faster in-game: #1718, #1766
- Lobby UX improvements: #1752, #1753
- Community page UX improvements: #1773, #1774
- Profile page UX improvements: #1769, #1770
- Better Safari support: #1756
- Minor UX tweaks: #1745, #1763
Bug fixes
- “Ghost” objects with 0 health would stick around instead of being destroyed in some cases: #1768
- Aborted games were treated as losses in Profile view: #1744, #1579
- The tracking of # games played by player was broken: #1761
- Muting game sound didn’t persist between games: #1765
actions[‘discard’]
didn’t correctly discard both players’ cards when needed: #1757
Stability
v0.19.0-alpha
( Corresponding wordbots-parser
release: https://github.com/wordbots/wordbots-parser/releases/tag/v0.19.0-alpha )
Rule changes
- The minimum size for a set to be valid is now 20 cards, up from 15 cards (#1667)
Features
- New (and completely bonkers) “Everything Draft” format, in which both players draft from a pool of all cards ever created (#1740)
- Support card rarities in sets, that affect how often cards come up in the Set Draft format (#1532)
actions[‘moveObject’]
can now move multiple objects at once, and calculates their destinations one-at-a-time (allowing, e.g. “Move each robot to a random tile up to 2 tiles away.”)- The game warns you about leaving the page mid-game, to prevent players from accidentally forfeiting (#1724, #1726)
- In-game debug logging feature to better enable diagnosing issues (off by default) (#1698, #1728)
- Admin Panel allowing admin to migrate older cards to the latest JS format produced by the current parser (#1719, #1739)
Improvements
- Display energy curve while drafting (#1684)
- SFX now default to on rather than off for new players (#1713)
- New SFX for damage dealt by actions or abilities (#1708)
- Rank sets by popularity on the Sets page (#1671, #1697)
- Many improvements to profile page UX (#1668)
- Track most-recently used deck and default to it in the pre-game dialog (#1644)
- Stop Spectating button in spectator mode (#1724)
- Flavor text on cards is now viewable by clicking on the Flavor Text icon, rather than as a tooltip (#1662)
- Better UX for selecting Set formats when starting a game (#1742)
- Treat “space” and “hex” as synonyms for “tile” for consistent parsing (#1735)
- Minor UX improvements (#1650, #1661, #1667, #1670, #1678, #1679, #1703, #1709, #1710, #1727)
Bug fixes
- Cards with passive or triggered abilities that throw exceptions (for whatever reason) no longer crash the game (#1675, #1676, #1685)
- Fixed bugs involving specific card behaviors:
- The game would get permanently stuck if any errors occurred during an attack (#1705)
- Abilities that dealt damage to objects would crash if the object in question had already been destroyed (#1704)
actions[‘swapPositions’]
sometimes caused weird behaviors (#1686)targets[‘it’]
behaved wrongly when iterating over a collection of objects (e.g. in “Set each robot's attack to its health”, “it” would incorrectly be empty) (#1730)targets[‘thisRobot’]
sometimes targeted the wrong thing (e.g.When your kernel takes damage, destroy this robot
destroyed the player’s kernel instead) (#1695)targets[‘self’]
would wrongly default to the current player if the “current object” is no longer in play (e.g.When your kernel takes damage, destroy this robot and discard all cards in your hand
) (#1731)“Your robots have Haste”
didn’t work as a passive ability because the trigger took effect at the wrong time (#1689)”Whenever you play an action”
triggers didn’t work (#1716)
- Resolve many bugs / UX annoyances pertaining to the multiplayer lobby / chat (#1645, #1646, #1647, #1648, #1649, #1651, #1654, #1664)
- Spectator mode didn’t work in Set Draft games (#1712)
- Set Draft games couldn’t be aborted properly (#1663)
- Exiting the sandbox crashed the game (#1688)
- Object stats would be displayed incorrectly in in-game card tooltips if a stat had been changed to 0 by abilities (#1729)
- Enemy kernel couldn’t be selected on certain screen sizes (#1687)
- Sets couldn’t be edited if any of their cards were deleted from the set creator’s collection (#1672)
- Refreshing collection pages didn’t always work as expected (#1656, #1657)
- Many bugs involving flavor text on cards (#1658, #1659, #1660)
Stability
- Migrate all built-in cards and user-created cards to the latest parser format (#1714, #1715, #1738)
- Fix production incorrectly connecting to staging systems (#1693, #1700)
- Fixed data corruption issues involving built-in decks (#1707)
- Only forward relevant actions through the websocket connection (#1653)
- Webpack bundling improvements (#1673)
v0.18.0-alpha
(Corresponding wordbots-parser
release: https://github.com/wordbots/wordbots-parser/releases/tag/v0.18.0-alpha )
Features
- Card rewrite effects – Cards can now rewrite the text of other cards in either player's hand, which then gets re-parsed (i.e. "Replace Startup with Shutdown on all cards in your opponent's hand"): #1243, #1585
- New vocabulary support:
- Major UX improvements for visual clarity of game state:
- Ability to draft unpublished sets (if the set's owner hosts the game) in Set Draft mode: #1553
- New "How It Works" page describing the technical background of Wordbots: #1421
Improvements
- More art by Chris Wooten: #1034, #1074, #1619
- Visual countdown when games start: #1414, #1563, #1636
- UX improvements for collection/deck/set pages: #1586, #1591
- Better UX for hosting and joining games: #1576, #1637, #1617
- SFX when drafting cards in Set Draft mode: #1533
- Scroll to bottom of game log / chat when new messages appear: #1343
- Sandbox mode UX improvements and fixes: #1584, #1629
- Fixed many UX inconsistencies and glitches: #1556, #1560, #1562, #1575, #1578, #1592, #1631
Bug fixes
- Critical bug fixes:
- Bug fixes pertaining to card behavior and vocabulary:
actions['swapPositions']
would crash the game when requiring target selection: #1583- Passive abilities wouldn't unapply correctly when their targets moved out of range: #1628
- Passive abilities wouldn't get re-enabled correctly after previously being disabled: #1632
- Activated abilities didn't trigger
state.callbackAfterExecution()
correctly: #1596 cardsInHand()
andcardsInDiscardPile()
didn't work correctly when referring to both players: #1564- "all cards" and "any object" types weren't treated correctly by the
afterDamageReceived
trigger: #1615 - Duplicate copies of the same triggered ability applied on the same object wouldn't "stack" correctly: #1605
- Keywords weren't handled properly when the same keyword appeared multiple times in the same sentence: #1597
- Audio pandemonium would ensue when re-enabling sound mid-game or when joining a game as a spectator: #1566, #1571
- Bug fixes pertaining to Workshop features: #1589, #1609, #1610, #1611, #1613
- Bug fixes pertaining to chat / game log: #1568, #1557
- Modern versions of Edge were incorrectly reported as "unsupported browser versions": #1621
Stability
- Performance improvements:
- Only re-execute abilities on the board when their targets have changed (in practice, this results in >10x less ability executions): #1633
- Improved page loading (caching images, preloading fonts with fallbacks, etc): #1555, #1606, #1607
- Remove the heavy D3 dependency by switching to our own bar chart implementation instead of using
react-bar-chart
: #1643
- Enforce stable serialization/deserialization of game state by ensuring that the state is never a circular structure: #1638
- Docstrings for all methods in
/common/util
: #1624
v0.17.0-alpha
Features
- Most-played cards now listed on the Community page (#1509)
- Ability to see all cards that a player has created on the Profile page (#1510)
- Ability to see game log in sandbox mode sidebar (#1163)
- In-game infinite loops now end the game in a draw (#1252)
- Credits now listed on About page (#1537)
- Movement range can now be visualized for opponents’ robots as well as your own (#1060)
- Basic content filtering for robot names, flavor text, etc (#1331)
Improvements
- Background art on all pages (#1424, #1539)
- Redesigned nav bar and top bar UI (#1547)
- Redesigned Workshop UI with more of a “blueprint” aesthetic (#1549)
- In-game volume is now persisted in-browser (#1030)
- Various Set page and Set Draft UX improvements (#1314, #1534, #1551, #1552)
- Improved Help page UX (#1548)
- Replaced Material Icons with SVGs where possible to reduce flicker on page load (#1550)
Bug fixes
- Profile page didn’t look good at lower screen widths (#1142)
Stability
- Fix Node version to >=12.x <17 (#1540)
0.16.1-alpha
Features
- Copy Permalink button on collection page (#1384)
Improvements
- Redesign of homepage (#1409, #1422)
- Improved help page with new sections about formats, game modes, and parser help (#1449, #1450, #1451, #1452)
- Disallow having multiple cards with the same name in your collection (#1507, #1525)
Bug fixes
- Test button on collection page was enabled when multiple cards were selected (#1527)
v0.16.0-alpha
Features
- Set Draft format (#1512)
- New and improved vocabulary:
- actions.swapPositions(targetObj1, targetObj2) (e.g. “Swap the position of two robots”) (#1498)
- ‘cannotmoveto’ effect (e.g. “Enemy robots can’t move adjacent to this structure”) (#1500)
- Allow
triggers[‘afterDamageReceived’]
to override events, e.g. “When a robot takes damage, increase its power by 1 instead” (#1494) - Support “Whenever a robot takes damage, it gains that much attack and speed” work by tracking damage amounts n state.memory[‘amount’] (#1501)
- Support “Choose a robot. All other robots become a copy of that robot” by tracking state.memory[‘target’] (#1499)
- In-game card tooltip now shows card buffs, added abilities, and added triggers (#1478, #1516, #1517)
- Ability to add flavor text to cards (#1425, #1506)
- Animation when objects take damage (#1336)
- Help page showing game rules and terminology (#1276)
Improvements
- Rename game concepts: Event -> Action, Creator -> Workshop, Play -> Arena, Shared Deck -> Mash-Up(#1410, #1411, #1412, #1413)
- Redesign Play page to better explain various game modes (#1313, #1416, #1417, #1467)
- Various in-game UI/UX improvements (#1468, #1469, #1470, #1471, #1505, #1514)
- Various Workshop UI/UX improvements (#1418, #1419, #1453, #1454, #1456, #1459, #1460, #1462)
- Various set/deck page UI/UX improvements (#1457, #1475, #1480, #1487, #1488, #1489, #1490)
- “Try Card” feature now gives the card being tested to both players (#1503)
- “Try” button in collection page (#1502)
- Reposition z-indices so game components don’t get cut off (#1429, #1472)
- Redesign card borders (#1479, #1486)
- Conveyor belt and gear motifs on home page and loading screen (#1313, #1420)
- Home page styling (#1455)
- Fade in kernels at start of game (#1415)
Bug fixes
- Mash-up/Shared Deck mode didn’t properly shuffle decks together (#1463)
- Spawning and event animations were broken (#1443, #1444)
- Dictionary dialog didn’t work (#1426)
- Published sets would disappear from the Sets page upon logout (#1481)
- Card costs got covered up for large hand sizes (#1430)
- Various bugs in game log (#1464, #1465, #1466)
- Various sandbox mode bugs (#1432, #1443)
- Some cards had their text overflow in set summary view (#1474)
- Health picker in Workshop allowed selecting 0 health (#1447)
- When a robot becomes another robot, existing stat adjustments didn’t get unset and could get duplicated (#1502)
- Bug fixes for specific card behaviors: