Cockatrice: Game definition plugin system.

Created on 1 Jan 2016  路  9Comments  路  Source: Cockatrice/Cockatrice

What if we strip all game-related code from the client and move it to a plugin that users can download? We could then theoretically support additional game-specific features (like the command zone for magic) without directly incorporating it into the client. This would also allow for users to start making their own plugins to alter the client to their needs.

Any feedback on this?

App - Cockatrice App - Protocol / API App - Servatrice Medium Priority Roadmap Suggestion

Most helpful comment

I have written a program that scrapes, organizes, and spits out an xml that has YuGiOh information in a way that cockatrice likes. While it does fudge a few things as a concession to getting relevant info on the screen, (notably, LINK monsters have their link number for their default toughness) the framework is more or less complete and can be reconfigured to appropriate values once this ticket gets implemented.

Additionally, the Pokemon scraper will be done soon, probably this weekend... (Same basic framework, woo!)

All 9 comments

Yes, this is my high level goal for the app since a long time.

Related: https://github.com/Cockatrice/Cockatrice/issues/329#issuecomment-57204205

I like the idea, and in order to implement it we could:

  • [ ] find and collect all the mtg-specific code hardcoded in cockatrice (eg. zones, counters, game behavior, ..)
  • [ ] for every found item, design a possible way to make the feature generic and configurable/overridable by a plugin. Probably looping through all the places we'll find a generic solution that can be applied on all the places.
  • [ ] Create an interface that exposes the configurable / overridable items and lets plugins re-implement them
  • [ ] People playing in a game should be using the same plugins, so we need to handle this per-game
  • [ ] Provide a set of plugins and let others write them (plugin repository?)

Those all sound appropriate.

Related to #478 also

I have written a program that scrapes, organizes, and spits out an xml that has YuGiOh information in a way that cockatrice likes. While it does fudge a few things as a concession to getting relevant info on the screen, (notably, LINK monsters have their link number for their default toughness) the framework is more or less complete and can be reconfigured to appropriate values once this ticket gets implemented.

Additionally, the Pokemon scraper will be done soon, probably this weekend... (Same basic framework, woo!)

Wow @Qriist that's awesome! Do you have a link to the code up?

Just a note, I've updated the Wiki to include a section for user-created sets: https://github.com/Cockatrice/Cockatrice/wiki/Custom-Cards-&-Sets

@Qriist the YuGiOh xml file you link to in the wiki is unavailable as of now.
I realized that when restyling and expanding the custom sets wiki page.

Do you maintain a page or did you do a reddit announcement for your file with further information?

Nope, just typo-ed the link. It's fixed now.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

poixen picture poixen  路  4Comments

tooomm picture tooomm  路  6Comments

Thunderbeliever picture Thunderbeliever  路  6Comments

TheMasterpass picture TheMasterpass  路  4Comments

P-rus picture P-rus  路  6Comments