Hacker News new | ask | show | jobs
by zomglings 1136 days ago
I like the game itself - it feels well balanced when you are playing single-player mode with built-in cards only.

But creating your own cards is an INCREDIBLY frustrating experience. This is a robot I tried to create (sumbot):

"This robot's attack, speed, and health are the sum of the attacks, speeds, and healths respectively of all other robots in play."

It didn't understand the words: "are", "sum", "speeds", "healths", "respectively".

Very restrictive dictionary and grammar. It pissed me off at a deep level and I probably will step away from this game.

Maybe integrate with an LLM (such as GPT4) to accept card descriptions?

It seems I can set an arbitrary cost for my cards? How do you balance the game when it involves custom cards?

One strategy would be to give each player a deck consisting of their cards and the opponents cards. So if someone made a really imbalanced card, they would have a 50-50 chance of having it used on them.

3 comments

Re: balance – see a comment I made below on that: https://news.ycombinator.com/item?id=35879796

Re: frustration of writing cards – yeah, I definitely feel you on that. The grammar is fairly restrictive and there's generally just one way to make a given card action parse (you could say it's more like Python than Perl). One affordance that we've put in to at least make writing cards a little easier is the Dictionary/Thesaurus feature in the Workshop, that lets you see all the words and phrases recognized by the parser and examples of how each of them has been used in practice.

Re: sumbot – You can do something like "Startup: Set this robot's attack to the total attack of all robots, and set this robot's speed to the total speed of all robots, and set this robot's health to the total health of all robots."

On the point of card creation, I also found it to be frustrating. Not as much as you did, but for example I couldn't get a card to say "Destroy this robot unless it moved this turn" even though "moved this turn" is in the dictionary. I guess I can only say "Destroy each robot that moved this turn" - no negation, and not specific. I still enjoyed messing with it, but it was a pretty challenging experience to start coming up with cards that were both interesting and legal.

> It seems I can set an arbitrary cost for my cards? How do you balance the game when it involves custom cards?

> One strategy would be to give each player a deck consisting of their cards and the opponents cards. So if someone made a really imbalanced card, they would have a 50-50 chance of having it used on them.

The author actually addressed this by doing exactly that

Yeah, the poor parsing around "moved this turn" is a known issue that I'm going to look into fixing this week. (Someone actually mentioned it yesterday on our discord – they were attempting to make a card with the text "At the end of your turn, if this robot didn't move this turn, restore 2 health to this robot": https://discord.com/channels/301800217055985665/301800217055... )

"At the end of your turn, destroy this robot unless it moved this turn" or "At the end of your turn, destroy this robot if it didn't move this turn" are definitely phrases that ought to parse correctly, and there's already in-game support for these mechanics (it's purely a parser issue).

Glad to hear it's not only within the ruleset, but will be addressed!
I believe this is fixed now, with this parser commit: https://github.com/wordbots/wordbots-parser/commit/f713e5a68...
Maybe integrate with an LLM (such as GPT4) to accept card descriptions?

Use the LLM to turn English into the subset understood by sumbot and it slowly teaches the player the formal language!