Contribution Guide

TCG ONE is a community-supported project where we accept contributions in different forms. This post aims to enlighten the modules of the project and how to help out.

Contribution Methods

For Programmers (Software Developers / Engineers)

We are always on the lookout of new developers for TCG ONE to help implementing new sets and cards. High proficiency in Java programming language and its ecosystem is required.

You are encouraged to contribute to “contrib” repo which holds public card implementations. Please check out the README and WIKI pages of that repository first. You may implement missing expansions and fix the bugs on existing cards. Check out below section on testing and bug reports.

Learning how to use TCG ONE engine is a steep but rewarding process. Once you merge several PRs, you’ll get the gist of how TCG ONE engine works, and if your contributions are of high-quality, you will get an invite become a member of TCG ONE Developer Team with full rights.

Preferably, we’d also appreciate software engineering experience with technologies like Docker, OAuth2, GRPC, Protobuf, Spring (web, boot, data), Vaadin, Play Framework to further contribute to the future system design & platformization of the project.

For Non-Programmers;

Even if you don’t have programming experience you may still contribute to TCG ONE in certain ways;

  1. Test cards in order to make sure cards were implemented correctly and/or card interactions are correct. For how to start testing, go to: Help out TCG One By Testing New Cards and Bug Fixes
  2. Help us validate Bug Reports reported by players. Some of these old reports may not be present anymore, but we first need to validate them by replicating the game setup reported via DEVUI then replying to the ticket either “the bug still exists” or “not able to reproduce”. If you are a developer, then you can attempt to fix the bug (see above).
  3. We always need high quality card scans and someone to manage them, for either new sets or to improving old sets. See Scans Server topic for more information and reach out to any staff member if you want to help so we can give you access.
  4. Contribute to carddb, the new card database module. It aims to bring card information to the front facing web site and integrate with the simulator in the future. This project also aims to be a general purpose Pokemon TCG Card Database. Currently we’re defining cards in YAML format. The format is still evolving and we need you to improve or update the database and its format. These cards are served through Cards - TCG ONE.

Task Management

Development tasks are managed on TCG ONE Trello Board.
image

Please leave a message in #development channel on Discord if you’re stuck with anything or have some questions.

2 Likes

Hello @developers ,

I have just updated the backend and CI/CD configuration of dev.tcgone.net. It is now 50% faster to build and restart after every push! Feel free to check it our by pushing to master.

EDIT: I am trying it and each push takes only ~20 seconds to be deployed! The app itself is also a lot faster due to improved runtime conditions.

Best

Updates:

Moved ourcard contributions repository to Github, please access it via the new link and only commit to this repository from now on: https://github.com/axpendix/tcgone-engine-contrib

Moved the technical explanations about the game engine from this topic to the wiki tab of the repository, which is a more suitable location for it, and the contributors can also edit them as well.

Moved guidelines for implementing Pokémod expansion to pokemod/README.

Updated the text of the contribution guide to clearly reflect the current ways we accept contributions in a concise manner.

1 Like

Updates:

  • Added sections to the main guide, updated repository links
  • Added Trello Board link
  • Added Modules Overview

Update: enhanced the guide.

@admin @developers How do you play Pokemon from your hand onto your bench in dev.tcgone.net? I have figured out most of the controls on the lefthand side, but I can’t seem to play any Pokemon from my hand onto my bench, preventing me from testing bugs like I had hoped to. I wish to make it easier for you to achieve your prerequisite of fixing bug reports before moving on to the fourth generation formats, please help me understand the tool.

Hi Charmaster, on DevUI, the first Pokemon is put to active spot regardless of the turn. Benching Pokemon can only be done on a player’s turn.

Have you read this topic Help out TCG One By Testing New Cards and Bug Fixes ?

If you commit to testing and revalidating bug reports, you can get tester title too. More info for bug reports: How to Report (and Resolve) Bugs

You may also send me a DM here.