Giter VIP home page Giter VIP logo

tcgone-engine-contrib's Introduction

TCG ONE Engine Contrib

This is TCG ONE's engine contribution repository. It is mainly used for storing open source card implementations. You are welcome to submit pull requests!

Please read the wiki to understand about the engine.

About TCG ONE

TCG ONE is an Online Automated Pokémon Trading Card Game Simulator where players can gather online and play with their favorite cards in their respective formats. Its software is completely fan-made and is in no way affiliated with TPCI or its official game.

Some of its features are: Automated Game Mechanics, Online 1-1 play, Deck Editor, Lobby & Chat, Real Card Images, Multiple Game Formats (including Standard, Expanded and Classic Old School formats), Spectation, Game scoring system and Scoreboards, Career and Quickplay game modes, Personal Inventory, Assemble/Dissolve cards with ink, Leveling, Booster Pack simulator, Daily Quests and Achievements.

It went live on 18 July 2013 and is being actively developed and maintained. more info

Preliminaries

  • We are using Groovy language to implement cards and their effects, with a custom designed DSL for it. It is basically a superset of Java, if you know Java than you'll easily get used to it.
  • Open sourcing the entire project is a really big task due to its complexity. For now, you will only be able to test your changes remotely (not on your local machine). I plan to restructure and open source the entire game engine gradually.
  • After every push to master branch, our CI system will automatically rebuild the code and update the commit status with the log. If everything goes well, it will deploy to https://dev.tcgone.net, our staging dev server, which can be used to test cards before going to production. It is a special UI that allows searching and adding any card directly into play. Try it now!
  • If the build fails, you can check the logs via the status icon near every commit, first click the icon then click 'details'. A 'successful' build does not mean the code works, due to the dynamic nature of Groovy. Therefore, please test ALL cards by invoking ALL of their effects on the dev server.
  • The production server is rolled out manually, therefore your changes will not be immediately visible in production.

Instructions for a New Contributor

  1. Please read the wiki.
  2. Inspect implementations of some sets to understand more.
  3. Please join our Discord #dev room, ask any questions regarding implementations or contribution in there
  4. Decide on what you're going to contribute. You can investigate some bug reports or work on missing sets.
  5. Please fork this repository, commit your changes to your fork, then submit a pull request to master.
  6. We will review your request and merge your changes to master. Please read and adhere to Repository Rules below or your request might be rejected.
  7. After your changes are merged to master, go to https://dev.tcgone.net and test your changes, fix any bugs that you encounter with additional commits.

Repository Rules

  • NO MERGE COMMITS! Please always run git pull --rebase --autostash to get changes from the server.
  • Please DO NOT commit any other file than card implementation files like metadata files, IDE garbage, etc, your merge request will not be accepted.
  • Please DO NOT let your IDE/editor to push any other whitespace/indentation ruling than what's defined in src/.editorconfig. ref
  • Licensing: We are using Apache License 2.0 for the source code. You confirm you accept the terms the moment you send any contribution to the repository.

What to do next?

  1. We usually have a lot of unresolved bugs to sort out, we'd appreciate a lot if you'd start hunting them!

  2. You may check out the project trello board and pick a task there.

  3. You may start looking at the missing gen4 sets!

return-to-contribution-guide

Thank you!

tcgone-engine-contrib's People

Contributors

luongthomas avatar ufodynasty avatar starg09 avatar itresad avatar axpendix avatar flagrama avatar vandergus avatar grayahm avatar kaiboisdumb avatar wertercatt avatar najzeko avatar theultimateabsol avatar louloufg avatar tttrainer avatar loonaticx avatar theaquapiplup avatar fancychickengaming avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.