A minimal open source mtg-like tcg game made in python that can be played on a terminal emulator using a keyboard.

Overview

TCG-TERM

Project state:

πŸ”§ 🚧 🚧 🚧 Incomplete, In development 🚧 🚧 🚧 πŸ‘·

(Keep in mind that at the moment, This project is currently undone, and will not work, if you try to lunch it.)

Latest prototype of this project are in the TEST directory which like the name imply is for testing and development purposes.

Once the TEST directory has a working prototype, i will start to refine it, by making more generalise function that have more flexibility, i will separate most of the code in their own function & modual.

So far the summoning with color cost and non color is a bigger challange then expected to get working, I am doing my best but so far their is still much to fix. for example being able to use any colors of lands to pay for colorless cost...

All of this could probably be acheaved with javascript on an html webpage, but i whanted to play on the terminal, so if you wish to adapt the code for a more web based experience feel free to contribute to this project.

I will probably Reuse some code and thechnics from this previus project of mine. It was a verry similar project, and i learn a lot from making it, even do I try to keep this project simple, i do not whish to rush it, and i do not have that much free time to work on it, so things can take some time to take shape.

RAND-CARD

What is tcg-term?

It started as a project to make an mtg alternative game on the linux terminal, but i now aim to include other style of tcg game play mode while avoiding to enfringe on the copy rightable content.

It is a minimalistic, open-source, tcg-like game, made in python, that can be played on most terminal emulator on linux. The first goal to be realistic in scope, is to have a playable single player game, with simple generated card, that have simple Keyword ability effect. Then once completed, add complexity progressivelly, and maybe in the far long distant future a form of multiplayer.

I aim to have multiple main gamemode "inspired" by:

  • M4g!c
  • P0k3m0n
  • Yu-g!-0h
  • F0rc3 0f w!ll
  • V4n9u4rd3

Imagine a single game in which you can play all of the above mention game mode and havem ultiple deck of each of those mode, having all these cards option in the game shop!

And maybe a gamemode called Battle-Cry ( Another one of my open source project Here on Github. ) Battle-cry should begine development after this project is functional, so it might take a while. I will use what i learn making this project to make it as best as i can.

mtg_wiki P0K3M0n

Concept art

I am still not sure what is the best way to display the mana cost. C: Creatures, P: Permanents, L: Lands. D: Deck, H: Hand, G: Graveyard.

Game View

Turn: [Player_name_one]
Phase: [Beginning/Untap Step] 

▢️ [Player_name_one]: Health[20]

D: ⬜[60]
G: πŸ’€[0]
H: πŸ”³πŸ”³πŸ”³πŸ”³πŸ”³πŸ”³πŸ”³[7] 

L: πŸŸͺ ⬛⬛
P: 🟧
C: 🟫 🟫[2] ⬛
  πŸ—‘οΈ
    πŸ›‘οΈπŸ›‘οΈ        
C: 🟫🟫🟫
P: 🟧🟧
L: πŸŸͺπŸŸͺ ⬛

H: 🟧🟫πŸŸͺπŸŸ«πŸ”πŸŸ§[6]
G: πŸ’€[6]
D: ⬜[60]

[Player_name_two]: Health[20] 

-[Info]----------------------
Name: [Lorem Ipsum]
Cost: 🚫[2] πŸ”΅πŸ”΅πŸ”΅ 
Type: Creature
Rarity: Mythic rare 🌟
Effect: [ ... ]
Power: πŸ—‘οΈ[1]
Taughness: πŸ›‘οΈ[1]

Text-only

Turn: [Player_name_one]
Phase: [Beginning/Untap Step] 

> [Player_name_one]: Health[20] Deck[60]

Hand:  #######[7] 
Graveyard: [0]

L: # %%
P: #
C: # #[2] %
  A
   BB        
C: ###
P: ##
L: ## %

Graveyard: [6]
Hand:  ####@#[6]

[Player_name_two]: Health[20] Deck[60]

-[Info]----------------------
Name: [Lorem Ipsum]
Cost: None[2] Blue[3] 
Type: Creature
Rarity: Mythic rare *
Effect: [ ... ]
Power: 1
Taughness: 1

Deck Edit View

