Live data from Hacker News

A Pokémon battle simulation engine

github.com

21–30 of 49 posts

Re: A Pokémon battle simulation engine

#21

When you’re creating a turn based battling game do you inevitably start off with engines like this to help balance out what various stats and variables should be, to avoid dominant strategies from emerging?

It's certainly not a bad idea, but I'm not sure Pokemon (especially the first generation, like this current implementation) is the best base model to do so—this is a game notorious for its dominant strategies in PvP competitive contexts, unless players agree to certain rules designed to make more strategies viable :P

Re: A Pokémon battle simulation engine

#22
post #8

Earlier quoted context omitted.

I get that permissive licenses are popular now, but “freedom to make sure other people don’t have freedom” still doesn’t feel like a compelling argument. In specific cases, they make sense purely practically; but generally? It feels like a huge error for the whole world to leave copyleft and the GPL behind. The reason we can run Linux on everything is because Torvalds chose the GPL, and so vendors are forced to share…

GPL makes sense in a context where that sort of vendor compatibility creates existential conflicts for the product. For an operating system and associated toolset, it is clearly an excellent license and does great work encouraging the necessary cooperation from otherwise unwilling partners. Games are a different beast. For one, the dominant revenue model for videogames continues to be to sell copies of the software,…

Does it make sense to release everything as GPL, while simultaneously offering a non-gpl option for like $$?

Developers get an unlimited free use trial to try your code, up until release. At which point they can decide to either contribute back with either their code or their money.

Re: A Pokémon battle simulation engine

#23

When you’re creating a turn based battling game do you inevitably start off with engines like this to help balance out what various stats and variables should be, to avoid dominant strategies from emerging?

Probably not, since game design is usually done iteratively, and you’ll end up writing a simulator for an unstable ruleset. The first trigger for changing the rules will be whether it’s boring or not, and that will mostly come from playtesting.

Once the system is settled, you might implement a simulator to fix balance issues — but more likely, you’ll use the simulator you already have; the game itself, hopefully running in some kind of headless mode.

Also if you’re planning to continuously update the game for balance (unlike Pokémon), you don’t need to be that worried about dominant strategies (excluding those that are caused by the fundamental ruleset, not just balance numbers) because dominant strategies only matter if the community identifies and utilizes it. So you simply watch what occurs in practice, and sand down the rough edges. The potential degenerate strategies don’t matter until they’re popularized.

I can’t find the article now (I thought it was gaffer but I guess not) but you can also avoid degenerate strategies occurring with escape-hatches. In the article I’m thinking of, in a fighting game they gave every character a “get out of jail free card” by giving a once-per-round X second invulnerability. This meant infinite combos could only be so powerful; obvious and easy to use combos are identified and removed by playtesting, and harder to setup ones that get past playtesting can only do so much harm because they can be invul-cancelled at least once. So they’re betting a counter-strategy will be identified to make it unreliable, and making it additionally unreliable by definition with the escape hatch.

Re: A Pokémon battle simulation engine

#24
post #18
post #17

Earlier quoted context omitted.

Someone else must have submitted the same link, which resurrected your original submission. I'm not sure what the time-limit is for duplicate submissions to become resurrections, but the second submission will be transformed into an upvote for the original from the second submitter and resetting the submission date.

No, that's something moderators decide and do. "second-chance pool" is the term to search if you want to read dangs explanations of it.

No? When I've inadvertently submitted duplicates before, my submitted dupe was not ever in the article queue, it was immediately and automatically changed into an upvote for the original.

Re: A Pokémon battle simulation engine

#25
post #24
post #18

Earlier quoted context omitted.

No, that's something moderators decide and do. "second-chance pool" is the term to search if you want to read dangs explanations of it.

No? When I've inadvertently submitted duplicates before, my submitted dupe was not ever in the article queue, it was immediately and automatically changed into an upvote for the original.

But that doesn't reset the submission date, its just an upvote. Second-chance pool rewrites the timestamp (and thus boosts a post up the ranking, since age is a big factor in the ranking algorithm), and has nothing to do with a second user submitting it.

Re: A Pokémon battle simulation engine

#26
post #2

THANK YOU for including a C API and licensing MIT instead of GPL. Edit: clarified comment on C usage. I wanted to praise the API not the underlying language.

So you plan to use it in closed source projects? And why does it matter if it's C?

Pokemonmmo is has quite big playerbase. It earns someone nice money from Pay2Win, I bet ;-)

Re: A Pokémon battle simulation engine

#28
There are actually a handful of great libraries to help with RL/LLM agents in Pokemon Showdown.

I did a solo hackathon project [0] using poke-env[1] and found it to be pretty easy to get started with. Hoping for an easy-to-use API with this as well.

[0] https://x.com/ditzikow/status/1922004651790000521 [1] https://github.com/hsahovic/poke-env

Re: A Pokémon battle simulation engine

#29

This is strange - this post is on the front page right now. It says that I submitted it eight hours ago. I was asleep eight hours ago. I submitted this last week and it did not get any points hardly but now it is on the front page with an incorrect timestamp but still attributed to my user account.

Second Chance Pool: https://news.ycombinator.com/pool

Many submissions get overlooked the first time and then get nominated for a second chance.

Re: A Pokémon battle simulation engine

#30

When you’re creating a turn based battling game do you inevitably start off with engines like this to help balance out what various stats and variables should be, to avoid dominant strategies from emerging?

The state space is probably so big as to be infeasible.

Just picking team rosters, no move sets for first gen is 151 Pokémon, choose 6 =~15 billion potentials.

Post reply on HN