Skip to content

Releases: wordbots/wordbots-core

v0.20.3-beta

22 Aug 03:04
Compare
Choose a tag to compare
v0.20.3-beta Pre-release
Pre-release

(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

22 May 01:16
Compare
Choose a tag to compare
v0.20.2-beta Pre-release
Pre-release

(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

  • Integrity-verification of cards via parser-generated HMACs, to prevent XSS attacks: #1854, #1855, #1856, #1857
  • Admin panel improvements: #1858

v0.20.1-beta

15 May 06:36
Compare
Choose a tag to compare
v0.20.1-beta Pre-release
Pre-release

(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"): #1834
    • triggers['afterDealsDamage] (e.g. "Whenever this robot deals damage, draw a card"): #1835
    • targets['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

29 Apr 21:35
Compare
Choose a tag to compare
v0.20.0-beta Pre-release
Pre-release

(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

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

  • Parse issues now get reported to a private Discord channel as well as to a Firebase table: #1775
  • Saved games were incorrectly recorded on localhost: #1760

v0.19.0-alpha

08 Apr 20:31
Compare
Choose a tag to compare
v0.19.0-alpha Pre-release
Pre-release

( 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

05 Oct 23:49
Compare
Choose a tag to compare
v0.18.0-alpha Pre-release
Pre-release

(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:
    • afterAttackedBy(target, attackingObjectType) (i.e. "Whenever a robot attacks this structure, that robot gains +1 attack"): #1600
    • optional 2nd parameter (objectType) to triggers.afterDamageReceived (i.e. "Whenever a robot deals damage to this kernel, that robot takes that much damage"): #1599
  • Major UX improvements for visual clarity of game state:
    • Object effects (including "Taunt") now have visual icon indicators on the board: #376
    • When an object has been given new abilities within a game, these abilities are now visible on its card tooltip: #1588
    • The End Turn button flashes when there is nothing left to do on your turn: #1477
  • 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

Bug fixes

  • Critical bug fixes:
    • Spectators could accidentally end a game they are spectating: #1572
    • Games would stay on the active game list even after they have ended: #1573, #1577
    • Set page crashed when there were any sets with no cards in them: #1590
  • 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() and cardsInDiscardPile() 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

23 Jan 03:30
90eeb83
Compare
Choose a tag to compare
v0.17.0-alpha Pre-release
Pre-release

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

15 Aug 07:47
Compare
Choose a tag to compare
0.16.1-alpha Pre-release
Pre-release

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

01 Jul 20:10
2598162
Compare
Choose a tag to compare
v0.16.0-alpha Pre-release
Pre-release

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

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:
    • “Each robot becomes a copy of a random other robot” crashed the game (#1493)
    • “Your kernel gains 5 attack” resulted n NaN attack value (#1492)

Stability

  • Error message on outdated browsers (#1278)
  • More user-friendly version numbers (#1428)

v0.15.0-alpha

15 Mar 05:20
95a0e3a
Compare
Choose a tag to compare
v0.15.0-alpha Pre-release
Pre-release

Improvements

  • Redesign interface in Material UI 1.x for a more consistent design and improved page load time (#1378)
  • Improve positioning of card creator tutorial on smaller screens (#1370)
  • Fit “New Here” dialog on screen completely (#1403)

Stability

  • Always redirect to HTTPS (#1390)
  • Speed up app startup time (from ~90s to ~5s) by transpiling ahead of time (#1406)
  • More consistent way of retrieving git sha in Heroku (#1408)