Filter: Name[πŸ…°] Cost[πŸͺ™] Power[πŸ—‘οΈ] Taughness[πŸ›‘οΈ] Color[🚫]
[Deck]
🟫🟫🟫🟫🟫🟫🟫🟫🟫🟫
πŸŸ«πŸŸ«πŸŸ«πŸŸ«πŸ”πŸŸ«πŸŸ«πŸŸ«πŸŸ«πŸŸ«
🟫🟫🟫🟫🟧🟧🟧🟧🟧🟧
🟧🟧🟧πŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺ
πŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺ
πŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺ

[Sideboard]
🟫🟫🟫🟫🟫🟫🟫🟫🟫🟫
🟫🟫🟫🟫🟫🟫🟫🟫🟫🟫
🟫🟫🟫🟫🟧🟧🟧🟧🟧🟧
🟧🟧🟧πŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺ
πŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺ
πŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺπŸŸͺ

-[Info]----------------------
Name: [Lorem Ipsum]
Cost: 🚫🚫[2] πŸ”΅πŸ”΅πŸ”΅[3]
Type: Creature
Rarity: Mythic rare 🌟
Effect: [ ... ]
Power: 1
taughness: 1
Copy: 3/4

❌[REMOVE] πŸ‘₯[Duplicate][Cost: 1000πŸͺ™]
-----------------------------

πŸšͺ[MAIN MENU]
[Player_name_one] 
Graveyard: 🟧🟫πŸŸͺπŸŸ«πŸ”πŸŸ§[6]
Field: βš”οΈ

-[Info]----------------------
Name: [Lorem Ipsum]
Cost: 🚫[2] πŸ”΅[3]
Type: [Creature]
Effect: [ ... ]
P/T: [1/1]

Card Shop View

Don't worry you buy the cards with in game point, which can be won by winning game. No ingame purchasses XD

[Cards: 15x]:
  πŸ“¦[🚫][Cost: 150πŸͺ™]
  πŸ“¦[βšͺ][Cost: 250πŸͺ™]
πŸ” πŸ“¦[πŸ”΅][Cost: 250πŸͺ™]
  πŸ“¦[⚫][Cost: 250πŸͺ™]
  πŸ“¦[πŸ”΄][Cost: 250πŸͺ™]
  πŸ“¦[🟒][Cost: 250πŸͺ™]
 
  πŸšͺ[MAIN MENU]

Settings View4

Settings:
 πŸ” Text Only [Off]
 βš™οΈ Sound Effect [Off]
 βš™οΈ Text Color [On]
 
 πŸšͺ[MAIN MENU]
 

Symbols emoji and therm used

Symbols:
Tapped ⬛
Creature 🟫
Instant or Sorcery Or Artefact Or Enchantment 🟧
Cursor/Slection πŸ” (Alternative cursor idea πŸ‘‡πŸ‘†πŸ‘‰πŸ€šπŸ’  )
Colorless +
Attacking πŸ—‘οΈ
Blocking πŸ›‘οΈ
Colorless 🚫
Mana card πŸŸͺ
Back πŸ”³
Mytic Rare 🌟
Rare ⭐
Uncomun πŸ₯‡

I also found these character emoji: πŸ§™πŸ§™β€β™€οΈπŸ§™β€β™‚οΈπŸ§πŸ§β€β™€οΈπŸ§β€β™‚οΈπŸ§›πŸ§›β€β™€οΈπŸ§›β€β™‚οΈπŸ§ŸπŸ§Ÿβ€β™€οΈπŸ§Ÿβ€β™‚οΈ



Therm: P&T = Power and Taughness

Game default key bindings πŸ–±οΈ ⌨️


## An option to customise or swap these default key bindings should be profided in the form of a config file or settings page, eventually.

# Controlle options
w = want selection (select what is selected by the cursor)
a = action (attacking/blocking/activating a spell)
s = skip (will skip to the next phase)
d = end turn (will skip all remaining phases)

# Move cursor
h = left
j = down
k = up
l = right

Help Needed!

I really want to play an tcg-like alternative game on linux, so please do your best to contribute if you can!

Read the task-list to see the priority. This project only accept clear, organized and well commented code. You can also submit suggestion and idea, as long as they are unambiguous and well developed.

WE NEED YOU

You feedback is welcome.

Owner
Amos
...
Amos
A Python module for communicating with the Twilio API and generating TwiML.

twilio-python The default branch name for this repository has been changed to main as of 07/27/2020. Documentation The documentation for the Twilio AP

Twilio 1.6k Jan 05, 2023
This bot will send you an email or notify you via telegram & discord if dolar/lira parity breaks a record.

Dolar Rekor KΔ±rdΔ± MΔ±? This bot will send you an email or notify you via Telegram & Discord if Dolar/Lira parity breaks a record. Mailgun can be used a

