Live data from Hacker News

A Pokémon battle simulation engine

github.com

11–20 of 49 posts

Re: A Pokémon battle simulation engine

#12
post #8
post #7

Earlier quoted context omitted.

What I plan to do with it isn't important - thus the beauty of the license. MIT gives me freedom without forcing me into a certain source availability philosophy.

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, and most digital platforms want (understandably) to apply some sort of DRM to those purchases. If I license my game library for GPL it means that, among other things, users are not free to use it in their iOS, Android, Nintendo, PS4, Xbox, or Steam* releases. That makes the library dead on arrival for almost all of the compelling distribution channels. As a result, all of my game libraries are MIT. I want users to be able to sell software that is built using my library, and that means I want to use the most permissive library possible.

There is a place to fight philosophical grounds, and then separately there is wanting to make sure that my actual users (game developers) aren't restricted by my personal philosophies. Thankfully, MIT is itself perfectly copyleft compatible. You can very well include it in your GPL games, and I'd love to hear if you do! But if you are the much more typical developer trying to make a living with your craft, then I want to support the practical realities of your available storefront options, and let you get on with that.

(*Someone much better versed in license legalese informed me that Steam games can be released under GPL so long as they avoid the Steam SDK. I am not lawyer-y enough to confirm this or speak to the details.)

Re: A Pokémon battle simulation engine

#13
Combining Zig and TypeScript sure seems like a funky way of developing software, but on the other hand it does expose the API to a wide variety of FFIs (with browsers being a major one here). I wonder if the performance numbers stay up like that as the project matures and actual game logic gets implemented.

I'm a bit surprised to see a patch for the Zig compiler itself in the source tree, though. I thought manually patching Zig bugs was no longer necessary?

Re: A Pokémon battle simulation engine

#14
post #9
post #7

Earlier quoted context omitted.

What I plan to do with it isn't important - thus the beauty of the license. MIT gives me freedom without forcing me into a certain source availability philosophy.

MIT lets you take away user freedom.

It doesn't. Nobody's freedom to use the original MIT code is taken away. Regarding my derivative work, if I never grant it to begin with, there is nothing to be taken away.

Re: A Pokémon battle simulation engine

#16
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.

Re: A Pokémon battle simulation engine

#17

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.

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.

Re: A Pokémon battle simulation engine

#18
post #17

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.

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.

Re: A Pokémon battle simulation engine

#19
post #14
post #9

Earlier quoted context omitted.

MIT lets you take away user freedom.

It doesn't. Nobody's freedom to use the original MIT code is taken away. Regarding my derivative work, if I never grant it to begin with, there is nothing to be taken away.

[flagged]

Re: A Pokémon battle simulation engine

#20
As an avid Pokemon Showdown player, this caught my eye:

> In the case of Pokémon Showdown, only bugs which stem from a misimplementation of specific effects are reproduced in the engine, bugs which are the result of a misunderstanding of the fundamental mechanics of Pokémon or which simply arise due to specific Pokémon Showdown implementation details that aren't replicable without making the same (incorrect) architectural choices aren't.

Very curious what "incorrect architecture choices" refers to but I assume the post-Dexit NatDex clusterfuck is a major part of it, lol. I do think "Assist can call any move it's not explicitly forbidden from calling, even moves that were never present in the same game as Assist" was the wrong choice, for example, and we saw how that played out with ReviveCats :P

Post reply on HN