Yiğit Gâktuğ Budanur 2 Oct 14, 2021
Telegram vc - A bot that can play music on telegram group's voice call

Telegram Voice Chat Bot A bot that can play music on telegram group's voice call

1 Jan 02, 2022
This is new discord nitro generator for discord

Hello! This is new discord nitro generator for discord. If you want use it, To generator i added checker for no seraching generator and checker. This tool maked by .

ItzBolt 1 Jan 16, 2022
One version package to rule them all, One version package to find them, One version package to bring them all, and in the darkness bind them.

AwesomeVersion One version package to rule them all, One version package to find them, One version package to bring them all, and in the darkness bind

Joakim SΓΈrensen 39 Dec 31, 2022
A script to forward mass number of media to another group/channel. Heroku deploy

Telegram Forward Script πŸ˜‡ This is a Script to Forward Large Number of Files to Another Telegram Channel. Star ΰΆ‘ΰΆšΰΆšΰ·Š ࢯාࢽ fork ΰΆ‘ΰΆšΰΆšΰ·Š ΰΆœΰ·„ΰΆ΄ΰ·’ΰΆΊΰ·€ΰ·Š πŸ₯΄ If You Tr

Anjana Madu 17 Oct 21, 2022
Dns-Client-Server - Dns Client Server For Python

Dns-client-server DNS Server: supporting all types of queries and replies. Shoul

Nishant Badgujar 1 Feb 15, 2022
Herramienta para transferir eventos de Sucuri WAF hacia Azure Data Tables.

Transfiere eventos de Sucuri hacia Azure Data Tables Script para transferir eventos del Sucuri Web Application Firewall (WAF) hacia Azure Data Tables,

CSIRT-RD 1 Dec 22, 2021
This is a very simple botnet with a CnC server, made by me. Feel free to change anything

This is a very simple botnet with a CnC server, made by me. Feel free to change anything

8 Nov 12, 2022
A Powerful, Smart And Advance Group Manager ... Written with AioGram , Pyrogram and Telethon...

❀️ Shadow ❀️ A Powerful, Smart And Advance Group Manager ... Written with AioGram , Pyrogram and Telethon... ⭐️ Thanks to everyone who starred Shadow,

TeamShadow 17 Oct 21, 2022
nuub-bot is a multi-purpose designed and developed in python3

nuub-bot About Nuub-Bot is an open source, fully customizable Discord bot that is constantly growing. You can invite it to your Discord server using t

Baneet Parmar 8 Jun 28, 2022
Threat Intel Platform for T-POTs

T-Pot 20.06 runs on Debian (Stable), is based heavily on docker, docker-compose

Deutsche Telekom Security GmbH 4.3k Jan 07, 2023
A Discord bot that may save your day by predicting it.

Sage A Discord bot that may save your day by predicting it.

1 Nov 17, 2022
You have 3 files: create mass groups, add mass members, rename all groups (only educational use!)

EDUCATIONAL ONLY! HOW TO INSTALL Edit config.json with your discord account token and the imagepath (if its in the same location as the all_together.p

46 Dec 27, 2022
Host your Python Discord Bot 24/7 for free. POC

πŸ‰ Pandore πŸ‰ The easiest and fastest way to host your Python3 Discord Bot 24/7 for free! πŸ“š Documentation πŸ“š If you encounter any problem while using

Billy 73 Jan 02, 2023
A fun hangman style game to guess random movie names with a short summary about the movie.

hang-movie-man Hangman but for movies πŸ˜‰ This is a fun hangman style game to guess random movie names from the local database and show some summary ab

Ankit Josh 10 Sep 07, 2022
Disctopia-c2 - Windows Backdoor that is controlled through Discord

Disctopia Disctopia Command and Control What is Disctopia? Disctopia is an open

Dimitris Kalopisis 218 Dec 26, 2022
Convenient script for trading with python.

Convenient script for trading with python.

VladKochetov007 66 Dec 07, 2022
Holly β™₯️ is usefull group management bot in telegram πŸŽ‹

Holly β™₯️ is usefull group management bot in telegram πŸŽ‹

Kasun bandara 1 Dec 03, 2021
Autofill HZDR Zeitman entries

Zeitman_autofill Filling out Zeitman is boring. This script might make some of the pain go away. Requirements The selenium package and Chrome webdrive

Tim Callow 8 Mar 14, 2022